Files
Mephimeow 6c170fe1a2 new-g
2026-04-29 12:28:30 +00:00

898 lines
31 KiB
Go

// 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)
}