diff --git a/docs/docs.go b/docs/docs.go index 47e55ea..8f908f6 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -177,6 +177,46 @@ const docTemplate = `{ } } }, + "/user/auth/current-session": { + "get": { + "security": [ + { + "BearerAuth": [] + } + ], + "description": "Возвращает информацию о текущей сессии пользователя", + "tags": [ + "Users" + ], + "summary": "Возвращает информацию о текущей сессии пользователя", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/shared.CurrentSession" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/responses.ErrorResponse400" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/responses.ErrorResponse401" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/responses.ErrorResponse500" + } + } + } + } + }, "/user/auth/login": { "post": { "description": "Логин", @@ -304,6 +344,17 @@ const docTemplate = `{ } } }, + "shared.CurrentSession": { + "type": "object", + "properties": { + "expires": { + "type": "string" + }, + "uuid": { + "type": "string" + } + } + }, "user.Info": { "type": "object", "properties": { diff --git a/docs/swagger.json b/docs/swagger.json index 0da1ee1..04dc6da 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -169,6 +169,46 @@ } } }, + "/user/auth/current-session": { + "get": { + "security": [ + { + "BearerAuth": [] + } + ], + "description": "Возвращает информацию о текущей сессии пользователя", + "tags": [ + "Users" + ], + "summary": "Возвращает информацию о текущей сессии пользователя", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/shared.CurrentSession" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/responses.ErrorResponse400" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/responses.ErrorResponse401" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/responses.ErrorResponse500" + } + } + } + } + }, "/user/auth/login": { "post": { "description": "Логин", @@ -296,6 +336,17 @@ } } }, + "shared.CurrentSession": { + "type": "object", + "properties": { + "expires": { + "type": "string" + }, + "uuid": { + "type": "string" + } + } + }, "user.Info": { "type": "object", "properties": { diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 8cbb0c7..a8f1531 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -18,6 +18,13 @@ definitions: example: Internal Server Error type: string type: object + shared.CurrentSession: + properties: + expires: + type: string + uuid: + type: string + type: object user.Info: properties: created_at: @@ -163,6 +170,31 @@ paths: summary: Обновить информацию о пользователе tags: - Users + /user/auth/current-session: + get: + description: Возвращает информацию о текущей сессии пользователя + responses: + "200": + description: OK + schema: + $ref: '#/definitions/shared.CurrentSession' + "400": + description: Bad Request + schema: + $ref: '#/definitions/responses.ErrorResponse400' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/responses.ErrorResponse401' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/responses.ErrorResponse500' + security: + - BearerAuth: [] + summary: Возвращает информацию о текущей сессии пользователя + tags: + - Users /user/auth/login: post: consumes: diff --git a/internal/api/user/controller.go b/internal/api/user/controller.go index 016ded0..212865a 100644 --- a/internal/api/user/controller.go +++ b/internal/api/user/controller.go @@ -159,10 +159,10 @@ func (co *controller) delete(c *gin.Context) { // @Description Логин // @Tags Users - auth // @Accept json -// @Param body body Login true "логин" -// @Success 200 {object} LoginResponse -// @Failure 400 {object} responses.ErrorResponse400 -// @Failure 500 {object} responses.ErrorResponse500 +// @Param body body Login true "логин" +// @Success 200 {object} LoginResponse +// @Failure 400 {object} responses.ErrorResponse400 +// @Failure 500 {object} responses.ErrorResponse500 // @Router /user/auth/login [post] func (co *controller) login(c *gin.Context) { var login Login @@ -197,8 +197,8 @@ func (co *controller) login(c *gin.Context) { // @Description Логаут. Для логаута надо передать refresh token, он будет инвалидирован. // @Tags Users - auth // @Success 200 -// @Failure 400 {object} responses.ErrorResponse400 -// @Failure 500 {object} responses.ErrorResponse500 +// @Failure 400 {object} responses.ErrorResponse400 +// @Failure 500 {object} responses.ErrorResponse500 // @Router /user/auth/logout [post] func (co *controller) logout(c *gin.Context) { refreshUuid, err := co.utils.GetRefreshUuidFromContext(c) @@ -220,9 +220,9 @@ func (co *controller) logout(c *gin.Context) { // @Summary Обновление аксесс токена по рефреш токену. // @Description Принимает рефреш токен в http only куки // @Tags Users - auth -// @Success 200 {object} LoginResponse -// @Failure 400 {object} responses.ErrorResponse400 -// @Failure 500 {object} responses.ErrorResponse500 +// @Success 200 {object} LoginResponse +// @Failure 400 {object} responses.ErrorResponse400 +// @Failure 500 {object} responses.ErrorResponse500 // @Router /user/auth/refresh [post] func (co *controller) refresh(c *gin.Context) { refreshUuid, err := co.utils.GetRefreshUuidFromContext(c) @@ -256,10 +256,10 @@ func (co *controller) refresh(c *gin.Context) { // @Description Возвращает информацию о текущей сессии пользователя // @Tags Users // @Security BearerAuth -// @Success 200 {object} shared.CurrentSession -// @Failure 400 {object} responses.ErrorResponse400 -// @Failure 401 {object} responses.ErrorResponse401 -// @Failure 500 {object} responses.ErrorResponse500 +// @Success 200 {object} shared.CurrentSession +// @Failure 400 {object} responses.ErrorResponse400 +// @Failure 401 {object} responses.ErrorResponse401 +// @Failure 500 {object} responses.ErrorResponse500 // @Router /user/auth/current-session [get] func (co *controller) getCurrentSession(c *gin.Context) { refreshUuid, err := co.utils.GetRefreshUuidFromContext(c)