new-g
This commit is contained in:
+487
-1
@@ -73,6 +73,38 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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",
|
||||
@@ -219,10 +251,15 @@ const docTemplate = `{
|
||||
"description": "Данные тюка",
|
||||
"name": "bale",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.Bale"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Тип тюка (для QR кодов)",
|
||||
"name": "type",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
@@ -338,6 +375,362 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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": {
|
||||
@@ -382,6 +775,99 @@ const docTemplate = `{
|
||||
"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": {
|
||||
|
||||
+487
-1
@@ -62,6 +62,38 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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",
|
||||
@@ -208,10 +240,15 @@
|
||||
"description": "Данные тюка",
|
||||
"name": "bale",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.Bale"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Тип тюка (для QR кодов)",
|
||||
"name": "type",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
@@ -327,6 +364,362 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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": {
|
||||
@@ -371,6 +764,99 @@
|
||||
"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": {
|
||||
|
||||
+321
-1
@@ -27,6 +27,68 @@ definitions:
|
||||
width:
|
||||
type: number
|
||||
type: object
|
||||
gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage:
|
||||
description: Этап производственной линии переработки
|
||||
properties:
|
||||
description:
|
||||
type: string
|
||||
equipment:
|
||||
type: string
|
||||
id:
|
||||
type: integer
|
||||
mqtt_topic:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
order:
|
||||
type: integer
|
||||
type: object
|
||||
gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStats:
|
||||
description: Сводная статистика работы производственной линии
|
||||
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
|
||||
type: object
|
||||
gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.ProductionEvent:
|
||||
description: Событие, произошедшее на этапе производственной линии
|
||||
properties:
|
||||
data:
|
||||
type: string
|
||||
event_type:
|
||||
type: string
|
||||
id:
|
||||
type: integer
|
||||
stage_id:
|
||||
type: integer
|
||||
timestamp:
|
||||
type: string
|
||||
type: object
|
||||
gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.SensorReading:
|
||||
description: Показание датчика на этапе линии
|
||||
properties:
|
||||
id:
|
||||
type: integer
|
||||
sensor:
|
||||
type: string
|
||||
stage_id:
|
||||
type: integer
|
||||
timestamp:
|
||||
type: string
|
||||
unit:
|
||||
type: string
|
||||
value:
|
||||
type: number
|
||||
type: object
|
||||
info:
|
||||
contact: {}
|
||||
paths:
|
||||
@@ -137,6 +199,27 @@ paths:
|
||||
summary: Обновить тип тюка
|
||||
tags:
|
||||
- bale-types
|
||||
/bale-types/qr/{id}:
|
||||
get:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Возвращает QR код с URL для регистрации тюка этого типа
|
||||
parameters:
|
||||
- description: ID типа тюка
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
produces:
|
||||
- image/png
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
type: file
|
||||
summary: Получить QR код для маркировки тюка
|
||||
tags:
|
||||
- bale-types
|
||||
/bales:
|
||||
get:
|
||||
consumes:
|
||||
@@ -162,9 +245,12 @@ paths:
|
||||
- description: Данные тюка
|
||||
in: body
|
||||
name: bale
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.Bale'
|
||||
- description: Тип тюка (для QR кодов)
|
||||
in: query
|
||||
name: type
|
||||
type: string
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
@@ -244,6 +330,240 @@ paths:
|
||||
summary: Обновить тюк
|
||||
tags:
|
||||
- bales
|
||||
/events:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Создаёт новое событие на этапе производственной линии
|
||||
parameters:
|
||||
- description: Данные события
|
||||
in: body
|
||||
name: event
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.ProductionEvent'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"201":
|
||||
description: Created
|
||||
schema:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.ProductionEvent'
|
||||
summary: Создать событие на линии
|
||||
tags:
|
||||
- events
|
||||
/events/stage/{id}:
|
||||
get:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Возвращает последние 100 событий для указанного этапа
|
||||
parameters:
|
||||
- description: ID этапа
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.ProductionEvent'
|
||||
type: array
|
||||
summary: Получить события по этапу
|
||||
tags:
|
||||
- events
|
||||
/line/stages:
|
||||
get:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Возвращает список всех этапов производственной линии
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage'
|
||||
type: array
|
||||
summary: Получить все этапы линии
|
||||
tags:
|
||||
- line
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Создаёт новый этап производственной линии
|
||||
parameters:
|
||||
- description: Данные этапа
|
||||
in: body
|
||||
name: stage
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"201":
|
||||
description: Created
|
||||
schema:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage'
|
||||
summary: Создать этап линии
|
||||
tags:
|
||||
- line
|
||||
/line/stages/{id}:
|
||||
delete:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Удаляет этап линии по ID
|
||||
parameters:
|
||||
- description: ID этапа
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
additionalProperties:
|
||||
type: boolean
|
||||
type: object
|
||||
summary: Удалить этап линии
|
||||
tags:
|
||||
- line
|
||||
get:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Возвращает этап линии по ID
|
||||
parameters:
|
||||
- description: ID этапа
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage'
|
||||
summary: Получить этап линии по ID
|
||||
tags:
|
||||
- line
|
||||
put:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Обновляет данные этапа линии по ID
|
||||
parameters:
|
||||
- description: ID этапа
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
- description: Данные этапа
|
||||
in: body
|
||||
name: stage
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStage'
|
||||
summary: Обновить этап линии
|
||||
tags:
|
||||
- line
|
||||
/line/stats:
|
||||
get:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Возвращает сводную статистику работы производственной линии
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.LineStats'
|
||||
summary: Получить статистику линии
|
||||
tags:
|
||||
- line
|
||||
/queue/next:
|
||||
get:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Получает и удаляет из очереди следующую задачу (FIFO)
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
"404":
|
||||
description: Not Found
|
||||
schema:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
summary: Получить следующую задачу из очереди
|
||||
tags:
|
||||
- queue
|
||||
/sensors/readings:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Создаёт новое показание датчика для этапа линии
|
||||
parameters:
|
||||
- description: Данные показания
|
||||
in: body
|
||||
name: reading
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.SensorReading'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"201":
|
||||
description: Created
|
||||
schema:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.SensorReading'
|
||||
summary: Создать показание датчика
|
||||
tags:
|
||||
- sensors
|
||||
/sensors/readings/stage/{id}:
|
||||
get:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Возвращает последние 100 показаний датчиков для указанного этапа
|
||||
parameters:
|
||||
- description: ID этапа
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/definitions/gitea_d3m0k1d_ru_d3m0k1d_rostpoliplast_backend_internal_storage.SensorReading'
|
||||
type: array
|
||||
summary: Получить показания датчиков по этапу
|
||||
tags:
|
||||
- sensors
|
||||
securityDefinitions:
|
||||
Bearer:
|
||||
description: Type "Bearer" followed by a space and the JWT token.
|
||||
|
||||
Reference in New Issue
Block a user