759 lines
22 KiB
JSON
759 lines
22 KiB
JSON
{
|
||
"sourceFiles": [
|
||
"domain/toir.api.dsl"
|
||
],
|
||
"enums": [
|
||
{
|
||
"name": "EquipmentStatus",
|
||
"description": null,
|
||
"values": [
|
||
{
|
||
"name": "Active",
|
||
"label": "В эксплуатации"
|
||
},
|
||
{
|
||
"name": "Repair",
|
||
"label": "В ремонте"
|
||
},
|
||
{
|
||
"name": "Reserve",
|
||
"label": "В резерве"
|
||
},
|
||
{
|
||
"name": "WriteOff",
|
||
"label": "Списано"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"dtos": [
|
||
{
|
||
"name": "DTO.Equipment",
|
||
"description": "Полный объект оборудования",
|
||
"fields": [
|
||
{
|
||
"name": "id",
|
||
"type": "uuid",
|
||
"required": false,
|
||
"nullable": false,
|
||
"unique": false,
|
||
"primary": false,
|
||
"description": "Идентификатор оборудования",
|
||
"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": "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": false,
|
||
"nullable": true,
|
||
"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": "filter",
|
||
"type": "DTO.Filter",
|
||
"required": false,
|
||
"nullable": true,
|
||
"unique": false,
|
||
"primary": false,
|
||
"description": "Фильтр",
|
||
"map": null,
|
||
"sync": false,
|
||
"label": null
|
||
},
|
||
{
|
||
"name": "page",
|
||
"type": "DTO.PageRequest",
|
||
"required": false,
|
||
"nullable": false,
|
||
"unique": false,
|
||
"primary": false,
|
||
"description": "Параметры пагинации",
|
||
"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": "Список оборудования",
|
||
"map": null,
|
||
"sync": false,
|
||
"label": null
|
||
},
|
||
{
|
||
"name": "pageInfo",
|
||
"type": "DTO.PageInfo",
|
||
"required": false,
|
||
"nullable": false,
|
||
"unique": false,
|
||
"primary": false,
|
||
"description": "Метаданные пагинации",
|
||
"map": null,
|
||
"sync": false,
|
||
"label": null
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "DTO.ChangeEquipmentStatus",
|
||
"description": "Полный объект документа изменения статуса оборудования",
|
||
"fields": [
|
||
{
|
||
"name": "equipmentId",
|
||
"type": "uuid",
|
||
"required": false,
|
||
"nullable": false,
|
||
"unique": false,
|
||
"primary": false,
|
||
"description": "Оборудование",
|
||
"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": "uuid",
|
||
"required": true,
|
||
"nullable": false,
|
||
"unique": false,
|
||
"primary": false,
|
||
"description": "Оборудование",
|
||
"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": "uuid",
|
||
"required": false,
|
||
"nullable": true,
|
||
"unique": false,
|
||
"primary": false,
|
||
"description": "Оборудование",
|
||
"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": "filter",
|
||
"type": "DTO.Filter",
|
||
"required": false,
|
||
"nullable": true,
|
||
"unique": false,
|
||
"primary": false,
|
||
"description": "Фильтр",
|
||
"map": null,
|
||
"sync": false,
|
||
"label": null
|
||
},
|
||
{
|
||
"name": "page",
|
||
"type": "DTO.PageRequest",
|
||
"required": false,
|
||
"nullable": false,
|
||
"unique": false,
|
||
"primary": false,
|
||
"description": "Параметры пагинации",
|
||
"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": "Список документов изменения статуса",
|
||
"map": null,
|
||
"sync": false,
|
||
"label": null
|
||
},
|
||
{
|
||
"name": "pageInfo",
|
||
"type": "DTO.PageInfo",
|
||
"required": false,
|
||
"nullable": false,
|
||
"unique": false,
|
||
"primary": false,
|
||
"description": "Метаданные пагинации",
|
||
"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": "Идентификатор оборудования"
|
||
},
|
||
{
|
||
"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": "Идентификатор оборудования"
|
||
},
|
||
{
|
||
"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": "Идентификатор оборудования"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "API.ChangeEquipmentStatus",
|
||
"description": "API управления документами изменения статуса оборудования",
|
||
"endpoints": [
|
||
{
|
||
"name": "listChangeEquipmentStatus",
|
||
"label": "POST /change-equipment-status/page",
|
||
"method": "POST",
|
||
"path": "/change-equipment-status/page",
|
||
"description": "Постраничный список документов изменения статуса с фильтрацией",
|
||
"attributes": [
|
||
{
|
||
"name": "request",
|
||
"type": "DTO.ChangeEquipmentStatusListRequest",
|
||
"description": null
|
||
},
|
||
{
|
||
"name": "response",
|
||
"type": "DTO.ChangeEquipmentStatusListResponse",
|
||
"description": null
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "getChangeEquipmentStatus",
|
||
"label": "GET /change-equipment-status/{equipmentId}/{newStatus}",
|
||
"method": "GET",
|
||
"path": "/change-equipment-status/{equipmentId}/{newStatus}",
|
||
"description": "Получить документ изменения статуса по ключу",
|
||
"attributes": [
|
||
{
|
||
"name": "equipmentId",
|
||
"type": "uuid",
|
||
"description": "Оборудование"
|
||
},
|
||
{
|
||
"name": "newStatus",
|
||
"type": "EquipmentStatus",
|
||
"description": "Новый статус"
|
||
},
|
||
{
|
||
"name": "response",
|
||
"type": "DTO.ChangeEquipmentStatus",
|
||
"description": null
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "createChangeEquipmentStatus",
|
||
"label": "POST /change-equipment-status",
|
||
"method": "POST",
|
||
"path": "/change-equipment-status",
|
||
"description": "Создать документ изменения статуса",
|
||
"attributes": [
|
||
{
|
||
"name": "request",
|
||
"type": "DTO.ChangeEquipmentStatusCreate",
|
||
"description": null
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "updateChangeEquipmentStatus",
|
||
"label": "PUT /change-equipment-status/{equipmentId}/{newStatus}",
|
||
"method": "PUT",
|
||
"path": "/change-equipment-status/{equipmentId}/{newStatus}",
|
||
"description": "Обновить документ изменения статуса",
|
||
"attributes": [
|
||
{
|
||
"name": "equipmentId",
|
||
"type": "uuid",
|
||
"description": "Оборудование"
|
||
},
|
||
{
|
||
"name": "newStatus",
|
||
"type": "EquipmentStatus",
|
||
"description": "Новый статус"
|
||
},
|
||
{
|
||
"name": "request",
|
||
"type": "DTO.ChangeEquipmentStatusUpdate",
|
||
"description": null
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "deleteChangeEquipmentStatus",
|
||
"label": "DELETE /change-equipment-status/{equipmentId}/{newStatus}",
|
||
"method": "DELETE",
|
||
"path": "/change-equipment-status/{equipmentId}/{newStatus}",
|
||
"description": "Удалить документ изменения статуса",
|
||
"attributes": [
|
||
{
|
||
"name": "equipmentId",
|
||
"type": "uuid",
|
||
"description": "Оборудование"
|
||
},
|
||
{
|
||
"name": "newStatus",
|
||
"type": "EquipmentStatus",
|
||
"description": "Новый статус"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|