{ "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" } } } } }