update api.go, auth.go, docs.go, handler.go, service.go, swagger.json, swagger.yaml

This commit is contained in:
redtea committed 2024-10-25 12:00:00 +03:00
1 parent 4c8b4e9fce
commit 362a6d1041
7 files changed
+1564

No files matched your search

+389
View File
@@ -0,0 +1,389 @@
{
"swagger": "2.0",
"info": {
"description": "Auth server for EasyStartup.",
"title": "EasyStartup Auth",
"contact": {
"name": "API Support",
"email": "red.tea.dev@gmail.com"
},
"version": "1.0"
},
"host": "auth.easystartup.su",
"basePath": "/api",
"paths": {
"/api/user": {
"put": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Create new user",
"parameters": [
{
"description": "User data in JSON",
"name": "user",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/esauth.User"
}
},
{
"type": "string",
"description": "JWT Bearer token (authorization)",
"name": "Authorization",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/esauth.User"
}
}
}
}
},
"/api/user/all": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Get ids of users",
"parameters": [
{
"type": "integer",
"description": "limit of users size",
"name": "limit",
"in": "query",
"required": true
},
{
"type": "integer",
"description": "select offset",
"name": "start",
"in": "query",
"required": true
},
{
"type": "string",
"description": "JWT Bearer token (authorization)",
"name": "Authorization",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
}
},
"/api/user/count": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Get count of users",
"parameters": [
{
"type": "string",
"description": "JWT Bearer token (authorization)",
"name": "Authorization",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/handler.countResponse"
}
}
}
}
},
"/api/user/infinity-token": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Create infinity token (only for admin)",
"parameters": [
{
"type": "string",
"description": "JWT Bearer token (authorization)",
"name": "Authorization",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/handler.infinityTokenResponce"
}
}
}
}
},
"/api/user/self": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Get current user",
"parameters": [
{
"type": "string",
"description": "JWT Bearer token (authorization)",
"name": "Authorization",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/esauth.User"
}
}
}
},
"post": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Edit user",
"parameters": [
{
"description": "User description JSON",
"name": "user",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/handler.editInput"
}
},
{
"type": "string",
"description": "JWT Bearer token (authorization)",
"name": "Authorization",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/esauth.User"
}
}
}
}
},
"/api/user/{user}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Get user by id",
"parameters": [
{
"type": "integer",
"description": "search user by id",
"name": "user",
"in": "path",
"required": true
},
{
"type": "string",
"description": "JWT Bearer token (authorization)",
"name": "Authorization",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/esauth.User"
}
}
}
},
"post": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Edit user by id",
"parameters": [
{
"type": "integer",
"description": "edit user by id",
"name": "user",
"in": "path",
"required": true
},
{
"description": "User data in JSON",
"name": "user",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/esauth.User"
}
},
{
"type": "string",
"description": "JWT Bearer token (authorization)",
"name": "Authorization",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/esauth.User"
}
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Delete user by id",
"parameters": [
{
"type": "integer",
"description": "id of user",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "JWT Bearer token (authorization)",
"name": "Authorization",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
}
},
"definitions": {
"esauth.User": {
"type": "object",
"properties": {
"access": {
"type": "string"
},
"email": {
"type": "string"
},
"first_name": {
"type": "string"
},
"google_id": {
"type": "string"
},
"id": {
"type": "integer"
},
"last_name": {
"type": "string"
},
"picture_url": {
"type": "string"
},
"telegram_id": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"handler.countResponse": {
"type": "object",
"properties": {
"count": {
"type": "integer"
}
}
},
"handler.editInput": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"picture_url": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"handler.infinityTokenResponce": {
"type": "object"
}
}
}