Skip to content

feat(programs): ProgramSolution, сдача и управление заявками - #822

Merged
TThanos3000 merged 47 commits into
devfrom
feat/dev-program-solutions-be02-20261024
Oct 26, 2026
Merged

TThanos3000 merged 47 commits into
devfrom
feat/dev-program-solutions-be02-20261024

Conversation

@TThanos3000

@TThanos3000 TThanos3000 commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator

Что изменено

Программы принимают ProgramSolution с материалами, командой и приглашениями внутри заявки. КЧ/хакатон настраивают поля; Project и прежние программы сохраняют действующую модель.

Зачем

Исходное ТЗ и26 AC. Программная заявка больше не требует полей портфолио-проекта.

Реализация

BE01–BE09: отдельная модель и создание, configurable form/answers, accepted/pending team и invitation transitions, сдача со снимком, evaluation/assignments/quota/results, manager analytics/filters/XLSX, ролевые входы, reminders, publication, административные исключения и удержание истории. Подтвержденная регистрационная операция не удаляет материалы и оценки.

API

C00 1.21.0 /156 schemas /59 operations /305 scenarios; shared FE/BE documents совпадают. Angular интеграция завершена в FE#505, HEADca7bcfc8. Последний этап не менял BE runtime fdec3dc или API.

UI

Фронт сохраняет существующие разделы управления; solution-заявки используют8 колонок без презентации, один экран смены кейса и публичные работы в прежнем месте кнопки программы. Команда — вторая вкладка заявки. Итоговая приемка.

Permissions

Все действия проверяют пользователя, роль, программу и объект на backend. Сдача замораживает обычные изменения; административные case/member/archive/registration commands требуют актуальный signed preview и сохраняют цепочку snapshots и оценки. Public allowlist не включает регистрацию, приглашения или scores. Архив исключен из active/expert/public readers.

Проверки

  • Current-head General CI40233747308: Tests и Lint success; PostgreSQL CI40233750723 success, перечитано при закрытии приемки.
  • Конкурентные операции/locking, модели, migration graph и renderer проверены отдельными Linux scopes в прежнем отчете; старые1812/1846 не выдаются за count текущего run.
  • Exact current FE/dev merge b4d40ce4:3036tests/493files, strict C00 и build PASS; source3764files неизменен.
  • Actual Angular → local Django → PostgreSQL: expert→organizer/results и публикация КЧ/хакатон, неконкурсная saved publication, signed administrative apply после сдачи и archive/history.
  • Official creation command dry-run/apply/repeat на3 fresh programs; новое создание409, прежний draft read/PATCH200.
  • [x]26 прежних моделей сохранены по полному хешу значений, Project5→5 после setup, все private fixture flags в конце false.

Acceptance criteria

  • BE01–BE09 и общая FE01–FE08 интеграция закрыты.
  • QA01:25 обязательных AC PASS, включая AC18/19.
  • REL01: локальная репетиция PASS.

Не проверено

Production deployment, CDN file bytes и отдельный перенос старых программ BE10/AC21.

Риски / migration

Полный совместимый graph включает upstream certificate0031 и пустой merge0039; старые migrations не перенумерованы и не удалены. Перед разрешенным rollout: полный migrate → совместимые backend/workers → frontend → отдельная новая программа → явное включение создания. Отключение creation flag сохраняет существующие заявки; schema-down не используется. Старые Project программы и реальные flags не переключались, автоматическая миграция не запускалась.

После слияния в dev · 26.10.2026

Оба PR слиты: BE#822 → e05e16d0cea49773986db4c916dded81ddfa80a6, FE#505 → 72f7aa9837e18367239f1db3781c436dbf57d618. Первый API deploy, Angular CI/deploy и General backend CI на actual merge success. Angular: 3036 tests /493 files, format/lint/build PASS. Полный migration graph применен, API и worker используют один pinned image.

