diff --git a/http-tests/user.http b/http-tests/user.http new file mode 100644 index 0000000..13ee190 --- /dev/null +++ b/http-tests/user.http @@ -0,0 +1,16 @@ +### Authorization by token, part 1. Retrieve and save token. +POST http://localhost:1073/api/v1/user/auth +Content-Type: application/json + +{ + "username": "admin", + "password": "admin" +} + +> {% client.global.set("auth_token", response.body.token); %} + +### Authorization by token, part 2. Use token to authorize. +GET http://localhost:1073/api/v1/user +Authorization: Bearer {{auth_token}} + +### \ No newline at end of file diff --git a/pkg/models/user.go b/pkg/models/user.go index a6f2f0e..18b3efe 100644 --- a/pkg/models/user.go +++ b/pkg/models/user.go @@ -104,15 +104,20 @@ func GetUserByID(id int64) (user *User, err error) { } // GetUser gets a user object -func GetUser(user *User) (userOut *User, err error) { - userOut = user - exists, err := x.Get(&userOut) +func GetUser(user *User) (*User, error) { + exists, err := x.Get(user) + + fmt.Println(user, err, exists) + + if err != nil { + return &User{}, err + } if !exists { return &User{}, ErrUserDoesNotExist{UserID: user.ID} } - return userOut, err + return user, err } // CheckUserCredentials checks user credentials @@ -123,6 +128,7 @@ func CheckUserCredentials(u *UserLogin) (*User, error) { } // Check if the user exists + fmt.Println(u) user, err := GetUser(&User{Username: u.Username}) if err != nil { return &User{}, err diff --git a/pkg/routes/routes.go b/pkg/routes/routes.go index 12e8b60..bf21f91 100644 --- a/pkg/routes/routes.go +++ b/pkg/routes/routes.go @@ -94,7 +94,7 @@ func RegisterRoutes(e *echo.Echo) { // Swagger UI a.GET("/swagger/*", echoSwagger.WrapHandler) - a.POST("/login", apiv1.Login) + a.POST("/user/auth", apiv1.Login) // ===== Routes with Authetification ===== // Authetification