Skip to content

Добавить управление командой и разграничение прав#662

Merged
TThanos3000 merged 1 commit into
masterfrom
feature/team-permissions-api
Jul 22, 2026
Merged

Добавить управление командой и разграничение прав#662
TThanos3000 merged 1 commit into
masterfrom
feature/team-permissions-api

Conversation

@TThanos3000

Copy link
Copy Markdown
Collaborator

Что сделано

Добавлен API управления командой заявки:

  • GET/PATCH /applications/<application_id>/team/
  • POST /applications/<application_id>/team/leave/
  • POST /applications/<application_id>/team/members/<member_id>/remove/
  • POST /applications/<application_id>/team/transfer-captain/

Реализованы:

  • единые проверки прав для Application, Team и Submission;
  • доступ на чтение для принятых участников команды и менеджеров программы;
  • атомарное переименование команды;
  • выход участника из команды;
  • удаление участника капитаном;
  • передача прав капитана;
  • сохранение joined_at при выходе и удалении;
  • обновление Team.captain и Application.user при передаче капитанства;
  • компактная информация о команде в ответе заявки;
  • безопасный ответ команды без email и закрытых пользовательских данных;
  • scopes и ограничение частоты запросов для операций управления командой.

При передаче капитанства не изменяются created_by и связанный Project.

Документация

Добавлен документ:

  • docs/team-permissions-api.md

Также обновлены документы по доменной модели, моделям, сервисам и политикам доступа.

Проверки

  • partner_programs.tests: 302 успешно;
  • targeted regression: 195 успешно;
  • projects.tests и invites.tests: 83 успешно;
  • новые тесты команд: 52 успешно;
  • makemigrations --check --dry-run: изменений нет;
  • migrate --plan: успешно;
  • manage.py check: успешно;
  • py_compile: успешно;
  • flake8 измененных файлов: успешно;
  • git diff --check: успешно.

Глобальная проверка flake8 сохраняет 29 ранее существовавших ошибок форматирования в файлах, не относящихся к этому PR.

Не входит в PR

  • миграции;
  • настройки и переменные окружения;
  • TeamInvite;
  • frontend;
  • жизненный цикл Project и Submission;
  • старый сценарий работы заявок;
  • Docker, nginx, workflows и deploy.

@TThanos3000
TThanos3000 merged commit 6d63f8a into master Jul 22, 2026
2 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