Files
toir-light/api-summary.json

911 lines
26 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"sourceFiles": [
"domain/toir.api.dsl"
],
"enums": [],
"dtos": [
{
"name": "DTO.FileAttachment",
"description": "Метаданные файла в объектном хранилище (MinIO/S3); бинарные данные в БД не хранятся",
"fields": [
{
"name": "objectKey",
"type": "string",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": "Ключ объекта в бакете",
"map": null,
"sync": false,
"label": null
},
{
"name": "originalFileName",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Исходное имя файла",
"map": null,
"sync": false,
"label": null
},
{
"name": "contentType",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "MIME-тип",
"map": null,
"sync": false,
"label": null
},
{
"name": "sizeBytes",
"type": "integer",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Размер в байтах",
"map": null,
"sync": false,
"label": null
},
{
"name": "downloadUrl",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Ссылка на скачивание (публичная или presigned)",
"map": null,
"sync": false,
"label": null
}
]
},
{
"name": "DTO.Equipment",
"description": "Полный response-объект для единицы оборудования",
"fields": [
{
"name": "id",
"type": "uuid",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": null,
"map": "Equipment.id",
"sync": false,
"label": null
},
{
"name": "name",
"type": "string",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": "Название оборудования",
"map": "Equipment.name",
"sync": false,
"label": null
},
{
"name": "serialNumber",
"type": "string",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": "Заводской (серийный) номер",
"map": "Equipment.serialNumber",
"sync": false,
"label": null
},
{
"name": "dateOfInspection",
"type": "date",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Дата поверки",
"map": "Equipment.dateOfInspection",
"sync": false,
"label": null
},
{
"name": "commissionedAt",
"type": "date",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Дата изготовления",
"map": "Equipment.commissionedAt",
"sync": false,
"label": null
},
{
"name": "status",
"type": "EquipmentStatus",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": "Текущий статус",
"map": "Equipment.status",
"sync": false,
"label": null
},
{
"name": "attachments",
"type": "DTO.FileAttachment[]",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Вложение (файл в MinIO/S3)",
"map": "Equipment.attachments",
"sync": false,
"label": null
}
]
},
{
"name": "DTO.EquipmentCreate",
"description": "Тело запроса на создание единицы оборудования",
"fields": [
{
"name": "name",
"type": "string",
"required": true,
"nullable": false,
"unique": false,
"primary": false,
"description": "Название оборудования",
"map": "Equipment.name",
"sync": false,
"label": null
},
{
"name": "serialNumber",
"type": "string",
"required": true,
"nullable": false,
"unique": false,
"primary": false,
"description": "Заводской (серийный) номер",
"map": "Equipment.serialNumber",
"sync": false,
"label": null
},
{
"name": "dateOfInspection",
"type": "date",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Дата поверки",
"map": "Equipment.dateOfInspection",
"sync": false,
"label": null
},
{
"name": "commissionedAt",
"type": "date",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Дата изготовления",
"map": "Equipment.commissionedAt",
"sync": false,
"label": null
},
{
"name": "status",
"type": "EquipmentStatus",
"required": true,
"nullable": false,
"unique": false,
"primary": false,
"description": "Текущий статус",
"map": "Equipment.status",
"sync": false,
"label": null
}
]
},
{
"name": "DTO.EquipmentUpdate",
"description": "Тело запроса на обновление единицы оборудования",
"fields": [
{
"name": "name",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Название оборудования",
"map": "Equipment.name",
"sync": false,
"label": null
},
{
"name": "serialNumber",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Заводской (серийный) номер",
"map": "Equipment.serialNumber",
"sync": false,
"label": null
},
{
"name": "dateOfInspection",
"type": "date",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Дата поверки",
"map": "Equipment.dateOfInspection",
"sync": false,
"label": null
},
{
"name": "commissionedAt",
"type": "date",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Дата изготовления",
"map": "Equipment.commissionedAt",
"sync": false,
"label": null
},
{
"name": "status",
"type": "EquipmentStatus",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Текущий статус",
"map": "Equipment.status",
"sync": false,
"label": null
}
]
},
{
"name": "DTO.EquipmentListRequest",
"description": "Запрос для постраничного получения списка оборудования с фильтрацией",
"fields": [
{
"name": "page",
"type": "DTO.PageRequest",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
},
{
"name": "filterName",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
},
{
"name": "filterSerialNumber",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
},
{
"name": "filterStatus",
"type": "EquipmentStatus",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
}
]
},
{
"name": "DTO.EquipmentListResponse",
"description": "Ответ с постраничным списком оборудования и метаданными",
"fields": [
{
"name": "content",
"type": "DTO.Equipment[]",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
},
{
"name": "pageInfo",
"type": "DTO.PageInfo",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
}
]
},
{
"name": "DTO.ChangeEquipmentStatus",
"description": "Полный response-объект для документа изменения статуса",
"fields": [
{
"name": "equipmentId",
"type": "Equipment",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": null,
"map": "ChangeEquipmentStatus.equipmentId",
"sync": false,
"label": null
},
{
"name": "newStatus",
"type": "EquipmentStatus",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": "Новый статус",
"map": "ChangeEquipmentStatus.newStatus",
"sync": false,
"label": null
},
{
"name": "number",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Номер",
"map": "ChangeEquipmentStatus.number",
"sync": false,
"label": null
},
{
"name": "date",
"type": "date",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": "Дата изменения статуса",
"map": "ChangeEquipmentStatus.date",
"sync": false,
"label": null
},
{
"name": "responsible",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Ответственный",
"map": "ChangeEquipmentStatus.responsible",
"sync": false,
"label": null
}
]
},
{
"name": "DTO.ChangeEquipmentStatusCreate",
"description": "Тело запроса на создание документа изменения статуса",
"fields": [
{
"name": "equipmentId",
"type": "Equipment",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": null,
"map": "ChangeEquipmentStatus.equipmentId",
"sync": false,
"label": null
},
{
"name": "newStatus",
"type": "EquipmentStatus",
"required": true,
"nullable": false,
"unique": false,
"primary": false,
"description": "Новый статус",
"map": "ChangeEquipmentStatus.newStatus",
"sync": false,
"label": null
},
{
"name": "number",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Номер",
"map": "ChangeEquipmentStatus.number",
"sync": false,
"label": null
},
{
"name": "date",
"type": "date",
"required": true,
"nullable": false,
"unique": false,
"primary": false,
"description": "Дата изменения статуса",
"map": "ChangeEquipmentStatus.date",
"sync": false,
"label": null
},
{
"name": "responsible",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Ответственный",
"map": "ChangeEquipmentStatus.responsible",
"sync": false,
"label": null
}
]
},
{
"name": "DTO.ChangeEquipmentStatusUpdate",
"description": "Тело запроса на обновление документа изменения статуса",
"fields": [
{
"name": "equipmentId",
"type": "Equipment",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": null,
"map": "ChangeEquipmentStatus.equipmentId",
"sync": false,
"label": null
},
{
"name": "newStatus",
"type": "EquipmentStatus",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Новый статус",
"map": "ChangeEquipmentStatus.newStatus",
"sync": false,
"label": null
},
{
"name": "number",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Номер",
"map": "ChangeEquipmentStatus.number",
"sync": false,
"label": null
},
{
"name": "date",
"type": "date",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Дата изменения статуса",
"map": "ChangeEquipmentStatus.date",
"sync": false,
"label": null
},
{
"name": "responsible",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": "Ответственный",
"map": "ChangeEquipmentStatus.responsible",
"sync": false,
"label": null
}
]
},
{
"name": "DTO.ChangeEquipmentStatusListRequest",
"description": "Запрос для постраничного получения списка документов изменения статуса с фильтрацией",
"fields": [
{
"name": "page",
"type": "DTO.PageRequest",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
},
{
"name": "filterEquipmentId",
"type": "uuid",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
},
{
"name": "filterNumber",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
},
{
"name": "filterDate",
"type": "date",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
},
{
"name": "filterResponsible",
"type": "string",
"required": false,
"nullable": true,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
}
]
},
{
"name": "DTO.ChangeEquipmentStatusListResponse",
"description": "Ответ с постраничным списком документов изменения статуса и метаданными",
"fields": [
{
"name": "content",
"type": "DTO.ChangeEquipmentStatus[]",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
},
{
"name": "pageInfo",
"type": "DTO.PageInfo",
"required": false,
"nullable": false,
"unique": false,
"primary": false,
"description": null,
"map": null,
"sync": false,
"label": null
}
]
}
],
"apis": [
{
"name": "API.Equipment",
"description": "API управления справочником оборудования",
"endpoints": [
{
"name": "listEquipment",
"label": "POST /equipment/page",
"method": "POST",
"path": "/equipment/page",
"description": "Постраничный список оборудования с фильтрацией",
"attributes": [
{
"name": "request",
"type": "DTO.EquipmentListRequest",
"description": null
},
{
"name": "response",
"type": "DTO.EquipmentListResponse",
"description": null
}
]
},
{
"name": "getEquipment",
"label": "GET /equipment/{id}",
"method": "GET",
"path": "/equipment/{id}",
"description": "Получить единицу оборудования по идентификатору",
"attributes": [
{
"name": "id",
"type": "uuid",
"description": null
},
{
"name": "response",
"type": "DTO.Equipment",
"description": null
}
]
},
{
"name": "createEquipment",
"label": "POST /equipment",
"method": "POST",
"path": "/equipment",
"description": "Создать новую единицу оборудования",
"attributes": [
{
"name": "request",
"type": "DTO.EquipmentCreate",
"description": null
}
]
},
{
"name": "updateEquipment",
"label": "PUT /equipment/{id}",
"method": "PUT",
"path": "/equipment/{id}",
"description": "Обновить данные единицы оборудования",
"attributes": [
{
"name": "id",
"type": "uuid",
"description": null
},
{
"name": "request",
"type": "DTO.EquipmentUpdate",
"description": null
}
]
},
{
"name": "deleteEquipment",
"label": "DELETE /equipment/{id}",
"method": "DELETE",
"path": "/equipment/{id}",
"description": "Удалить единицу оборудования",
"attributes": [
{
"name": "id",
"type": "uuid",
"description": null
}
]
},
{
"name": "uploadEquipmentAttachment",
"label": "POST /equipment/{id}/attachments",
"method": "POST",
"path": "/equipment/{id}/attachments",
"description": "Загрузить файл-вложение (multipart/form-data, поле file)",
"attributes": [
{
"name": "id",
"type": "uuid",
"description": null
}
]
},
{
"name": "deleteEquipmentAttachment",
"label": "DELETE /equipment/{id}/attachments/{attachmentId}",
"method": "DELETE",
"path": "/equipment/{id}/attachments/{attachmentId}",
"description": "Удалить файл-вложение из хранилища и из записи",
"attributes": [
{
"name": "id",
"type": "uuid",
"description": null
},
{
"name": "attachmentId",
"type": "uuid",
"description": null
}
]
},
{
"name": "downloadEquipmentAttachment",
"label": "GET /equipment/{id}/attachments/{attachmentId}/download",
"method": "GET",
"path": "/equipment/{id}/attachments/{attachmentId}/download",
"description": "Скачать файл-вложение (Content-Disposition: attachment, поток из MinIO)",
"attributes": [
{
"name": "id",
"type": "uuid",
"description": null
},
{
"name": "attachmentId",
"type": "uuid",
"description": null
}
]
}
]
},
{
"name": "API.EquipmentStatusChange",
"description": "API управления документами изменения статуса оборудования",
"endpoints": [
{
"name": "listStatusChanges",
"label": "POST /status-changes/page",
"method": "POST",
"path": "/status-changes/page",
"description": "Постраничный список документов изменения статуса с фильтрацией",
"attributes": [
{
"name": "request",
"type": "DTO.ChangeEquipmentStatusListRequest",
"description": null
},
{
"name": "response",
"type": "DTO.ChangeEquipmentStatusListResponse",
"description": null
}
]
},
{
"name": "getStatusChange",
"label": "GET /status-changes/{id}",
"method": "GET",
"path": "/status-changes/{id}",
"description": "Получить документ изменения статуса по идентификатору",
"attributes": [
{
"name": "id",
"type": "uuid",
"description": null
},
{
"name": "response",
"type": "DTO.ChangeEquipmentStatus",
"description": null
}
]
},
{
"name": "createStatusChange",
"label": "POST /status-changes",
"method": "POST",
"path": "/status-changes",
"description": "Создать документ изменения статуса оборудования",
"attributes": [
{
"name": "request",
"type": "DTO.ChangeEquipmentStatusCreate",
"description": null
}
]
},
{
"name": "updateStatusChange",
"label": "PUT /status-changes/{id}",
"method": "PUT",
"path": "/status-changes/{id}",
"description": "Обновить документ изменения статуса",
"attributes": [
{
"name": "id",
"type": "uuid",
"description": null
},
{
"name": "request",
"type": "DTO.ChangeEquipmentStatusUpdate",
"description": null
}
]
},
{
"name": "deleteStatusChange",
"label": "DELETE /status-changes/{id}",
"method": "DELETE",
"path": "/status-changes/{id}",
"description": "Удалить документ изменения статуса",
"attributes": [
{
"name": "id",
"type": "uuid",
"description": null
}
]
}
]
}
]
}