309 lines
9.3 KiB
JSON
309 lines
9.3 KiB
JSON
{
|
|
"schemes": [],
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "",
|
|
"title": "Golang 2025 Final Project",
|
|
"termsOfService": "http://swagger.io/terms",
|
|
"contact": {},
|
|
"license": {
|
|
"name": "0BSD"
|
|
},
|
|
"version": "0.0.1"
|
|
},
|
|
"host": "",
|
|
"basePath": "/",
|
|
"paths": {
|
|
"/api/alias/{id}": {
|
|
"delete": {
|
|
"description": "delete alias along with the links",
|
|
"summary": "Delete alias",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Alias Id",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/aliases": {
|
|
"get": {
|
|
"description": "get alias ids and names",
|
|
"summary": "Get aliases",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.getAliasesOutputAlias"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/image": {
|
|
"post": {
|
|
"consumes": [
|
|
"image/png",
|
|
"image/jpeg",
|
|
"image/gif"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "userinfo from /auth/gen-login-url",
|
|
"name": "userinfo",
|
|
"in": "header",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/image/{id}": {
|
|
"delete": {
|
|
"description": "delete image along with the links",
|
|
"summary": "Delete image",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Image Id",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/image/{id}/aliases": {
|
|
"put": {
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Image Id",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Payload",
|
|
"name": "payload",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.putImageAliasesInput"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/images": {
|
|
"get": {
|
|
"parameters": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"collectionFormat": "csv",
|
|
"description": "Image Ids",
|
|
"name": "images",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"collectionFormat": "csv",
|
|
"description": "Alias Ids",
|
|
"name": "aliases",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.getImagesOutputImage"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/gen-login-url": {
|
|
"post": {
|
|
"parameters": [
|
|
{
|
|
"description": "Payload",
|
|
"name": "payload",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/auth.postGenLoginUrlInput"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Payload",
|
|
"schema": {
|
|
"$ref": "#/definitions/auth.postGenLoginUrlOutput"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/login": {
|
|
"post": {
|
|
"parameters": [
|
|
{
|
|
"description": "payload",
|
|
"name": "payload",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/auth.postLoginInput"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"api.getAliasesOutputAlias": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.getImagesOutputImage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aliasesIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"uploadedAt": {
|
|
"type": "integer"
|
|
},
|
|
"uploadedUserId": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.putImageAliasesInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aliases": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"auth.postGenLoginUrlInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"userId": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"auth.postGenLoginUrlOutput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"loginUrl": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"auth.postLoginInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |