diff --git a/docs/docs.go b/docs/docs.go index c58d8d0..228408d 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -132,6 +132,43 @@ const docTemplate = `{ } } }, + "/auth/logout": { + "post": { + "security": [ + { + "BearerAuth": [] + } + ], + "description": "Logout current user and revoke tokens", + "produces": [ + "application/json" + ], + "tags": [ + "auth" + ], + "summary": "Logout user", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" + } + } + } + } + }, "/auth/refresh": { "post": { "security": [ diff --git a/docs/swagger.json b/docs/swagger.json index df85aec..6e514b7 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -125,6 +125,43 @@ } } }, + "/auth/logout": { + "post": { + "security": [ + { + "BearerAuth": [] + } + ], + "description": "Logout current user and revoke tokens", + "produces": [ + "application/json" + ], + "tags": [ + "auth" + ], + "summary": "Logout user", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" + } + } + } + } + }, "/auth/refresh": { "post": { "security": [ diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 01d43aa..7e710c6 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -264,6 +264,29 @@ paths: summary: Initiate Google OAuth2 login tags: - Auth + /auth/logout: + post: + description: Logout current user and revoke tokens + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/history-api_internal_dtos_response.CommonResponse' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/history-api_internal_dtos_response.CommonResponse' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/history-api_internal_dtos_response.CommonResponse' + security: + - BearerAuth: [] + summary: Logout user + tags: + - auth /auth/refresh: post: consumes: diff --git a/internal/controllers/authController.go b/internal/controllers/authController.go index 57d6ef6..6d5adee 100644 --- a/internal/controllers/authController.go +++ b/internal/controllers/authController.go @@ -433,6 +433,16 @@ func (h *AuthController) GoogleCallback(c fiber.Ctx) error { return c.Redirect().To(redirectURL) } +// Logout godoc +// @Summary Logout user +// @Description Logout current user and revoke tokens +// @Tags auth +// @Security BearerAuth +// @Produce json +// @Success 200 {object} response.CommonResponse +// @Failure 401 {object} response.CommonResponse +// @Failure 500 {object} response.CommonResponse +// @Router /auth/logout [post] func (h *AuthController) Logout(c fiber.Ctx) error { ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel()