{ "sourceFiles": [ "domain/toir.api.dsl" ], "enums": [ { "name": "EquipmentStatus", "description": null, "values": [ { "name": "Active", "label": "В эксплуатации" }, { "name": "Repair", "label": "В ремонте" }, { "name": "Reserve", "label": "В резерве" }, { "name": "WriteOff", "label": "Списано" } ] }, { "name": "laborOperation", "description": "Трудовые операции", "values": [ { "name": "Manual", "label": "Ручные" }, { "name": "MachineManual", "label": "Машинно-ручные" }, { "name": "Machine", "label": "Машинные" } ] }, { "name": "EnumPeriodicityTO", "description": null, "values": [ { "name": "Ежедневное", "label": "Ежедневное" }, { "name": "Еженедельное", "label": "Еженедельное" }, { "name": "Ежемесячное", "label": "Ежемесячное" }, { "name": "Полугодовое", "label": "Полугодовое" }, { "name": "Годовое", "label": "Годовое" } ] }, { "name": "Role", "description": null, "values": [ { "name": "Исполнитель", "label": "Исполнитель" }, { "name": "Подписант", "label": "Подписант" }, { "name": "Пользователь", "label": "Пользователь" } ] }, { "name": "CategoryPart", "description": null, "values": [ { "name": "Расходник", "label": "Расходник" }, { "name": "Запчасть", "label": "Запчасть" }, { "name": "Инструмент", "label": "Инструмент" }, { "name": "Спецодежда", "label": "Спецодежда" } ] }, { "name": "EquipmentType", "description": "Типы оборудования", "values": [ { "name": "Производственное", "label": "производственное" }, { "name": "Энергетическое", "label": "энергетическое" }, { "name": "Насосное", "label": "насосное" }, { "name": "Компрессорное", "label": "компрессорное" } ] } ], "dtos": [ { "name": "DTO.Equipment", "description": "Оборудование — полный response-объект", "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": "inventoryNumber", "type": "string", "required": false, "nullable": false, "unique": true, "primary": false, "description": "Инвентарный номер", "map": "Equipment.inventoryNumber", "sync": false, "label": null }, { "name": "equipmentType", "type": "EquipmentType", "required": true, "nullable": false, "unique": false, "primary": false, "description": "Тип оборудования", "map": "Equipment.equipmentType", "sync": false, "label": null }, { "name": "dateOfInspection", "type": "date", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Дата проверки", "map": "Equipment.dateOfInspection", "sync": false, "label": null }, { "name": "periodicityTO", "type": "EnumPeriodicityTO", "required": true, "nullable": false, "unique": false, "primary": false, "description": "Периодичность ТО", "map": "Equipment.periodicityTO", "sync": false, "label": null }, { "name": "location", "type": "string", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Место эксплуатации / скважина / куст", "map": "Equipment.location", "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": "commissionedAt", "type": "date", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Год изготовления", "map": "Equipment.commissionedAt", "sync": false, "label": null }, { "name": "totalEngineHours", "type": "decimal", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Общая наработка, моточасов", "map": "Equipment.totalEngineHours", "sync": false, "label": null }, { "name": "engineHoursSinceLastRepair", "type": "decimal", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Наработка с последнего ремонта, моточасов", "map": "Equipment.engineHoursSinceLastRepair", "sync": false, "label": null }, { "name": "lastRepairAt", "type": "date", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Дата последнего ремонта", "map": "Equipment.lastRepairAt", "sync": false, "label": null }, { "name": "notes", "type": "text", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Примечания", "map": "Equipment.notes", "sync": false, "label": null }, { "name": "workAsPartOf", "type": "laborOperation", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Работы в составе", "map": "Equipment.workAsPartOf", "sync": false, "label": null }, { "name": "fuelConsumed", "type": "number", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Расход топлива", "map": "Equipment.fuelConsumed", "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": "inventoryNumber", "type": "string", "required": true, "nullable": false, "unique": true, "primary": false, "description": "Инвентарный номер", "map": "Equipment.inventoryNumber", "sync": false, "label": null }, { "name": "equipmentType", "type": "EquipmentType", "required": true, "nullable": false, "unique": false, "primary": false, "description": "Тип оборудования", "map": "Equipment.equipmentType", "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": "periodicityTO", "type": "EnumPeriodicityTO", "required": true, "nullable": false, "unique": false, "primary": false, "description": "Периодичность ТО", "map": "Equipment.periodicityTO", "sync": false, "label": null }, { "name": "location", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Место эксплуатации / скважина / куст", "map": "Equipment.location", "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": "commissionedAt", "type": "date", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Год изготовления", "map": "Equipment.commissionedAt", "sync": false, "label": null }, { "name": "totalEngineHours", "type": "decimal", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Общая наработка, моточасов", "map": "Equipment.totalEngineHours", "sync": false, "label": null }, { "name": "engineHoursSinceLastRepair", "type": "decimal", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Наработка с последнего ремонта, моточасов", "map": "Equipment.engineHoursSinceLastRepair", "sync": false, "label": null }, { "name": "lastRepairAt", "type": "date", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Дата последнего ремонта", "map": "Equipment.lastRepairAt", "sync": false, "label": null }, { "name": "notes", "type": "text", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Примечания", "map": "Equipment.notes", "sync": false, "label": null }, { "name": "workAsPartOf", "type": "laborOperation", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Работы в составе", "map": "Equipment.workAsPartOf", "sync": false, "label": null }, { "name": "fuelConsumed", "type": "number", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Расход топлива", "map": "Equipment.fuelConsumed", "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": "inventoryNumber", "type": "string", "required": false, "nullable": true, "unique": true, "primary": false, "description": "Инвентарный номер", "map": "Equipment.inventoryNumber", "sync": false, "label": null }, { "name": "equipmentType", "type": "EquipmentType", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Тип оборудования", "map": "Equipment.equipmentType", "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": "periodicityTO", "type": "EnumPeriodicityTO", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Периодичность ТО", "map": "Equipment.periodicityTO", "sync": false, "label": null }, { "name": "location", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Место эксплуатации / скважина / куст", "map": "Equipment.location", "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": "commissionedAt", "type": "date", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Год изготовления", "map": "Equipment.commissionedAt", "sync": false, "label": null }, { "name": "totalEngineHours", "type": "decimal", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Общая наработка, моточасов", "map": "Equipment.totalEngineHours", "sync": false, "label": null }, { "name": "engineHoursSinceLastRepair", "type": "decimal", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Наработка с последнего ремонта, моточасов", "map": "Equipment.engineHoursSinceLastRepair", "sync": false, "label": null }, { "name": "lastRepairAt", "type": "date", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Дата последнего ремонта", "map": "Equipment.lastRepairAt", "sync": false, "label": null }, { "name": "notes", "type": "text", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Примечания", "map": "Equipment.notes", "sync": false, "label": null }, { "name": "workAsPartOf", "type": "laborOperation", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Работы в составе", "map": "Equipment.workAsPartOf", "sync": false, "label": null }, { "name": "fuelConsumed", "type": "number", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Расход топлива", "map": "Equipment.fuelConsumed", "sync": false, "label": null } ] }, { "name": "DTO.EquipmentFilter", "description": "Фильтры для списка оборудования", "fields": [ { "name": "inventoryNumber", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Частичное совпадение по инвентарному номеру", "map": null, "sync": false, "label": null }, { "name": "serialNumber", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Частичное совпадение по заводскому номеру", "map": null, "sync": false, "label": null }, { "name": "name", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Частичное совпадение по наименованию", "map": null, "sync": false, "label": null }, { "name": "equipmentTypeCode", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Точное совпадение по коду вида оборудования", "map": null, "sync": false, "label": null }, { "name": "equipmentPeriodicityTO", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Точное совпадение по периодичности ТО оборудования", "map": null, "sync": false, "label": null }, { "name": "dateOfInspection", "type": "date", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Дата проверки", "map": null, "sync": false, "label": null }, { "name": "status", "type": "EquipmentStatus", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Фильтр по статусу", "map": null, "sync": false, "label": null }, { "name": "location", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Частичное совпадение по месту эксплуатации", "map": null, "sync": false, "label": null }, { "name": "workAsPartOf", "type": "laborOperation", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Фильтр по трудовой операции", "map": null, "sync": false, "label": null } ] }, { "name": "DTO.EquipmentListRequest", "description": "Запрос постраничного списка оборудования с фильтрацией", "fields": [ { "name": "filter", "type": "DTO.EquipmentFilter", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Фильтры", "map": null, "sync": false, "label": null }, { "name": "page", "type": "DTO.PageRequest", "required": false, "nullable": true, "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": "page", "type": "DTO.PageInfo", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Метаданные пагинации", "map": null, "sync": false, "label": null } ] }, { "name": "DTO.Employee", "description": "Сотрудник — полный response-объект", "fields": [ { "name": "code", "type": "string", "required": false, "nullable": false, "unique": false, "primary": true, "description": "Номер сотрудника (Табельный номер)", "map": "Employee.code", "sync": false, "label": null }, { "name": "fullName", "type": "string", "required": false, "nullable": false, "unique": false, "primary": false, "description": "ФИО сотрудника", "map": "Employee.fullName", "sync": false, "label": "Полное имя" }, { "name": "role", "type": "Role", "required": true, "nullable": false, "unique": false, "primary": false, "description": "Роль сотрудника", "map": "Employee.role", "sync": false, "label": "Роль" }, { "name": "position", "type": "string", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Должность сотрудника", "map": "Employee.position", "sync": false, "label": null }, { "name": "boss", "type": "DTO.Employee", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Руководитель", "map": "Employee.boss", "sync": false, "label": null }, { "name": "subordinates", "type": "DTO.Employee[]", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Подчинённые", "map": "Employee.subordinates", "sync": false, "label": null }, { "name": "price", "type": "number", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Стоимость часа работы сотрудника", "map": "Employee.price", "sync": false, "label": null }, { "name": "phoneNumber", "type": "number", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Номер телефона", "map": "Employee.phoneNumber", "sync": false, "label": null } ] }, { "name": "DTO.EmployeeCreate", "description": "Тело запроса на создание сотрудника", "fields": [ { "name": "code", "type": "string", "required": true, "nullable": false, "unique": false, "primary": false, "description": "Номер сотрудника (Табельный номер)", "map": "Employee.code", "sync": false, "label": null }, { "name": "fullName", "type": "string", "required": true, "nullable": false, "unique": false, "primary": false, "description": "ФИО сотрудника", "map": "Employee.fullName", "sync": false, "label": "Полное имя" }, { "name": "role", "type": "Role", "required": true, "nullable": false, "unique": false, "primary": false, "description": "Роль сотрудника", "map": "Employee.role", "sync": false, "label": "Роль" }, { "name": "position", "type": "string", "required": true, "nullable": false, "unique": false, "primary": false, "description": "Должность сотрудника", "map": "Employee.position", "sync": false, "label": null }, { "name": "boss", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Код руководителя", "map": "Employee.boss", "sync": false, "label": null }, { "name": "price", "type": "number", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Стоимость часа работы сотрудника", "map": "Employee.price", "sync": false, "label": null }, { "name": "phoneNumber", "type": "number", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Номер телефона", "map": "Employee.phoneNumber", "sync": false, "label": null } ] }, { "name": "DTO.EmployeeUpdate", "description": "Тело запроса на обновление сотрудника (частичное обновление)", "fields": [ { "name": "fullName", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "ФИО сотрудника", "map": "Employee.fullName", "sync": false, "label": "Полное имя" }, { "name": "role", "type": "Role", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Роль сотрудника", "map": "Employee.role", "sync": false, "label": "Роль" }, { "name": "position", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Должность сотрудника", "map": "Employee.position", "sync": false, "label": null }, { "name": "boss", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Код руководителя", "map": "Employee.boss", "sync": false, "label": null }, { "name": "price", "type": "number", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Стоимость часа работы сотрудника", "map": "Employee.price", "sync": false, "label": null }, { "name": "phoneNumber", "type": "number", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Номер телефона", "map": "Employee.phoneNumber", "sync": false, "label": null } ] }, { "name": "DTO.EmployeeFilter", "description": "Фильтры для списка сотрудников", "fields": [ { "name": "code", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Частичное совпадение по табельному номеру", "map": null, "sync": false, "label": null }, { "name": "fullName", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Частичное совпадение по ФИО", "map": null, "sync": false, "label": null }, { "name": "role", "type": "Role", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Точное совпадение по роли", "map": null, "sync": false, "label": null }, { "name": "position", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Частичное совпадение по должности", "map": null, "sync": false, "label": null } ] }, { "name": "DTO.EmployeeListRequest", "description": "Запрос постраничного списка сотрудников с фильтрацией", "fields": [ { "name": "filter", "type": "DTO.EmployeeFilter", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Фильтры", "map": null, "sync": false, "label": null }, { "name": "page", "type": "DTO.PageRequest", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Параметры пагинации", "map": null, "sync": false, "label": null } ] }, { "name": "DTO.EmployeeListResponse", "description": "Ответ постраничного списка сотрудников", "fields": [ { "name": "content", "type": "DTO.Employee[]", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Список сотрудников", "map": null, "sync": false, "label": null }, { "name": "page", "type": "DTO.PageInfo", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Метаданные пагинации", "map": null, "sync": false, "label": null } ] }, { "name": "DTO.Part", "description": "ЗИП/ТМЦ — полный response-объект", "fields": [ { "name": "id", "type": "uuid", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Идентификатор ЗИП/ТМЦ", "map": "Part.id", "sync": false, "label": null }, { "name": "name", "type": "string", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Название", "map": "Part.name", "sync": false, "label": null }, { "name": "categories", "type": "CategoryPart", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Категории", "map": "Part.categories", "sync": false, "label": null }, { "name": "price", "type": "number", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Стоимость ЗИП/ТМЦ", "map": "Part.price", "sync": false, "label": null }, { "name": "description", "type": "string", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Описание ЗИП/ТМЦ", "map": "Part.description", "sync": false, "label": null }, { "name": "serialNumber", "type": "string", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Серийный номер запасных частей / инструментов / расходников", "map": "Part.serialNumber", "sync": false, "label": null } ] }, { "name": "DTO.PartCreate", "description": "Тело запроса на создание ЗИП/ТМЦ", "fields": [ { "name": "name", "type": "string", "required": true, "nullable": false, "unique": false, "primary": false, "description": "Название", "map": "Part.name", "sync": false, "label": null }, { "name": "categories", "type": "CategoryPart", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Категории", "map": "Part.categories", "sync": false, "label": null }, { "name": "price", "type": "number", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Стоимость ЗИП/ТМЦ", "map": "Part.price", "sync": false, "label": null }, { "name": "description", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Описание ЗИП/ТМЦ", "map": "Part.description", "sync": false, "label": null }, { "name": "serialNumber", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Серийный номер запасных частей / инструментов / расходников", "map": "Part.serialNumber", "sync": false, "label": null } ] }, { "name": "DTO.PartUpdate", "description": "Тело запроса на обновление ЗИП/ТМЦ (частичное обновление)", "fields": [ { "name": "name", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Название", "map": "Part.name", "sync": false, "label": null }, { "name": "categories", "type": "CategoryPart", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Категории", "map": "Part.categories", "sync": false, "label": null }, { "name": "price", "type": "number", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Стоимость ЗИП/ТМЦ", "map": "Part.price", "sync": false, "label": null }, { "name": "description", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Описание ЗИП/ТМЦ", "map": "Part.description", "sync": false, "label": null }, { "name": "serialNumber", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Серийный номер запасных частей / инструментов / расходников", "map": "Part.serialNumber", "sync": false, "label": null } ] }, { "name": "DTO.PartFilter", "description": "Фильтры для списка ЗИП/ТМЦ", "fields": [ { "name": "name", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Частичное совпадение по названию", "map": null, "sync": false, "label": null }, { "name": "categories", "type": "CategoryPart", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Точное совпадение по категории", "map": null, "sync": false, "label": null }, { "name": "serialNumber", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Частичное совпадение по серийному номеру", "map": null, "sync": false, "label": null } ] }, { "name": "DTO.PartListRequest", "description": "Запрос постраничного списка ЗИП/ТМЦ с фильтрацией", "fields": [ { "name": "filter", "type": "DTO.PartFilter", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Фильтры", "map": null, "sync": false, "label": null }, { "name": "page", "type": "DTO.PageRequest", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Параметры пагинации", "map": null, "sync": false, "label": null } ] }, { "name": "DTO.PartListResponse", "description": "Ответ постраничного списка ЗИП/ТМЦ", "fields": [ { "name": "content", "type": "DTO.Part[]", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Список ЗИП/ТМЦ", "map": null, "sync": false, "label": null }, { "name": "page", "type": "DTO.PageInfo", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Метаданные пагинации", "map": null, "sync": false, "label": null } ] }, { "name": "DTO.CategoryResource", "description": "Категория ресурсов — полный response-объект", "fields": [ { "name": "id", "type": "uuid", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Идентификатор категории ресурсов", "map": "CategoryResource.id", "sync": false, "label": null }, { "name": "part", "type": "DTO.Part", "required": false, "nullable": true, "unique": false, "primary": false, "description": "ЗИП/ТМЦ", "map": "CategoryResource.part", "sync": false, "label": null }, { "name": "employee", "type": "DTO.Employee", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Сотрудник", "map": "CategoryResource.employee", "sync": false, "label": null } ] }, { "name": "DTO.CategoryResourceCreate", "description": "Тело запроса на создание категории ресурсов", "fields": [ { "name": "partId", "type": "uuid", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Идентификатор ЗИП/ТМЦ", "map": "CategoryResource.part", "sync": false, "label": null }, { "name": "employeeCode", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Код сотрудника", "map": "CategoryResource.employee", "sync": false, "label": null } ] }, { "name": "DTO.CategoryResourceUpdate", "description": "Тело запроса на обновление категории ресурсов (частичное обновление)", "fields": [ { "name": "partId", "type": "uuid", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Идентификатор ЗИП/ТМЦ", "map": "CategoryResource.part", "sync": false, "label": null }, { "name": "employeeCode", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Код сотрудника", "map": "CategoryResource.employee", "sync": false, "label": null } ] }, { "name": "DTO.CategoryResourceFilter", "description": "Фильтры для списка категорий ресурсов", "fields": [ { "name": "partName", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Частичное совпадение по названию ЗИП/ТМЦ", "map": null, "sync": false, "label": null }, { "name": "employeeName", "type": "string", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Частичное совпадение по ФИО сотрудника", "map": null, "sync": false, "label": null } ] }, { "name": "DTO.CategoryResourceListRequest", "description": "Запрос постраничного списка категорий ресурсов с фильтрацией", "fields": [ { "name": "filter", "type": "DTO.CategoryResourceFilter", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Фильтры", "map": null, "sync": false, "label": null }, { "name": "page", "type": "DTO.PageRequest", "required": false, "nullable": true, "unique": false, "primary": false, "description": "Параметры пагинации", "map": null, "sync": false, "label": null } ] }, { "name": "DTO.CategoryResourceListResponse", "description": "Ответ постраничного списка категорий ресурсов", "fields": [ { "name": "content", "type": "DTO.CategoryResource[]", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Список категорий ресурсов", "map": null, "sync": false, "label": null }, { "name": "page", "type": "DTO.PageInfo", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Метаданные пагинации", "map": null, "sync": false, "label": null } ] }, { "name": "DTO.PriceList", "description": "Регистр цен — response-объект", "fields": [ { "name": "costOfWorkingHours", "type": "number", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Стоимость часов работы", "map": "Employee.price", "sync": true, "label": null }, { "name": "partPrice", "type": "number", "required": false, "nullable": false, "unique": false, "primary": false, "description": "Стоимость ЗИП/ТМЦ", "map": "Part.price", "sync": true, "label": null } ] } ], "apis": [ { "name": "API.Equipment", "description": "API управления справочником оборудования", "endpoints": [ { "name": "getEquipmentById", "label": "GET /equipments/{id}", "method": "GET", "path": "/equipments/{id}", "description": "Получить оборудование по идентификатору", "attributes": [ { "name": "id", "type": "uuid", "description": "Идентификатор оборудования" }, { "name": "response", "type": "DTO.Equipment", "description": null } ] }, { "name": "listEquipments", "label": "POST /equipments/page", "method": "POST", "path": "/equipments/page", "description": "Постраничный список оборудования с фильтрацией", "attributes": [ { "name": "request", "type": "DTO.EquipmentListRequest", "description": null }, { "name": "response", "type": "DTO.EquipmentListResponse", "description": null } ] }, { "name": "createEquipment", "label": "POST /equipments", "method": "POST", "path": "/equipments", "description": "Создать единицу оборудования", "attributes": [ { "name": "request", "type": "DTO.EquipmentCreate", "description": null } ] }, { "name": "updateEquipment", "label": "PUT /equipments/{id}", "method": "PUT", "path": "/equipments/{id}", "description": "Обновить оборудование", "attributes": [ { "name": "id", "type": "uuid", "description": "Идентификатор оборудования" }, { "name": "request", "type": "DTO.EquipmentUpdate", "description": null } ] }, { "name": "deleteEquipment", "label": "DELETE /equipments/{id}", "method": "DELETE", "path": "/equipments/{id}", "description": "Удалить единицу оборудования", "attributes": [ { "name": "id", "type": "uuid", "description": "Идентификатор оборудования" } ] } ] }, { "name": "API.Employee", "description": "API управления справочником сотрудников", "endpoints": [ { "name": "getEmployeeByCode", "label": "GET /employees/{code}", "method": "GET", "path": "/employees/{code}", "description": "Получить сотрудника по табельному номеру", "attributes": [ { "name": "code", "type": "string", "description": "Табельный номер сотрудника" }, { "name": "response", "type": "DTO.Employee", "description": null } ] }, { "name": "listEmployees", "label": "POST /employees/page", "method": "POST", "path": "/employees/page", "description": "Постраничный список сотрудников с фильтрацией", "attributes": [ { "name": "request", "type": "DTO.EmployeeListRequest", "description": null }, { "name": "response", "type": "DTO.EmployeeListResponse", "description": null } ] }, { "name": "createEmployee", "label": "POST /employees", "method": "POST", "path": "/employees", "description": "Создать сотрудника", "attributes": [ { "name": "request", "type": "DTO.EmployeeCreate", "description": null } ] }, { "name": "updateEmployee", "label": "PUT /employees/{code}", "method": "PUT", "path": "/employees/{code}", "description": "Обновить сотрудника", "attributes": [ { "name": "code", "type": "string", "description": "Табельный номер сотрудника" }, { "name": "request", "type": "DTO.EmployeeUpdate", "description": null } ] }, { "name": "deleteEmployee", "label": "DELETE /employees/{code}", "method": "DELETE", "path": "/employees/{code}", "description": "Удалить сотрудника", "attributes": [ { "name": "code", "type": "string", "description": "Табельный номер сотрудника" } ] } ] }, { "name": "API.Part", "description": "API управления справочником ЗИП/ТМЦ", "endpoints": [ { "name": "getPartById", "label": "GET /parts/{id}", "method": "GET", "path": "/parts/{id}", "description": "Получить ЗИП/ТМЦ по идентификатору", "attributes": [ { "name": "id", "type": "uuid", "description": "Идентификатор ЗИП/ТМЦ" }, { "name": "response", "type": "DTO.Part", "description": null } ] }, { "name": "listParts", "label": "POST /parts/page", "method": "POST", "path": "/parts/page", "description": "Постраничный список ЗИП/ТМЦ с фильтрацией", "attributes": [ { "name": "request", "type": "DTO.PartListRequest", "description": null }, { "name": "response", "type": "DTO.PartListResponse", "description": null } ] }, { "name": "createPart", "label": "POST /parts", "method": "POST", "path": "/parts", "description": "Создать ЗИП/ТМЦ", "attributes": [ { "name": "request", "type": "DTO.PartCreate", "description": null } ] }, { "name": "updatePart", "label": "PUT /parts/{id}", "method": "PUT", "path": "/parts/{id}", "description": "Обновить ЗИП/ТМЦ", "attributes": [ { "name": "id", "type": "uuid", "description": "Идентификатор ЗИП/ТМЦ" }, { "name": "request", "type": "DTO.PartUpdate", "description": null } ] }, { "name": "deletePart", "label": "DELETE /parts/{id}", "method": "DELETE", "path": "/parts/{id}", "description": "Удалить ЗИП/ТМЦ", "attributes": [ { "name": "id", "type": "uuid", "description": "Идентификатор ЗИП/ТМЦ" } ] } ] }, { "name": "API.CategoryResource", "description": "API управления категориями ресурсов", "endpoints": [ { "name": "getCategoryResourceById", "label": "GET /category-resources/{id}", "method": "GET", "path": "/category-resources/{id}", "description": "Получить категорию ресурсов по идентификатору", "attributes": [ { "name": "id", "type": "uuid", "description": "Идентификатор категории ресурсов" }, { "name": "response", "type": "DTO.CategoryResource", "description": null } ] }, { "name": "listCategoryResources", "label": "POST /category-resources/page", "method": "POST", "path": "/category-resources/page", "description": "Постраничный список категорий ресурсов с фильтрацией", "attributes": [ { "name": "request", "type": "DTO.CategoryResourceListRequest", "description": null }, { "name": "response", "type": "DTO.CategoryResourceListResponse", "description": null } ] }, { "name": "createCategoryResource", "label": "POST /category-resources", "method": "POST", "path": "/category-resources", "description": "Создать категорию ресурсов", "attributes": [ { "name": "request", "type": "DTO.CategoryResourceCreate", "description": null } ] }, { "name": "updateCategoryResource", "label": "PUT /category-resources/{id}", "method": "PUT", "path": "/category-resources/{id}", "description": "Обновить категорию ресурсов", "attributes": [ { "name": "id", "type": "uuid", "description": "Идентификатор категории ресурсов" }, { "name": "request", "type": "DTO.CategoryResourceUpdate", "description": null } ] }, { "name": "deleteCategoryResource", "label": "DELETE /category-resources/{id}", "method": "DELETE", "path": "/category-resources/{id}", "description": "Удалить категорию ресурсов", "attributes": [ { "name": "id", "type": "uuid", "description": "Идентификатор категории ресурсов" } ] } ] }, { "name": "API.PriceList", "description": "API получения регистра цен", "endpoints": [ { "name": "getPriceList", "label": "GET /price-list", "method": "GET", "path": "/price-list", "description": "Получить регистр цен", "attributes": [ { "name": "response", "type": "DTO.PriceList", "description": null } ] } ] } ] }