Приемка на настоящем dev PASS. 74 API запроса в работающем dev web-контейнере: три формата, team/invite/accept, permissions, save0/False, competitive submit/snapshot, expert assignments/score/results, analytics/XLSX, public allowlist и creation stop; транзакция с временными записями полностью откатилась. 43 модели прежних записей сохранены. Environment protection сохранена; проверка запущена разрешенным workflow с dev после операционных PR#832–834.

Реальный Angular→dev API, пользователь28: КЧ49/решение7 и хакатон50/8 сохранены, перечитаны и сданы; неконкурсная51/9 сохранена без отдельной сдачи. Команда второй вкладкой удерживает ввод, поиск приглашенного/роль проверены без отправки реальным людям, 0/False сохраняются. «Заявки» сохраняют семь разделов и не имеют колонки презентации; модалка смены кейса показывает последствия на одном экране, apply отменен.

Finalize40322960531 подтвердил snapshot и публикацию трех owned QA-работ; новое создание выключено только в программах49/50/51. Анонимные HTTP list/detail всех трех форматов:200 JSON, count1, public DTO содержит только разрешенные материалы и принятый состав. Публичный UI и «Команда» открываются из согласованного места кнопки программы. Новых Project0. Три явно помеченные QA-программы и решения оставлены для просмотра.

Обнаруженная на настоящем dev ошибка проксирования приглашений и шаблонов исправлена #835. Real Nginx CI40323667925 и финальный dev deploy625517e6 success: оба API root дают401 JSON без авторизации; свежая авторизованная проверка уведомлений и навигации завершилась без новых console errors. Последующие изменения ограничены операционным QA-кодом и DEV routing/tests; бизнес-код/миграции/Angular после основных merge не менялись.

**Legacy сохранен:**46 HTTP проверок всех11 прежних публичных программ совпали с premerge снимком до авторизованного просмотра; в живом UI программы6 сохранены семь вкладок, проекты165/42/232, просмотр команды и результаты. Прежние программы, их storage modes и creation flags не переключались; автоматической миграции нет.

Границы: production, отдельный перенос BE10/AC21 и CDN file bytes не проверялись. Более поздние общие CI на QA/config refs не выдаются за прошедшие без отдельного результата. Текущее ТЗ и статус приемки.

@TThanos3000
TThanos3000 marked this pull request as ready for review October 24, 2026 16:02
@TThanos3000
TThanos3000 marked this pull request as draft October 24, 2026 16:24
@TThanos3000 TThanos3000 changed the title feat(programs): solution team commands and shared access policy (BE02) feat(programs): команда и приглашения внутри решения (BE02–BE03) Oct 24, 2026
@TThanos3000 TThanos3000 changed the title feat(programs): команда и приглашения внутри решения (BE02–BE03) feat(programs): команда, приглашения и форма решения Oct 24, 2026
@TThanos3000 TThanos3000 changed the title feat(programs): команда, приглашения и форма решения feat(programs): команда, форма и черновик решения Oct 24, 2026
@TThanos3000 TThanos3000 changed the title feat(programs): команда, форма и черновик решения feat(programs): команда, форма и сдача решения со снимком Oct 24, 2026
@TThanos3000 TThanos3000 changed the title feat(programs): команда, форма и сдача решения со снимком feat(programs): заявка, команда, сдача и API экспертной оценки решения Oct 24, 2026
@TThanos3000 TThanos3000 changed the title feat(programs): заявка, команда, сдача и API экспертной оценки решения feat(programs): решение, команда, сдача и экспертное оценивание Oct 24, 2026
@TThanos3000 TThanos3000 changed the title feat(programs): решение, команда, сдача и экспертное оценивание feat(programs): решение, команда, сдача, оценивание и выгрузка Oct 24, 2026
@TThanos3000 TThanos3000 changed the title feat(programs): решение, команда, сдача, оценивание и выгрузка feat(programs): ProgramSolution, сдача и управление заявками Oct 26, 2026
@TThanos3000
TThanos3000 marked this pull request as ready for review October 26, 2026 00:17
@TThanos3000
TThanos3000 merged commit e05e16d into dev Oct 26, 2026
3 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.

2 participants