From 229eebcf666da895c61888f97f03e81caf8ccb72 Mon Sep 17 00:00:00 2001 From: nquidox Date: Fri, 20 Mar 2026 16:13:25 +0300 Subject: [PATCH] swagger docs update --- docs/docs.go | 171 ++++++++++++++++++++++++++++++++---- docs/swagger.json | 171 ++++++++++++++++++++++++++++++++---- docs/swagger.yaml | 112 ++++++++++++++++++++--- internal/user/controller.go | 11 ++- 4 files changed, 411 insertions(+), 54 deletions(-) diff --git a/docs/docs.go b/docs/docs.go index 57671d3..693df79 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -482,7 +482,7 @@ const docTemplate = `{ "schema": { "type": "array", "items": { - "$ref": "#/definitions/merch.ListResponse" + "$ref": "#/definitions/merch.listResponse" } } }, @@ -780,6 +780,56 @@ const docTemplate = `{ } }, "/merch/{uuid}": { + "get": { + "security": [ + { + "BearerAuth": [] + } + ], + "description": "Получить всю информацию про мерч по его uuid", + "produces": [ + "application/json" + ], + "tags": [ + "Merch" + ], + "summary": "Получить всю информацию про мерч", + "parameters": [ + { + "type": "string", + "description": "merch_uuid", + "name": "uuid", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/merch.singleMerchResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/responses.BadRequest" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/responses.Unauthorized" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/responses.InternalServerError" + } + } + } + }, "put": { "description": "Update merch general info (except extra data)", "consumes": [ @@ -984,6 +1034,74 @@ const docTemplate = `{ } } } + }, + "/user": { + "post": { + "description": "Adds local user record based on user uuid from auth service", + "consumes": [ + "application/json" + ], + "tags": [ + "User" + ], + "summary": "Create new user", + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/responses.BadRequest" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/responses.Unauthorized" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/responses.InternalServerError" + } + } + } + }, + "delete": { + "description": "Marks user as deleted by user uuid", + "consumes": [ + "application/json" + ], + "tags": [ + "User" + ], + "summary": "Delete user", + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/responses.BadRequest" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/responses.Unauthorized" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/responses.InternalServerError" + } + } + } + } } }, "definitions": { @@ -1040,23 +1158,6 @@ const docTemplate = `{ } } }, - "merch.ListResponse": { - "type": "object", - "properties": { - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "merch_uuid": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, "merch.OriginWithPrices": { "type": "object", "properties": { @@ -1141,6 +1242,23 @@ const docTemplate = `{ } } }, + "merch.listResponse": { + "type": "object", + "properties": { + "labels": { + "type": "array", + "items": { + "type": "string" + } + }, + "merch_uuid": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, "merch.merchDTO": { "type": "object", "properties": { @@ -1213,6 +1331,23 @@ const docTemplate = `{ } } }, + "merch.singleMerchResponse": { + "type": "object", + "properties": { + "merch_uuid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "origins": { + "type": "array", + "items": { + "$ref": "#/definitions/merch.originLink" + } + } + } + }, "merch.updateMerchDTO": { "type": "object", "properties": { diff --git a/docs/swagger.json b/docs/swagger.json index f663ad2..578aed8 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -475,7 +475,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/definitions/merch.ListResponse" + "$ref": "#/definitions/merch.listResponse" } } }, @@ -773,6 +773,56 @@ } }, "/merch/{uuid}": { + "get": { + "security": [ + { + "BearerAuth": [] + } + ], + "description": "Получить всю информацию про мерч по его uuid", + "produces": [ + "application/json" + ], + "tags": [ + "Merch" + ], + "summary": "Получить всю информацию про мерч", + "parameters": [ + { + "type": "string", + "description": "merch_uuid", + "name": "uuid", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/merch.singleMerchResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/responses.BadRequest" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/responses.Unauthorized" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/responses.InternalServerError" + } + } + } + }, "put": { "description": "Update merch general info (except extra data)", "consumes": [ @@ -977,6 +1027,74 @@ } } } + }, + "/user": { + "post": { + "description": "Adds local user record based on user uuid from auth service", + "consumes": [ + "application/json" + ], + "tags": [ + "User" + ], + "summary": "Create new user", + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/responses.BadRequest" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/responses.Unauthorized" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/responses.InternalServerError" + } + } + } + }, + "delete": { + "description": "Marks user as deleted by user uuid", + "consumes": [ + "application/json" + ], + "tags": [ + "User" + ], + "summary": "Delete user", + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/responses.BadRequest" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/responses.Unauthorized" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/responses.InternalServerError" + } + } + } + } } }, "definitions": { @@ -1033,23 +1151,6 @@ } } }, - "merch.ListResponse": { - "type": "object", - "properties": { - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "merch_uuid": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, "merch.OriginWithPrices": { "type": "object", "properties": { @@ -1134,6 +1235,23 @@ } } }, + "merch.listResponse": { + "type": "object", + "properties": { + "labels": { + "type": "array", + "items": { + "type": "string" + } + }, + "merch_uuid": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, "merch.merchDTO": { "type": "object", "properties": { @@ -1206,6 +1324,23 @@ } } }, + "merch.singleMerchResponse": { + "type": "object", + "properties": { + "merch_uuid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "origins": { + "type": "array", + "items": { + "$ref": "#/definitions/merch.originLink" + } + } + } + }, "merch.updateMerchDTO": { "type": "object", "properties": { diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 90c5e69..447afe7 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -34,17 +34,6 @@ definitions: name: type: string type: object - merch.ListResponse: - properties: - labels: - items: - type: string - type: array - merch_uuid: - type: string - name: - type: string - type: object merch.OriginWithPrices: properties: origin: @@ -99,6 +88,17 @@ definitions: merch_uuid: type: string type: object + merch.listResponse: + properties: + labels: + items: + type: string + type: array + merch_uuid: + type: string + name: + type: string + type: object merch.merchDTO: properties: created_at: @@ -145,6 +145,17 @@ definitions: $ref: '#/definitions/merch.originItem' type: array type: object + merch.singleMerchResponse: + properties: + merch_uuid: + type: string + name: + type: string + origins: + items: + $ref: '#/definitions/merch.originLink' + type: array + type: object merch.updateMerchDTO: properties: merch_uuid: @@ -205,6 +216,38 @@ paths: summary: Delete merch tags: - Merch + get: + description: Получить всю информацию про мерч по его uuid + parameters: + - description: merch_uuid + in: path + name: uuid + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/merch.singleMerchResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/responses.BadRequest' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/responses.Unauthorized' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/responses.InternalServerError' + security: + - BearerAuth: [] + summary: Получить всю информацию про мерч + tags: + - Merch put: consumes: - application/json @@ -541,7 +584,7 @@ paths: description: OK schema: items: - $ref: '#/definitions/merch.ListResponse' + $ref: '#/definitions/merch.listResponse' type: array "204": description: No Content @@ -804,4 +847,49 @@ paths: summary: Получить перепады цен мерча за период по его merch_uuid tags: - Merch + /user: + delete: + consumes: + - application/json + description: Marks user as deleted by user uuid + responses: + "204": + description: No Content + "400": + description: Bad Request + schema: + $ref: '#/definitions/responses.BadRequest' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/responses.Unauthorized' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/responses.InternalServerError' + summary: Delete user + tags: + - User + post: + consumes: + - application/json + description: Adds local user record based on user uuid from auth service + responses: + "201": + description: Created + "400": + description: Bad Request + schema: + $ref: '#/definitions/responses.BadRequest' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/responses.Unauthorized' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/responses.InternalServerError' + summary: Create new user + tags: + - User swagger: "2.0" diff --git a/internal/user/controller.go b/internal/user/controller.go index 1e491b4..f6a73e1 100644 --- a/internal/user/controller.go +++ b/internal/user/controller.go @@ -33,13 +33,13 @@ func (h *Handler) RegisterRoutes(r *gin.RouterGroup) { // // @Summary Create new user // @Description Adds local user record based on user uuid from auth service -// @Tags Merch +// @Tags User // @Accept json // @Success 201 // @Failure 400 {object} responses.BadRequest // @Failure 401 {object} responses.Unauthorized // @Failure 500 {object} responses.InternalServerError -// @Router /merch/create [POST] +// @Router /user [POST] func (co *controller) create(c *gin.Context) { u, err := co.utils.GetUserUuidFromContext(c) if err != nil { @@ -57,18 +57,17 @@ func (co *controller) create(c *gin.Context) { c.Status(http.StatusCreated) } -// deleteMerch godoc +// delete godoc // // @Summary Delete user // @Description Marks user as deleted by user uuid -// @Tags Merch +// @Tags User // @Accept json -// @Param uuid path string true "merch uuid" // @Success 204 // @Failure 400 {object} responses.BadRequest // @Failure 401 {object} responses.Unauthorized // @Failure 500 {object} responses.InternalServerError -// @Router /merch/{uuid} [DELETE] +// @Router /user [DELETE] func (co *controller) delete(c *gin.Context) { u, err := co.utils.GetUserUuidFromContext(c) if err != nil {