diff --git a/backend/docs/docs.go b/backend/docs/docs.go index ac1589c..8026f58 100644 --- a/backend/docs/docs.go +++ b/backend/docs/docs.go @@ -19,117 +19,19 @@ const docTemplate = `{ "host": "{{.Host}}", "basePath": "{{.BasePath}}", "paths": { - "/login": { - "post": { - "description": "logs the user in and returns a jwt token", - "consumes": [ - "application/json" - ], - "produces": [ - "text/plain" - ], - "tags": [ - "User" - ], - "summary": "login", - "parameters": [ - { - "description": "login info", - "name": "NewUser", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/types.NewUser" - } - } - ], - "responses": { - "200": { - "description": "Successfully signed token for user", - "schema": { - "type": "Token" - } - }, - "400": { - "description": "Bad request", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "type": "string" - } - }, - "500": { - "description": "Internal server error", - "schema": { - "type": "string" - } - } - } - } - }, - "/loginerenew": { - "post": { - "description": "renews the users token", - "consumes": [ - "application/json" - ], - "produces": [ - "text/plain" - ], - "tags": [ - "User" - ], - "summary": "renews the users token", - "responses": { - "200": { - "description": "Successfully signed token for user", - "schema": { - "type": "Token" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "type": "string" - } - }, - "500": { - "description": "Internal server error", - "schema": { - "type": "string" - } - } - } - } - }, - "/register": { + "/api/register": { "post": { "description": "Register a new user", "consumes": [ "application/json" ], "produces": [ - "text/plain" + "application/json" ], "tags": [ "User" ], "summary": "Register a new user", - "parameters": [ - { - "description": "User to register", - "name": "NewUser", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/types.NewUser" - } - } - ], "responses": { "200": { "description": "User added", @@ -151,60 +53,6 @@ const docTemplate = `{ } } } - }, - "/userdelete/{username}": { - "delete": { - "description": "UserDelete deletes a user from the database", - "consumes": [ - "application/json" - ], - "produces": [ - "text/plain" - ], - "tags": [ - "User" - ], - "summary": "Deletes a user", - "responses": { - "200": { - "description": "User deleted", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "type": "string" - } - }, - "403": { - "description": "You can only delete yourself", - "schema": { - "type": "string" - } - }, - "500": { - "description": "Internal server error", - "schema": { - "type": "string" - } - } - } - } - } - }, - "definitions": { - "types.NewUser": { - "type": "object", - "properties": { - "password": { - "type": "string" - }, - "username": { - "type": "string" - } - } } }, "externalDocs": { diff --git a/backend/internal/handlers/handlers_user_related.go b/backend/internal/handlers/handlers_user_related.go index 1d94270..8f4108c 100644 --- a/backend/internal/handlers/handlers_user_related.go +++ b/backend/internal/handlers/handlers_user_related.go @@ -16,12 +16,11 @@ import ( // @Description Register a new user // @Tags User // @Accept json -// @Produce plain -// @Param NewUser body types.NewUser true "User to register" -// @Success 200 {string} string "User added" -// @Failure 400 {string} string "Bad request" -// @Failure 500 {string} string "Internal server error" -// @Router /register [post] +// @Produce json +// @Success 200 {string} string "User added" +// @Failure 400 {string} string "Bad request" +// @Failure 500 {string} string "Internal server error" +// @Router /api/register [post] func (gs *GState) Register(c *fiber.Ctx) error { u := new(types.NewUser) if err := c.BodyParser(u); err != nil { @@ -41,17 +40,6 @@ func (gs *GState) Register(c *fiber.Ctx) error { // This path should obviously be protected in the future // UserDelete deletes a user from the database -// -// @Summary Deletes a user -// @Description UserDelete deletes a user from the database -// @Tags User -// @Accept json -// @Produce plain -// @Success 200 {string} string "User deleted" -// @Failure 403 {string} string "You can only delete yourself" -// @Failure 500 {string} string "Internal server error" -// @Failure 401 {string} string "Unauthorized" -// @Router /userdelete/{username} [delete] func (gs *GState) UserDelete(c *fiber.Ctx) error { // Read from path parameters username := c.Params("username") @@ -74,21 +62,8 @@ func (gs *GState) UserDelete(c *fiber.Ctx) error { } // Login is a simple login handler that returns a JWT token -// -// @Summary login -// @Description logs the user in and returns a jwt token -// @Tags User -// @Accept json -// @Param NewUser body types.NewUser true "login info" -// @Produce plain -// @Success 200 Token types.Token "Successfully signed token for user" -// @Failure 400 {string} string "Bad request" -// @Failure 401 {string} string "Unauthorized" -// @Failure 500 {string} string "Internal server error" -// @Router /login [post] func (gs *GState) Login(c *fiber.Ctx) error { // The body type is identical to a NewUser - u := new(types.NewUser) if err := c.BodyParser(u); err != nil { log.Warn("Error parsing body") @@ -119,21 +94,11 @@ func (gs *GState) Login(c *fiber.Ctx) error { return c.SendStatus(fiber.StatusInternalServerError) } - println("Successfully signed token for user:", u.Username) - return c.JSON(types.Token{Token: t}) + log.Info("Successfully signed token for user:", u.Username) + return c.JSON(fiber.Map{"token": t}) } // LoginRenew is a simple handler that renews the token -// -// @Summary renews the users token -// @Description renews the users token -// @Tags User -// @Accept json -// @Produce plain -// @Success 200 Token types.Token "Successfully signed token for user" -// @Failure 401 {string} string "Unauthorized" -// @Failure 500 {string} string "Internal server error" -// @Router /loginerenew [post] func (gs *GState) LoginRenew(c *fiber.Ctx) error { user := c.Locals("user").(*jwt.Token) @@ -154,7 +119,7 @@ func (gs *GState) LoginRenew(c *fiber.Ctx) error { } log.Info("Successfully renewed token for user:", user.Claims.(jwt.MapClaims)["name"]) - return c.JSON(types.Token{Token: t}) + return c.JSON(fiber.Map{"token": t}) } // ListAllUsers is a handler that returns a list of all users in the application database diff --git a/backend/internal/types/users.go b/backend/internal/types/users.go index d3f2170..e9dff67 100644 --- a/backend/internal/types/users.go +++ b/backend/internal/types/users.go @@ -27,8 +27,3 @@ type PublicUser struct { UserId string `json:"userId"` Username string `json:"username"` } - -// wrapper type for token -type Token struct { - Token string `json:"token"` -}