From 3e10a3542f70f23313fc6a43c41aaca518e3d344 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Thu, 13 Apr 2023 01:28:48 +0300 Subject: doc: swagger init for login and user routes (#34) --- docs/docs.go | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 290 insertions(+), 3 deletions(-) (limited to 'docs/docs.go') diff --git a/docs/docs.go b/docs/docs.go index b05b0ad..caa64bf 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -19,14 +19,301 @@ const docTemplate = `{ }, "host": "{{.Host}}", "basePath": "{{.BasePath}}", - "paths": {} + "paths": { + "/login": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "summary": "Get (redirect) login page for Steam auth.", + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/models.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.LoginResponse" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + } + }, + "/profile": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "summary": "Get profile page of session user.", + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/models.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.ProfileResponse" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/models.Response" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "summary": "Update country code of session user.", + "parameters": [ + { + "type": "string", + "description": "Country Code [XX]", + "name": "country_code", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/models.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.ProfileResponse" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/models.Response" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "summary": "Update profile page of session user.", + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/models.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.ProfileResponse" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/models.Response" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + } + }, + "/user/{id}": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "summary": "Get profile page of another user.", + "parameters": [ + { + "type": "integer", + "description": "User ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/models.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.ProfileResponse" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/models.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + } + } + }, + "definitions": { + "models.LoginResponse": { + "type": "object", + "properties": { + "token": { + "type": "string" + } + } + }, + "models.ProfileResponse": { + "type": "object", + "properties": { + "avatar_link": { + "type": "string" + }, + "country_code": { + "type": "string" + }, + "profile": { + "type": "boolean" + }, + "scores_mp": { + "type": "array", + "items": { + "$ref": "#/definitions/models.ScoreResponse" + } + }, + "scores_sp": { + "type": "array", + "items": { + "$ref": "#/definitions/models.ScoreResponse" + } + }, + "steam_id": { + "type": "string" + }, + "username": { + "type": "string" + } + } + }, + "models.Response": { + "type": "object", + "properties": { + "data": {}, + "message": { + "type": "string" + }, + "success": { + "type": "boolean" + } + } + }, + "models.ScoreResponse": { + "type": "object", + "properties": { + "map_id": { + "type": "integer" + }, + "records": {} + } + } + } }` // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ Version: "1.0", - Host: "localhost:4000", - BasePath: "", + Host: "localhost:4000/api", + BasePath: "/v1", Schemes: []string{}, Title: "Least Portals Database API", Description: "Backend API endpoints for Least Portals Database.", -- cgit v1.2.3