Skip to content

Multicommand webapi

Арсений Саркисов requested to merge multicommand_webapi into main

Описание

Цель и задача

  • Задача: Разработать и согласовать схему WebAPI.

  • Цель: подготовить и согласовать схему WebAPI для выполнения сценариев из команд (заложить контракт и каркас API), чтобы последующая реализация исполгнения сценариев могла опираться на стабильные модели и эндпоинты

  • Сущности и corner cases

Реализовано

  • Добавлены схемы для /scenario-runs API:
    • ScenarioStep - шаг сценария (входная модель): step_id: UUID | None, command: str, params: dict[str, Any]
    • RunCreateRequest - тело POST /scenario-runs: session_id, steps, stop_on_error
    • RunCreateResponse - ответ создания run-а: run_id: UUID, status: RunStatus
    • RunStepInfo - состояние шага: step_id: UUID, command: str, status: StepStatus, error_msg: str | None
    • RunInfoResponse - ответ GET /scenario-runs/{run_id} (саммари): run_id: UUID, session_id, status, steps: list[RunStepInfo]
  • Добавлены views, endpoints - заглушки

Чеклист:

  • Описание MR:
    • Из описания MR ясно кому и зачем нужны правки
    • Указаны ссылки на связанные issues
    • Указаны дополнительные материалы (если есть)
  • Проверка:
    • Изменения протестированы
    • Проверено поведение в dev (если применимо)
  • Changelog:
    • Добавлен новый файл в changelogs/unreleased
    • Добавлено описание всех изменений
    • Указаны изменения в переменных окружения
    • Указаны ссылки на GitLab Issues, связанные с MR
  • Документация:
    • Обновлены инструкции в CONTRIBUTING.md (если применимо)
    • Обновлен README (если применимо)
Edited by Арсений Саркисов

Merge request reports