VILLASweb-backend-go/doc/api/docs.go

4088 lines
138 KiB
Go
Raw Permalink Normal View History

// Package api GENERATED BY SWAG; DO NOT EDIT
// This file was generated by swaggo/swag
package api
import "github.com/swaggo/swag"
const docTemplate = `{
"schemes": {{ marshal .Schemes }},
"swagger": "2.0",
"info": {
"description": "{{escape .Description}}",
"title": "{{.Title}}",
"contact": {
"name": "Institute for Automation of Complex Power Systems, RWTH Aachen University"
},
"license": {
"name": "GNU GPL 3.0",
"url": "http://www.gnu.de/documents/gpl-3.0.en.html"
},
"version": "{{.Version}}"
},
2019-11-13 20:52:58 +01:00
"host": "{{.Host}}",
"basePath": "{{.BasePath}}",
"paths": {
"/authenticate": {
2021-02-05 19:26:15 +01:00
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"authentication"
],
"summary": "Check if user is authenticated and provide details on how the user can authenticate",
"operationId": "authenticated",
"responses": {
"200": {
"description": "JSON web token, success status, message and authenticated user object",
"schema": {
"$ref": "#/definitions/api.ResponseAuthenticate"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error.",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/authenticate/{mechanism}": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"authentication"
],
"summary": "Authentication for user",
"operationId": "authenticate",
"parameters": [
{
"description": "loginRequest of user",
"name": "inputUser",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/user.loginRequest"
}
2021-02-05 19:26:15 +01:00
},
{
"enum": [
"internal",
"external"
],
"type": "string",
"description": "Login mechanism",
"name": "mechanism",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "JSON web token, success status, message and authenticated user object",
"schema": {
"$ref": "#/definitions/api.ResponseAuthenticate"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error.",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
2021-02-05 19:26:15 +01:00
"/config": {
"get": {
"produces": [
"application/json"
],
"tags": [
"config"
],
"summary": "Get config VILLASweb to be used by frontend",
"operationId": "config",
"responses": {
"200": {
"description": "The configuration",
"schema": {
"$ref": "#/definitions/config.Config"
}
}
}
}
},
"/configs": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"component-configurations"
],
"summary": "Get all component configurations of scenario",
"operationId": "getConfigs",
"parameters": [
{
"type": "integer",
"description": "Scenario ID",
"name": "scenarioID",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "Component configurations which belong to scenario",
"schema": {
"$ref": "#/definitions/api.ResponseConfigs"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"component-configurations"
],
"summary": "Add a component configuration to a scenario",
"operationId": "addConfig",
"parameters": [
{
"description": "component configuration to be added incl. IDs of scenario and IC",
"name": "inputConfig",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/component_configuration.addConfigRequest"
}
}
],
"responses": {
"200": {
"description": "Component configuration that was added",
"schema": {
"$ref": "#/definitions/api.ResponseConfig"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/configs/{configID}": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"component-configurations"
],
"summary": "Get a component configuration",
"operationId": "getConfig",
"parameters": [
{
"type": "integer",
"description": "Config ID",
"name": "configID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "component configuration that was requested",
"schema": {
"$ref": "#/definitions/api.ResponseConfig"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"component-configurations"
],
"summary": "Update a component configuration",
"operationId": "updateConfig",
"parameters": [
{
"description": "component configuration to be updated",
"name": "inputConfig",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/component_configuration.updateConfigRequest"
}
},
{
"type": "integer",
"description": "Config ID",
"name": "configID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Component configuration that was added",
"schema": {
"$ref": "#/definitions/api.ResponseConfig"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"component-configurations"
],
"summary": "Delete a component configuration",
"operationId": "deleteConfig",
"parameters": [
{
"type": "integer",
"description": "Config ID",
"name": "configID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "component configuration that was deleted",
"schema": {
"$ref": "#/definitions/api.ResponseConfig"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/dashboards": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"dashboards"
],
"summary": "Get all dashboards of scenario",
"operationId": "getDashboards",
"parameters": [
{
"type": "integer",
"description": "Scenario ID",
"name": "scenarioID",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "Dashboards which belong to scenario",
"schema": {
"$ref": "#/definitions/api.ResponseDashboards"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"dashboards"
],
"summary": "Add a dashboard to a scenario",
"operationId": "addDashboard",
"parameters": [
{
"description": "Dashboard to be added incl. ID of Scenario",
"name": "inputDab",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dashboard.addDashboardRequest"
}
}
],
"responses": {
"200": {
"description": "Dashboard that was added",
"schema": {
"$ref": "#/definitions/api.ResponseDashboard"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/dashboards/{dashboardID}": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"dashboards"
],
"summary": "Get a dashboard",
"operationId": "getDashboard",
"parameters": [
{
"type": "integer",
"description": "Dashboard ID",
"name": "dashboardID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Dashboard that was requested",
"schema": {
"$ref": "#/definitions/api.ResponseDashboard"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"dashboards"
],
"summary": "Update a dashboard",
"operationId": "updateDashboard",
"parameters": [
{
"description": "Dashboard to be updated",
"name": "inputDab",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dashboard.updateDashboardRequest"
}
},
{
"type": "integer",
"description": "Dashboard ID",
"name": "dashboardID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Dashboard that was updated",
"schema": {
"$ref": "#/definitions/api.ResponseDashboard"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"dashboards"
],
"summary": "Delete a dashboard",
"operationId": "deleteDashboard",
"parameters": [
{
"type": "integer",
"description": "Dashboard ID",
"name": "dashboardID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Dashboard that was deleted",
"schema": {
"$ref": "#/definitions/api.ResponseDashboard"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/files": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"files"
],
"summary": "Get all files of a specific scenario",
"operationId": "getFiles",
"parameters": [
{
"type": "integer",
"description": "Scenario ID",
"name": "scenarioID",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "Files which belong to scenario",
"schema": {
"$ref": "#/definitions/api.ResponseFiles"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"text/plain",
"image/png",
"image/jpeg",
"image/gif",
"model/x-cim",
"model/x-cim.zip",
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"files"
],
"summary": "Add a file to a specific scenario",
"operationId": "addFile",
"parameters": [
{
"type": "file",
"description": "File to be uploaded",
"name": "inputFile",
"in": "formData",
"required": true
},
{
"type": "integer",
"description": "ID of scenario to which file shall be added",
"name": "scenarioID",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "File that was added",
"schema": {
"$ref": "#/definitions/api.ResponseFile"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/files/{fileID}": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"text/plain",
2021-01-12 17:06:02 +01:00
"text/csv",
"application/gzip",
"application/x-gtar",
"application/x-tar",
"application/x-ustar",
"application/zip",
"application/msexcel",
"application/xml",
"application/x-bag",
"image/png",
"image/jpeg",
"image/gif",
"model/x-cim",
"model/x-cim.zip"
],
"tags": [
"files"
],
"summary": "Download a file",
"operationId": "getFile",
"parameters": [
{
"type": "integer",
"description": "ID of the file to download",
"name": "fileID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "File that was requested",
"schema": {
"$ref": "#/definitions/api.ResponseFile"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"text/plain",
"image/png",
"image/jpeg",
"image/gif",
"model/x-cim",
"model/x-cim.zip",
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"files"
],
"summary": "Update a file",
"operationId": "updateFile",
"parameters": [
{
"type": "file",
"description": "File to be uploaded",
"name": "inputFile",
"in": "formData",
"required": true
},
{
"type": "integer",
"description": "ID of the file to update",
"name": "fileID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "File that was updated",
"schema": {
"$ref": "#/definitions/api.ResponseFile"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"files"
],
"summary": "Delete a file",
"operationId": "deleteFile",
"parameters": [
{
"type": "integer",
"description": "ID of the file to update",
"name": "fileID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "File that was deleted",
"schema": {
"$ref": "#/definitions/api.ResponseFile"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/healthz": {
"get": {
"produces": [
"application/json"
],
"tags": [
"healthz"
],
"summary": "Get health status of backend",
"operationId": "getHealth",
"responses": {
"204": {
"description": "Backend is healthy, database and AMQP broker connections are alive",
"schema": {
"type": "string"
}
},
"500": {
"description": "Backend is NOT healthy",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/ic": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"infrastructure-components"
],
"summary": "Get all infrastructure components",
"operationId": "getICs",
"responses": {
"200": {
"description": "ICs requested",
"schema": {
"$ref": "#/definitions/api.ResponseICs"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"infrastructure-components"
],
"summary": "Add an infrastructure component",
"operationId": "addIC",
"parameters": [
{
"description": "Infrastructure Component to be added",
"name": "inputIC",
"in": "body",
"required": true,
"schema": {
2020-10-20 12:57:38 +02:00
"$ref": "#/definitions/infrastructure_component.AddICRequest"
}
}
],
"responses": {
"200": {
"description": "Infrastructure Component that was added",
"schema": {
"$ref": "#/definitions/api.ResponseIC"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/ic/{ICID}": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"infrastructure-components"
],
"summary": "Get infrastructure component",
"operationId": "getIC",
"parameters": [
{
"type": "integer",
"description": "Infrastructure Component ID",
"name": "ICID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Infrastructure Component that was requested",
"schema": {
"$ref": "#/definitions/api.ResponseIC"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"infrastructure-components"
],
"summary": "Update an infrastructure component",
"operationId": "updateIC",
"parameters": [
{
"description": "InfrastructureComponent to be updated",
"name": "inputIC",
"in": "body",
"required": true,
"schema": {
2020-10-20 12:57:38 +02:00
"$ref": "#/definitions/infrastructure_component.UpdateICRequest"
}
},
{
"type": "integer",
"description": "InfrastructureComponent ID",
"name": "ICID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Infrastructure Component that was updated",
"schema": {
"$ref": "#/definitions/api.ResponseIC"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"infrastructure-components"
],
"summary": "Delete an infrastructure component",
"operationId": "deleteIC",
"parameters": [
{
"type": "integer",
"description": "Infrastructure Component ID",
"name": "ICID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Infrastructure Component that was deleted",
"schema": {
"$ref": "#/definitions/api.ResponseIC"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/ic/{ICID}/action": {
"post": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
2020-11-11 16:34:06 +01:00
"infrastructure-components"
],
"summary": "Send an action to IC (only available if backend server is started with -amqp parameter)",
"operationId": "sendActionToIC",
"parameters": [
{
"type": "string",
"description": "Action for IC",
"name": "inputAction",
"in": "query",
"required": true
},
{
"type": "integer",
"description": "InfrastructureComponent ID",
"name": "ICID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Action sent successfully",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/ic/{ICID}/configs": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"infrastructure-components"
],
"summary": "Get all configurations of the infrastructure component",
"operationId": "getConfigsOfIC",
"parameters": [
{
"type": "integer",
"description": "Infrastructure Component ID",
"name": "ICID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Configs requested by user",
"schema": {
"$ref": "#/definitions/api.ResponseConfigs"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/metrics": {
"get": {
"produces": [
"application/json"
],
"tags": [
"metrics"
],
"summary": "Prometheus metrics endpoint",
"operationId": "getMetrics",
"responses": {
"200": {
"description": "Returns Prometheus metrics",
"schema": {
"type": "string"
}
}
}
}
},
"/openapi": {
"get": {
"produces": [
"application/json"
],
"tags": [
"openapi"
],
"summary": "Get OpenAPI 2.0 spec of API",
"operationId": "getOpenAPI",
"responses": {
"200": {
"description": "A OpenAPI 2.0 specification of the API",
"schema": {
"type": "string"
}
}
}
}
},
"/results": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"results"
],
"summary": "Get all results of scenario",
"operationId": "getResults",
"parameters": [
{
"type": "integer",
"description": "Scenario ID",
"name": "scenarioID",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "Results which belong to scenario",
"schema": {
"$ref": "#/definitions/api.ResponseResults"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"results"
],
"summary": "Add a result to a scenario",
"operationId": "addResult",
"parameters": [
{
"description": "Result to be added incl. ID of Scenario",
"name": "inputResult",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/result.addResultRequest"
}
}
],
"responses": {
"200": {
"description": "Result that was added",
"schema": {
"$ref": "#/definitions/api.ResponseResult"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/results/{resultID}": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"results"
],
"summary": "Get a Result",
"operationId": "getResult",
"parameters": [
{
"type": "integer",
"description": "Result ID",
"name": "resultID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Result that was requested",
"schema": {
"$ref": "#/definitions/api.ResponseResult"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"results"
],
"summary": "Update a result",
"operationId": "updateResult",
"parameters": [
{
"description": "Result to be updated",
"name": "inputResult",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/result.updateResultRequest"
}
},
{
"type": "integer",
"description": "Result ID",
"name": "resultID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Result that was updated",
"schema": {
"$ref": "#/definitions/api.ResponseResult"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"results"
],
2021-01-12 17:06:02 +01:00
"summary": "Delete a Result incl. all result files",
"operationId": "deleteResult",
"parameters": [
{
"type": "integer",
"description": "Result ID",
"name": "resultID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Result that was deleted",
"schema": {
"$ref": "#/definitions/api.ResponseResult"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/results/{resultID}/file": {
"post": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"text/plain",
"text/csv",
"application/gzip",
"application/x-gtar",
"application/x-tar",
"application/x-ustar",
"application/zip",
"application/msexcel",
"application/xml",
"application/x-bag",
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"results"
],
"summary": "Upload a result file to the DB and associate it with scenario and result",
"operationId": "addResultFile",
"parameters": [
{
"type": "file",
"description": "File to be uploaded",
"name": "inputFile",
"in": "formData",
"required": true
},
{
"type": "integer",
"description": "Result ID",
"name": "resultID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Result that was updated",
"schema": {
"$ref": "#/definitions/api.ResponseResult"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/results/{resultID}/file/{fileID}": {
"delete": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"results"
],
"summary": "Delete a result file",
"operationId": "deleteResultFile",
"parameters": [
{
"type": "integer",
"description": "Result ID",
"name": "resultID",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "ID of the file to delete",
"name": "fileID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Result for which file was deleted",
"schema": {
"$ref": "#/definitions/api.ResponseResult"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/scenarios": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"scenarios"
],
"summary": "Get all scenarios of requesting user",
"operationId": "getScenarios",
"responses": {
"200": {
"description": "Scenarios to which user has access",
"schema": {
"$ref": "#/definitions/api.ResponseScenarios"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"scenarios"
],
"summary": "Add a scenario",
"operationId": "addScenario",
"parameters": [
{
"description": "Scenario to be added",
"name": "inputScenario",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/scenario.addScenarioRequest"
}
}
],
"responses": {
"200": {
"description": "scenario that was added",
"schema": {
"$ref": "#/definitions/api.ResponseScenario"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/scenarios/{scenarioID}": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"scenarios"
],
"summary": "Get scenario",
"operationId": "getScenario",
"parameters": [
{
"type": "integer",
"description": "Scenario ID",
"name": "scenarioID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Scenario requested by user",
"schema": {
"$ref": "#/definitions/api.ResponseScenario"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"scenarios"
],
"summary": "Update a scenario",
"operationId": "updateScenario",
"parameters": [
{
"description": "Scenario to be updated",
"name": "inputScenario",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/scenario.updateScenarioRequest"
}
},
{
"type": "integer",
"description": "Scenario ID",
"name": "scenarioID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Updated scenario.",
"schema": {
"$ref": "#/definitions/api.ResponseScenario"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"scenarios"
],
"summary": "Delete a scenario",
"operationId": "deleteScenario",
"parameters": [
{
"type": "integer",
"description": "Scenario ID",
"name": "scenarioID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Deleted scenario",
"schema": {
"$ref": "#/definitions/api.ResponseScenario"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/scenarios/{scenarioID}/user": {
"put": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"scenarios"
],
"summary": "Add a user to a a scenario",
"operationId": "addUserToScenario",
"parameters": [
{
"type": "integer",
"description": "Scenario ID",
"name": "scenarioID",
"in": "path",
"required": true
},
{
"type": "string",
"description": "User name",
"name": "username",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "User that was added to scenario",
"schema": {
"$ref": "#/definitions/api.ResponseUser"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"scenarios"
],
"summary": "Delete a user from a scenario",
"operationId": "deleteUserFromScenario",
"parameters": [
{
"type": "integer",
"description": "Scenario ID",
"name": "scenarioID",
"in": "path",
"required": true
},
{
"type": "string",
"description": "User name",
"name": "username",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "User that was deleted from scenario",
"schema": {
"$ref": "#/definitions/api.ResponseUser"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/scenarios/{scenarioID}/users/": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"scenarios"
],
"summary": "Get users of a scenario",
"operationId": "getUsersOfScenario",
"parameters": [
{
"type": "integer",
"description": "Scenario ID",
"name": "scenarioID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Array of users that have access to the scenario",
"schema": {
"$ref": "#/definitions/api.ResponseUsers"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/signals": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"signals"
],
"summary": "Get all signals of one direction",
"operationId": "getSignals",
"parameters": [
{
"type": "string",
"description": "Direction of signal (in or out)",
"name": "direction",
"in": "query",
"required": true
},
{
"type": "string",
"description": "Config ID of signals to be obtained",
"name": "configID",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "Signals which belong to component configuration",
"schema": {
"$ref": "#/definitions/api.ResponseSignals"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"signals"
],
"summary": "Add a signal to a signal mapping of a component configuration",
"operationId": "AddSignal",
"parameters": [
{
"description": "A signal to be added to the component configuration incl. direction and config ID to which signal shall be added",
"name": "inputSignal",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/signal.addSignalRequest"
}
}
],
"responses": {
"200": {
"description": "Signal that was added",
"schema": {
"$ref": "#/definitions/api.ResponseSignal"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/signals/{signalID}": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"signals"
],
"summary": "Get a signal",
"operationId": "getSignal",
"parameters": [
{
"type": "integer",
"description": "ID of signal to be obtained",
"name": "signalID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Signal that was requested",
"schema": {
"$ref": "#/definitions/api.ResponseSignal"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"signals"
],
"summary": "Update a signal",
"operationId": "updateSignal",
"parameters": [
{
"description": "A signal to be updated",
"name": "inputSignal",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/signal.updateSignalRequest"
}
},
{
"type": "integer",
"description": "ID of signal to be updated",
"name": "signalID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Signal that was updated",
"schema": {
"$ref": "#/definitions/api.ResponseSignal"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"signals"
],
"summary": "Delete a signal",
"operationId": "deleteSignal",
"parameters": [
{
"type": "integer",
"description": "ID of signal to be deleted",
"name": "signalID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Signal that was deleted",
"schema": {
"$ref": "#/definitions/api.ResponseSignal"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/users": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"users"
],
"summary": "Get all users",
"operationId": "GetUsers",
"responses": {
"200": {
"description": "Array of users",
"schema": {
"$ref": "#/definitions/api.ResponseUsers"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"users"
],
"summary": "Add a user",
"operationId": "AddUser",
"parameters": [
{
"description": "User to be added",
"name": "inputUser",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/user.addUserRequest"
}
}
],
"responses": {
"200": {
"description": "Contains added user object",
"schema": {
"$ref": "#/definitions/api.ResponseUser"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/users/{userID}": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"users"
],
"summary": "Get user",
"operationId": "GetUser",
"parameters": [
{
"type": "integer",
"description": "User ID",
"name": "userID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "requested user",
"schema": {
"$ref": "#/definitions/api.ResponseUser"
}
},
"403": {
"description": "Access forbidden.",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"users"
],
"summary": "Update a user",
"operationId": "UpdateUser",
"parameters": [
{
"description": "User to be updated (anything except for ID can be changed, role can only be change by admin)",
"name": "inputUser",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/user.updateUserRequest"
}
},
{
"type": "integer",
"description": "User ID",
"name": "userID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Contains updated user",
"schema": {
"$ref": "#/definitions/api.ResponseUser"
}
},
"400": {
"description": "Bad request.",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"403": {
"description": "Access forbidden.",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"users"
],
"summary": "Delete a user",
"operationId": "DeleteUser",
"parameters": [
{
"type": "integer",
"description": "User ID",
"name": "userID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "deleted user",
"schema": {
"$ref": "#/definitions/api.ResponseUser"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/widgets": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"widgets"
],
"summary": "Get all widgets of dashboard",
"operationId": "getWidgets",
"parameters": [
{
"type": "integer",
"description": "Dashboard ID",
"name": "dashboardID",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "Widgets to which belong to dashboard",
"schema": {
"$ref": "#/definitions/api.ResponseWidgets"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"widgets"
],
"summary": "Add a widget to a dashboard",
"operationId": "addWidget",
"parameters": [
{
"description": "Widget to be added incl. ID of dashboard",
"name": "inputWidget",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/widget.addWidgetRequest"
}
}
],
"responses": {
"200": {
"description": "Widget that was added",
"schema": {
"$ref": "#/definitions/api.ResponseWidget"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
},
"/widgets/{widgetID}": {
"get": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"widgets"
],
"summary": "Get a widget",
"operationId": "getWidget",
"parameters": [
{
"type": "integer",
"description": "Widget ID",
"name": "widgetID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Widget that was requested",
"schema": {
"$ref": "#/definitions/api.ResponseWidget"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"widgets"
],
"summary": "Update a widget",
"operationId": "updateWidget",
"parameters": [
{
"description": "Widget to be updated",
"name": "inputWidget",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/widget.updateWidgetRequest"
}
},
{
"type": "integer",
"description": "Widget ID",
"name": "widgetID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Widget that was updated",
"schema": {
"$ref": "#/definitions/api.ResponseWidget"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
}
],
"produces": [
"application/json"
],
"tags": [
"widgets"
],
"summary": "Delete a widget",
"operationId": "deleteWidget",
"parameters": [
{
"type": "integer",
"description": "Widget ID",
"name": "widgetID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Widget that was deleted",
"schema": {
"$ref": "#/definitions/api.ResponseWidget"
}
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"404": {
"description": "Not found",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"422": {
"description": "Unprocessable entity",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/api.ResponseError"
}
}
}
}
}
},
"definitions": {
"api.ResponseAuthenticate": {
"type": "object"
},
"api.ResponseConfig": {
"type": "object"
},
"api.ResponseConfigs": {
"type": "object"
},
"api.ResponseDashboard": {
"type": "object"
},
"api.ResponseDashboards": {
"type": "object"
},
"api.ResponseError": {
"type": "object"
},
"api.ResponseFile": {
"type": "object"
},
"api.ResponseFiles": {
"type": "object"
},
"api.ResponseIC": {
"type": "object"
},
"api.ResponseICs": {
"type": "object"
},
"api.ResponseResult": {
"type": "object"
},
"api.ResponseResults": {
"type": "object"
},
"api.ResponseScenario": {
"type": "object"
},
"api.ResponseScenarios": {
"type": "object"
},
"api.ResponseSignal": {
"type": "object"
},
"api.ResponseSignals": {
"type": "object"
},
"api.ResponseUser": {
"type": "object"
},
"api.ResponseUsers": {
"type": "object"
},
"api.ResponseWidget": {
"type": "object"
},
"api.ResponseWidgets": {
"type": "object"
},
"component_configuration.addConfigRequest": {
"type": "object",
"properties": {
"config": {
"$ref": "#/definitions/component_configuration.validNewConfig"
}
}
},
"component_configuration.updateConfigRequest": {
"type": "object",
"properties": {
"config": {
"$ref": "#/definitions/component_configuration.validUpdatedConfig"
}
}
},
"component_configuration.validNewConfig": {
"type": "object",
"required": [
"Name",
"ScenarioID",
"StartParameters"
],
"properties": {
"FileIDs": {
"type": "array",
"items": {
"type": "integer"
}
},
"ICID": {
"type": "integer"
},
"Name": {
"type": "string"
},
"ScenarioID": {
"type": "integer"
},
"StartParameters": {
"$ref": "#/definitions/postgres.Jsonb"
}
}
},
"component_configuration.validUpdatedConfig": {
"type": "object",
"properties": {
"FileIDs": {
"type": "array",
"items": {
"type": "integer"
}
},
"ICID": {
"type": "integer"
},
"Name": {
"type": "string"
},
"StartParameters": {
"$ref": "#/definitions/postgres.Jsonb"
}
}
},
"config.Authentication": {
"type": "object",
"properties": {
"external": {
"$ref": "#/definitions/config.AuthenticationExternal"
},
"logout_url": {
"type": "string"
}
}
},
"config.AuthenticationExternal": {
"type": "object",
"properties": {
"authorize_url": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"provider_name": {
"type": "string"
}
}
},
2021-02-05 19:26:15 +01:00
"config.Config": {
"type": "object",
"properties": {
"authentication": {
"$ref": "#/definitions/config.Authentication"
},
"contact": {
"$ref": "#/definitions/config.Contact"
},
"kubernetes": {
"$ref": "#/definitions/config.Kubernetes"
},
"mode": {
"type": "string"
},
"sub_title": {
"type": "string"
},
"title": {
"type": "string"
},
"webrtc": {
"$ref": "#/definitions/config.WebRTC"
}
}
},
"config.Contact": {
"type": "object",
"properties": {
"mail": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"config.ICEServer": {
"type": "object",
"properties": {
"password": {
"type": "string"
},
"url": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"config.Kubernetes": {
"type": "object",
"properties": {
"cluster_name": {
"type": "string"
},
"rancher_url": {
"type": "string"
}
}
},
"config.WebRTC": {
"type": "object",
"properties": {
"ice_servers": {
"type": "array",
"items": {
"$ref": "#/definitions/config.ICEServer"
}
}
}
2021-02-05 19:26:15 +01:00
},
"dashboard.addDashboardRequest": {
"type": "object",
"properties": {
"dashboard": {
"$ref": "#/definitions/dashboard.validNewDashboard"
}
}
},
"dashboard.updateDashboardRequest": {
"type": "object",
"properties": {
"dashboard": {
"$ref": "#/definitions/dashboard.validUpdatedDashboard"
}
}
},
"dashboard.validNewDashboard": {
"type": "object",
"required": [
"Grid",
"Name",
"ScenarioID"
],
"properties": {
"Grid": {
"type": "integer"
},
"Height": {
"type": "integer"
},
"Name": {
"type": "string"
},
"ScenarioID": {
"type": "integer"
}
}
},
"dashboard.validUpdatedDashboard": {
"type": "object",
"properties": {
"grid": {
"type": "integer"
},
"height": {
"type": "integer"
},
"name": {
"type": "string"
}
}
},
2020-10-20 12:57:38 +02:00
"infrastructure_component.AddICRequest": {
"type": "object",
"properties": {
"ic": {
"$ref": "#/definitions/infrastructure_component.validNewIC"
}
}
},
2020-10-20 12:57:38 +02:00
"infrastructure_component.UpdateICRequest": {
"type": "object",
"properties": {
"ic": {
"$ref": "#/definitions/infrastructure_component.validUpdatedIC"
}
}
},
"infrastructure_component.validNewIC": {
"type": "object",
"required": [
"Category",
2020-11-11 16:34:06 +01:00
"ManagedExternally",
"Name",
2020-11-11 16:34:06 +01:00
"Type"
],
"properties": {
2020-10-20 12:57:38 +02:00
"APIURL": {
"type": "string"
},
"Category": {
"type": "string"
},
"CreateParameterSchema": {
"$ref": "#/definitions/postgres.Jsonb"
},
2020-10-20 12:57:38 +02:00
"Description": {
"type": "string"
},
"Location": {
"type": "string"
},
2020-11-11 16:34:06 +01:00
"ManagedExternally": {
"type": "boolean"
},
"Manager": {
"type": "string"
},
"Name": {
"type": "string"
},
"StartParameterSchema": {
"$ref": "#/definitions/postgres.Jsonb"
},
"State": {
"type": "string"
},
"StatusUpdateRaw": {
"$ref": "#/definitions/postgres.Jsonb"
},
"Type": {
"type": "string"
},
"UUID": {
"type": "string"
2020-10-20 12:57:38 +02:00
},
2020-11-11 16:34:06 +01:00
"Uptime": {
"type": "number"
},
2020-10-20 12:57:38 +02:00
"WebsocketURL": {
"type": "string"
}
}
},
"infrastructure_component.validUpdatedIC": {
"type": "object",
"properties": {
2020-10-20 12:57:38 +02:00
"APIURL": {
"type": "string"
},
"Category": {
"type": "string"
},
"CreateParameterSchema": {
"$ref": "#/definitions/postgres.Jsonb"
},
2020-10-20 12:57:38 +02:00
"Description": {
"type": "string"
},
"Location": {
"type": "string"
},
"Manager": {
"type": "string"
},
"Name": {
"type": "string"
},
"StartParameterSchema": {
"$ref": "#/definitions/postgres.Jsonb"
},
"State": {
"type": "string"
},
"StatusUpdateRaw": {
"$ref": "#/definitions/postgres.Jsonb"
},
"Type": {
"type": "string"
},
"UUID": {
"type": "string"
2020-10-20 12:57:38 +02:00
},
2020-11-11 16:34:06 +01:00
"Uptime": {
"type": "number"
},
2020-10-20 12:57:38 +02:00
"WebsocketURL": {
"type": "string"
}
}
},
"postgres.Jsonb": {
"type": "object",
"properties": {
"json.RawMessage": {
"type": "array",
"items": {
"type": "integer"
}
}
}
},
"result.addResultRequest": {
"type": "object",
"properties": {
"result": {
"$ref": "#/definitions/result.validNewResult"
}
}
},
"result.updateResultRequest": {
"type": "object",
"properties": {
"result": {
"$ref": "#/definitions/result.validUpdatedResult"
}
}
},
"result.validNewResult": {
"type": "object",
"required": [
"ConfigSnapshots",
"ScenarioID"
],
"properties": {
"ConfigSnapshots": {
"$ref": "#/definitions/postgres.Jsonb"
},
"Description": {
"type": "string"
},
"ResultFileIDs": {
"type": "array",
"items": {
"type": "integer"
}
},
"ScenarioID": {
"type": "integer"
}
}
},
"result.validUpdatedResult": {
"type": "object",
"properties": {
"configSnapshots": {
"$ref": "#/definitions/postgres.Jsonb"
},
"description": {
"type": "string"
},
"resultFileIDs": {
"type": "array",
"items": {
"type": "integer"
}
}
}
},
"scenario.addScenarioRequest": {
"type": "object",
"properties": {
"scenario": {
"$ref": "#/definitions/scenario.validNewScenario"
}
}
},
"scenario.updateScenarioRequest": {
"type": "object",
"properties": {
"scenario": {
"$ref": "#/definitions/scenario.validUpdatedScenario"
}
}
},
"scenario.validNewScenario": {
"type": "object",
"required": [
"Name",
"StartParameters"
],
"properties": {
"Name": {
"type": "string"
},
"StartParameters": {
"$ref": "#/definitions/postgres.Jsonb"
}
}
},
"scenario.validUpdatedScenario": {
"type": "object",
"properties": {
"IsLocked": {
"type": "boolean"
},
"Name": {
"type": "string"
},
"StartParameters": {
"$ref": "#/definitions/postgres.Jsonb"
}
}
},
"signal.addSignalRequest": {
"type": "object",
"properties": {
"signal": {
"$ref": "#/definitions/signal.validNewSignal"
}
}
},
"signal.updateSignalRequest": {
"type": "object",
"properties": {
"signal": {
"$ref": "#/definitions/signal.validUpdatedSignal"
}
}
},
"signal.validNewSignal": {
"type": "object",
"required": [
"ConfigID",
"Direction",
"Index",
"Name"
],
"properties": {
"ConfigID": {
"type": "integer"
},
"Direction": {
"type": "string",
"enum": [
"in",
"out"
]
},
"Index": {
"type": "integer"
},
"Name": {
"type": "string"
},
"ScalingFactor": {
"type": "number"
},
"Unit": {
"type": "string"
}
}
},
"signal.validUpdatedSignal": {
"type": "object",
"properties": {
"Index": {
"type": "integer"
},
"Name": {
"type": "string"
},
"ScalingFactor": {
"type": "number"
},
"Unit": {
"type": "string"
}
}
},
"user.addUserRequest": {
"type": "object",
"properties": {
"user": {
"$ref": "#/definitions/user.validNewUser"
}
}
},
"user.loginRequest": {
"type": "object",
"required": [
"Password",
"Username"
],
"properties": {
"Password": {
"type": "string"
},
"Username": {
"type": "string"
}
}
},
"user.updateUserRequest": {
"type": "object",
"properties": {
"user": {
"$ref": "#/definitions/user.validUpdatedRequest"
}
}
},
"user.validNewUser": {
"type": "object",
"required": [
"Mail",
"Password",
"Role",
"Username"
],
"properties": {
"Mail": {
"type": "string"
},
"Password": {
"type": "string",
"minLength": 6
},
"Role": {
"type": "string",
"enum": [
"Admin",
"User",
"Guest"
]
},
"Username": {
"type": "string",
"minLength": 3
}
}
},
"user.validUpdatedRequest": {
"type": "object",
"properties": {
"Active": {
"type": "string",
"enum": [
"yes",
"no"
]
},
"Mail": {
"type": "string"
},
"OldPassword": {
"type": "string",
"minLength": 6
},
"Password": {
"type": "string",
"minLength": 6
},
"Role": {
"type": "string",
"enum": [
"Admin",
"User",
"Guest"
]
},
"Username": {
"type": "string",
"minLength": 3
}
}
},
"widget.addWidgetRequest": {
"type": "object",
"properties": {
"widget": {
"$ref": "#/definitions/widget.validNewWidget"
}
}
},
"widget.updateWidgetRequest": {
"type": "object",
"properties": {
"widget": {
"$ref": "#/definitions/widget.validUpdatedWidget"
}
}
},
"widget.validNewWidget": {
"type": "object",
"required": [
"DashboardID",
"Height",
"Type",
"Width"
],
"properties": {
"CustomProperties": {
"$ref": "#/definitions/postgres.Jsonb"
},
"DashboardID": {
"type": "integer"
},
"Height": {
"type": "integer"
},
"IsLocked": {
"type": "boolean"
},
"MinHeight": {
"type": "integer"
},
"MinWidth": {
"type": "integer"
},
"Name": {
"type": "string"
},
"SignalIDs": {
"type": "array",
"items": {
"type": "integer"
}
},
"Type": {
"type": "string"
},
"Width": {
"type": "integer"
},
"X": {
"type": "integer"
},
"Y": {
"type": "integer"
},
"Z": {
"type": "integer"
}
}
},
"widget.validUpdatedWidget": {
"type": "object",
"properties": {
"CustomProperties": {
"$ref": "#/definitions/postgres.Jsonb"
},
"Height": {
"type": "integer"
},
"IsLocked": {
"type": "boolean"
},
"MinHeight": {
"type": "integer"
},
"MinWidth": {
"type": "integer"
},
"Name": {
"type": "string"
},
"SignalIDs": {
"type": "array",
"items": {
"type": "integer"
}
},
"Type": {
"type": "string"
},
"Width": {
"type": "integer"
},
"X": {
"type": "integer"
},
"Y": {
"type": "integer"
},
"Z": {
"type": "integer"
}
}
}
},
"securityDefinitions": {
"Bearer": {
"type": "apiKey",
"name": "Authorization",
"in": "header"
}
}
}`
// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
Version: "2.0",
Host: "",
BasePath: "/api/v2",
Schemes: []string{},
Title: "VILLASweb Backend API",
Description: "This is the [VILLASweb Backend](https://git.rwth-aachen.de/acs/public/villas/web-backend-go) API v2.0.\nThis documentation is auto-generated based on the API documentation in the code. The tool [swag](https://github.com/swaggo/swag) is used to auto-generate API docs for the [gin-gonic](https://github.com/gin-gonic/gin) framework.\nAuthentication: Use the authenticate endpoint below to obtain a token for your user account, copy the token into to the value field of the dialog showing up for the green Authorize button below and confirm with Done.",
InfoInstanceName: "swagger",
SwaggerTemplate: docTemplate,
}
func init() {
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}