diff --git a/api/user/other.go b/api/user/other.go index ee84d7f..26f88ac 100644 --- a/api/user/other.go +++ b/api/user/other.go @@ -16,12 +16,13 @@ import ( // @Tags User // @Accept json // @Produce json -// @Success 200 {object} utils.RespStatus{data=service_user.UserInfoData} "Successful profile retrieval" -// @Failure 403 {object} utils.RespStatus{data=nil} "Missing User ID / Unauthorized" -// @Failure 404 {object} utils.RespStatus{data=nil} "User Not Found" -// @Failure 500 {object} utils.RespStatus{data=nil} "Internal Server Error (UUID Parse Failed)" +// @Param user_id path string true "Other user id" +// @Success 200 {object} utils.RespStatus{data=service_user.UserInfoData} "Successful profile retrieval" +// @Failure 403 {object} utils.RespStatus{data=nil} "Missing User ID / Unauthorized" +// @Failure 404 {object} utils.RespStatus{data=nil} "User Not Found" +// @Failure 500 {object} utils.RespStatus{data=nil} "Internal Server Error (UUID Parse Failed)" // @Security ApiKeyAuth -// @Router /user/info [get] +// @Router /user/info/{user_id} [get] func (self *UserHandler) Other(c *gin.Context) { userIdOrig := c.Param("user_id") diff --git a/docs/docs.go b/docs/docs.go index d07a48d..4c28009 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -968,6 +968,100 @@ const docTemplate = `{ } }, "/user/info": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "Fetches the complete profile data for the user associated with the provided session/token.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "User" + ], + "summary": "Get My User Information", + "responses": { + "200": { + "description": "Successful profile retrieval", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/utils.RespStatus" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/service_user.UserInfoData" + } + } + } + ] + } + }, + "403": { + "description": "Missing User ID / Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/utils.RespStatus" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "User Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/utils.RespStatus" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error (UUID Parse Failed)", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/utils.RespStatus" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + }, + "/user/info/{user_id}": { "get": { "security": [ { @@ -985,6 +1079,15 @@ const docTemplate = `{ "User" ], "summary": "Get Other User Information", + "parameters": [ + { + "type": "string", + "description": "Other user id", + "name": "user_id", + "in": "path", + "required": true + } + ], "responses": { "200": { "description": "Successful profile retrieval", diff --git a/docs/swagger.json b/docs/swagger.json index 54024c0..9d70fab 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -966,6 +966,100 @@ } }, "/user/info": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "Fetches the complete profile data for the user associated with the provided session/token.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "User" + ], + "summary": "Get My User Information", + "responses": { + "200": { + "description": "Successful profile retrieval", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/utils.RespStatus" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/service_user.UserInfoData" + } + } + } + ] + } + }, + "403": { + "description": "Missing User ID / Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/utils.RespStatus" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "User Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/utils.RespStatus" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error (UUID Parse Failed)", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/utils.RespStatus" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + }, + "/user/info/{user_id}": { "get": { "security": [ { @@ -983,6 +1077,15 @@ "User" ], "summary": "Get Other User Information", + "parameters": [ + { + "type": "string", + "description": "Other user id", + "name": "user_id", + "in": "path", + "required": true + } + ], "responses": { "200": { "description": "Successful profile retrieval", diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 9d39a78..1195719 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -718,6 +718,62 @@ paths: type: object security: - ApiKeyAuth: [] + summary: Get My User Information + tags: + - User + /user/info/{user_id}: + get: + consumes: + - application/json + description: Fetches the complete profile data for the user associated with + the provided session/token. + parameters: + - description: Other user id + in: path + name: user_id + required: true + type: string + produces: + - application/json + responses: + "200": + description: Successful profile retrieval + schema: + allOf: + - $ref: '#/definitions/utils.RespStatus' + - properties: + data: + $ref: '#/definitions/service_user.UserInfoData' + type: object + "403": + description: Missing User ID / Unauthorized + schema: + allOf: + - $ref: '#/definitions/utils.RespStatus' + - properties: + data: + type: object + type: object + "404": + description: User Not Found + schema: + allOf: + - $ref: '#/definitions/utils.RespStatus' + - properties: + data: + type: object + type: object + "500": + description: Internal Server Error (UUID Parse Failed) + schema: + allOf: + - $ref: '#/definitions/utils.RespStatus' + - properties: + data: + type: object + type: object + security: + - ApiKeyAuth: [] summary: Get Other User Information tags: - User