// Package docs Code generated by swaggo/swag. DO NOT EDIT package docs import "github.com/swaggo/swag" const docTemplate = `{ "schemes": {{ marshal .Schemes }}, "swagger": "2.0", "info": { "description": "{{escape .Description}}", "title": "{{.Title}}", "contact": {}, "version": "{{.Version}}" }, "host": "{{.Host}}", "basePath": "{{.BasePath}}", "paths": { "/bale-types": { "get": { "description": "Возвращает список всех типов тюков", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "bale-types" ], "summary": "Получить все типы тюков", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.BaleType" } } } } }, "post": { "description": "Создаёт новый тип тюка", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "bale-types" ], "summary": "Создать тип тюка", "parameters": [ { "description": "Данные типа тюка", "name": "bale_type", "in": "body", "required": true, "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.BaleType" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.BaleType" } } } } }, "/bale-types/qr/{id}": { "get": { "description": "Возвращает QR код с URL для регистрации тюка этого типа", "consumes": [ "application/json" ], "produces": [ "image/png" ], "tags": [ "bale-types" ], "summary": "Получить QR код для маркировки тюка", "parameters": [ { "type": "integer", "description": "ID типа тюка", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "file" } } } } }, "/bale-types/{id}": { "get": { "description": "Возвращает тип тюка по ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "bale-types" ], "summary": "Получить тип тюка по ID", "parameters": [ { "type": "integer", "description": "ID типа тюка", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.BaleType" } } } }, "put": { "description": "Обновляет данные типа тюка по ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "bale-types" ], "summary": "Обновить тип тюка", "parameters": [ { "type": "integer", "description": "ID типа тюка", "name": "id", "in": "path", "required": true }, { "description": "Данные типа тюка", "name": "bale_type", "in": "body", "required": true, "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.BaleType" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.BaleType" } } } }, "delete": { "description": "Удаляет тип тюка по ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "bale-types" ], "summary": "Удалить тип тюка", "parameters": [ { "type": "integer", "description": "ID типа тюка", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": { "type": "boolean" } } } } } }, "/bales": { "get": { "description": "Возвращает список всех тюков", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "bales" ], "summary": "Получить все тюки", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.Bale" } } } } }, "post": { "description": "Создаёт новый тюк и отправляет в очередь задач RabbitMQ", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "bales" ], "summary": "Создать тюк", "parameters": [ { "description": "Данные тюка", "name": "bale", "in": "body", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.Bale" } }, { "type": "string", "description": "Тип тюка (для QR кодов)", "name": "type", "in": "query" } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.Bale" } } } } }, "/bales/{id}": { "get": { "description": "Возвращает тюк по ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "bales" ], "summary": "Получить тюк по ID", "parameters": [ { "type": "string", "description": "ID тюка", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.Bale" } } } }, "put": { "description": "Обновляет данные тюка по ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "bales" ], "summary": "Обновить тюк", "parameters": [ { "type": "string", "description": "ID тюка", "name": "id", "in": "path", "required": true }, { "description": "Данные тюка", "name": "bale", "in": "body", "required": true, "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.Bale" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.Bale" } } } }, "delete": { "description": "Удаляет тюк по ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "bales" ], "summary": "Удалить тюк", "parameters": [ { "type": "string", "description": "ID тюка", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": { "type": "boolean" } } } } } }, "/events": { "post": { "description": "Создаёт новое событие на этапе производственной линии", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "events" ], "summary": "Создать событие на линии", "parameters": [ { "description": "Данные события", "name": "event", "in": "body", "required": true, "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.ProductionEvent" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.ProductionEvent" } } } } }, "/events/stage/{id}": { "get": { "description": "Возвращает последние 100 событий для указанного этапа", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "events" ], "summary": "Получить события по этапу", "parameters": [ { "type": "integer", "description": "ID этапа", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.ProductionEvent" } } } } } }, "/line/stages": { "get": { "description": "Возвращает список всех этапов производственной линии", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "line" ], "summary": "Получить все этапы линии", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage" } } } } }, "post": { "description": "Создаёт новый этап производственной линии", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "line" ], "summary": "Создать этап линии", "parameters": [ { "description": "Данные этапа", "name": "stage", "in": "body", "required": true, "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage" } } } } }, "/line/stages/{id}": { "get": { "description": "Возвращает этап линии по ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "line" ], "summary": "Получить этап линии по ID", "parameters": [ { "type": "integer", "description": "ID этапа", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage" } } } }, "put": { "description": "Обновляет данные этапа линии по ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "line" ], "summary": "Обновить этап линии", "parameters": [ { "type": "integer", "description": "ID этапа", "name": "id", "in": "path", "required": true }, { "description": "Данные этапа", "name": "stage", "in": "body", "required": true, "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage" } } } }, "delete": { "description": "Удаляет этап линии по ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "line" ], "summary": "Удалить этап линии", "parameters": [ { "type": "integer", "description": "ID этапа", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": { "type": "boolean" } } } } } }, "/line/stats": { "get": { "description": "Возвращает сводную статистику работы производственной линии", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "line" ], "summary": "Получить статистику линии", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStats" } } } } }, "/queue/next": { "get": { "description": "Получает и удаляет из очереди следующую задачу (FIFO)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "queue" ], "summary": "Получить следующую задачу из очереди", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } }, "404": { "description": "Not Found", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/sensors/readings": { "post": { "description": "Создаёт новое показание датчика для этапа линии", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "sensors" ], "summary": "Создать показание датчика", "parameters": [ { "description": "Данные показания", "name": "reading", "in": "body", "required": true, "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.SensorReading" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.SensorReading" } } } } }, "/sensors/readings/stage/{id}": { "get": { "description": "Возвращает последние 100 показаний датчиков для указанного этапа", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "sensors" ], "summary": "Получить показания датчиков по этапу", "parameters": [ { "type": "integer", "description": "ID этапа", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.SensorReading" } } } } } } }, "definitions": { "gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.Bale": { "description": "Тюк - единица готовой продукции", "type": "object", "properties": { "id": { "type": "integer" }, "timestamp": { "type": "string" }, "type": { "type": "string" }, "typeId": { "type": "integer" } } }, "gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.BaleType": { "description": "Тип тюка - характеристики тюка", "type": "object", "properties": { "height": { "type": "number" }, "id": { "type": "integer" }, "length": { "type": "number" }, "type": { "type": "string" }, "weight": { "type": "number" }, "width": { "type": "number" } } }, "gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage": { "description": "Этап производственной линии переработки", "type": "object", "properties": { "description": { "type": "string" }, "equipment": { "type": "string" }, "id": { "type": "integer" }, "mqtt_topic": { "type": "string" }, "name": { "type": "string" }, "order": { "type": "integer" } } }, "gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStats": { "description": "Сводная статистика работы производственной линии", "type": "object", "properties": { "avg_speed": { "type": "number" }, "current_stage": { "type": "string" }, "last_update_time": { "type": "string" }, "rejected_items": { "type": "integer" }, "status": { "type": "string" }, "total_items": { "type": "integer" } } }, "gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.ProductionEvent": { "description": "Событие, произошедшее на этапе производственной линии", "type": "object", "properties": { "data": { "type": "string" }, "event_type": { "type": "string" }, "id": { "type": "integer" }, "stage_id": { "type": "integer" }, "timestamp": { "type": "string" } } }, "gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.SensorReading": { "description": "Показание датчика на этапе линии", "type": "object", "properties": { "id": { "type": "integer" }, "sensor": { "type": "string" }, "stage_id": { "type": "integer" }, "timestamp": { "type": "string" }, "unit": { "type": "string" }, "value": { "type": "number" } } } }, "securityDefinitions": { "Bearer": { "description": "Type \"Bearer\" followed by a space and the JWT token.", "type": "apiKey", "name": "Authorization", "in": "header" } } }` // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ Version: "", Host: "", BasePath: "", Schemes: []string{}, Title: "", Description: "", InfoInstanceName: "swagger", SwaggerTemplate: docTemplate, } func init() { swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) }