Skip to content

add manager program overview api - #679

Merged
TThanos3000 merged 1 commit into
masterfrom
feature/dev-076-manager-program-overview-api
Jul 31, 2026
Merged

add manager program overview api#679
TThanos3000 merged 1 commit into
masterfrom
feature/dev-076-manager-program-overview-api

Conversation

@TThanos3000

Copy link
Copy Markdown
Collaborator

Что реализовано

  • Добавлен read-only endpoint:

    GET /programs/<program_id>/manager-overview/

  • Endpoint возвращает обезличенную сводку по:

    • регистрациям;
    • заявкам и форматам участия;
    • командам и принятым участникам;
    • решениям;
    • назначениям экспертов;
    • экспертным оценкам.

Доступ

Endpoint доступен manager указанной программы, staff и superuser.

Обычный участник и manager другой программы получают 403.
Несуществующая программа возвращает 404.

Архитектура

  • Подсчёты вынесены в отдельный service.
  • Используются шесть фиксированных ORM aggregate-запросов.
  • Количество запросов не зависит от количества участников.
  • Permission переиспользует загруженную view.program.
  • Query budget:
    • manager — не более 8 запросов;
    • staff/superuser — не более 7 запросов.

Безопасность данных

Ответ не содержит PII, анкет, содержимого решений, файлов, ссылок, комментариев и оценок отдельных экспертов.

Тесты

Добавлены тесты прав доступа, контрактов ответа, статусов, изоляции программ, отсутствия PII и фиксированного query budget.

Локальный запуск тестов заблокирован отсутствующим PostgreSQL на localhost:5432. Полная проверка выполняется в Backend PostgreSQL CI.

Не входит

  • frontend кабинета менеджера;
  • списки и анкеты участников;
  • выгрузки;
  • результаты и рейтинг;
  • изменение данных;
  • модели и миграции;
  • production.

Roadmap

Roadmap-IDs: DEV-076, DEV-056
Roadmap-Complete: DEV-076
Roadmap-Partial: DEV-056

@TThanos3000
TThanos3000 merged commit 8496d72 into master Jul 31, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant