from app.models import Appeal, AppealComment, ServiceItem MOCK_APPEALS: list[dict] = [ { "id": "1", "number": "INC-2026-004521", "title": "Не открывается модуль отчётов Meridium 4", "system": "Meridium 4", "status": "in_progress", "status_label": "В работе у поддержки", "next_step": "Ожидайте ответа специалиста — запрошены логи с сервера отчётов", "priority": "high", "priority_label": "Высокий", "created_at": "2026-06-27T09:15:00", "updated_at": "2026-06-28T14:30:00", "assignee": "Иванов А.С.", "description": ( "При попытке открыть отчёт «Статус оборудования» появляется ошибка доступа. " "Основной модуль Meridium работает." ), "comments": [ { "id": "c1", "author": "Иванов А.С.", "text": ( "Добрый день! Проверьте, пожалуйста, доступ к серверу отчётов " "s001as-apmrep.sibur.local. Запросите логи из браузера (F12 → Console)." ), "date": "2026-06-28T11:00:00", "is_support": True, }, ], }, { "id": "2", "number": "INC-2026-004398", "title": "Сброс пароля ЕСУИД", "system": "ЕСУИД", "status": "resolved", "status_label": "Решено", "next_step": "Проверьте вход в систему. Если проблема повторится — переоткройте обращение", "priority": "medium", "priority_label": "Средний", "created_at": "2026-06-20T16:45:00", "updated_at": "2026-06-21T10:20:00", "assignee": "Петрова М.В.", "description": "Не могу войти в Meridium — забыл пароль ЕСУИД.", "resolution": ( "Пароль сброшен. Новый временный пароль отправлен на корпоративную почту. " "При первом входе потребуется сменить пароль." ), "comments": [ { "id": "c2", "author": "Петрова М.В.", "text": "Пароль сброшен, инструкция отправлена на почту.", "date": "2026-06-21T10:20:00", "is_support": True, }, ], }, { "id": "3", "number": "INC-2026-004612", "title": "Медленная загрузка 1С:Управление предприятием", "system": "1С", "status": "waiting", "status_label": "Ожидает вашего ответа", "next_step": "Уточните, в какое время проблема проявляется чаще всего", "priority": "medium", "priority_label": "Средний", "created_at": "2026-06-28T08:00:00", "updated_at": "2026-06-29T09:00:00", "assignee": "Сидоров К.П.", "description": "1С открывается более 5 минут, особенно утром.", "comments": [ { "id": "c3", "author": "Сидоров К.П.", "text": ( "Уточните, пожалуйста: проблема возникает только утром или в течение всего дня? " "Сколько пользователей затронуто?" ), "date": "2026-06-29T09:00:00", "is_support": True, }, ], }, { "id": "4", "number": "INC-2026-004701", "title": "Запрос доступа к StarLims", "system": "StarLims", "status": "new", "status_label": "Новое обращение", "next_step": "Обращение в очереди на назначение исполнителя", "priority": "low", "priority_label": "Низкий", "created_at": "2026-06-29T11:30:00", "updated_at": "2026-06-29T11:30:00", "description": "Необходим доступ к модулю лабораторных исследований для нового сотрудника.", "comments": [], }, ] MOCK_SERVICES: list[dict] = [ { "id": "s1", "title": "Сброс пароля ЕСУИД", "category": "Доступ и учётные записи", "system": "ЕСУИД", "description": "Сброс или разблокировка учётной записи в единой системе идентификации", "sla": "4 часа", }, { "id": "s2", "title": "Предоставление доступа к Meridium 4", "category": "Доступ и учётные записи", "system": "Meridium 4", "description": "Запрос роли и прав доступа к системе управления активами", "sla": "2 рабочих дня", }, { "id": "s3", "title": "Ошибка при формировании отчёта", "category": "Инцидент", "system": "Meridium 4", "description": "Сообщение об ошибке при работе с отчётами на сервере отчётов", "sla": "8 часов", }, { "id": "s4", "title": "Проблема с входом в 1С", "category": "Инцидент", "system": "1С", "description": "Невозможность авторизации или ошибки при запуске клиента 1С", "sla": "4 часа", }, { "id": "s5", "title": "Запрос доступа к StarLims", "category": "Доступ и учётные записи", "system": "StarLims", "description": "Предоставление доступа к лабораторной информационной системе", "sla": "3 рабочих дня", }, { "id": "s6", "title": "Медленная работа системы", "category": "Инцидент", "system": "Общее", "description": "Замедление работы корпоративных приложений", "sla": "8 часов", }, { "id": "s7", "title": "Установка ПО на рабочее место", "category": "Запрос на обслуживание", "system": "ПРМ", "description": "Установка разрешённого программного обеспечения на АРМ", "sla": "2 рабочих дня", }, { "id": "s8", "title": "Консультация по ЛИМС", "category": "Консультация", "system": "ЛИМС", "description": "Вопросы по работе с лабораторной информационной системой", "sla": "1 рабочий день", }, ] def seed_appeals() -> list[Appeal]: return [Appeal.model_validate(item) for item in MOCK_APPEALS] def get_services() -> list[ServiceItem]: return [ServiceItem.model_validate(item) for item in MOCK_SERVICES]