Skip to content

Добавить workspace API целей и достижений проекта - #682

Merged
TThanos3000 merged 1 commit into
masterfrom
feature/dev-082-project-goals-achievements-api
Aug 6, 2026
Merged

Добавить workspace API целей и достижений проекта#682
TThanos3000 merged 1 commit into
masterfrom
feature/dev-082-project-goals-achievements-api

Conversation

@TThanos3000

Copy link
Copy Markdown
Collaborator

Что сделано

  • добавлен project-scoped CRUD целей проекта;
  • добавлен project-scoped CRUD достижений с преобразованием year в legacy-поле status;
  • переиспользованы правила видимости React workspace;
  • изменение разрешено руководителю проекта и staff/superuser;
  • проверяется принадлежность ответственного руководителю или участникам текущего проекта;
  • мутации выполняются атомарно и защищены от cross-project доступа;
  • добавлены regression-тесты прав, валидации, атомарности, legacy-совместимости и N+1;
  • добавлена документация API.

Совместимость

  • модели и миграции не менялись;
  • legacy endpoints целей и достижений сохранены;
  • публикация, черновики, файлы, Application и Submission lifecycle не менялись;
  • Angular frontend не менялся.

Проверки

Успешно локально:

  • python -m compileall для изменённых Python-файлов;
  • black --check для изменённых Python-файлов;
  • flake8 для изменённых Python-файлов;
  • python manage.py check --tag models;
  • python manage.py makemigrations --check --dry-run --skip-checks — No changes detected;
  • git diff --check.

Полный PostgreSQL test suite не стартовал локально: PostgreSQL на localhost:5432 недоступен. Обычные manage.py check и makemigrations также блокируются отсутствующей системной библиотекой WeasyPrint gobject-2.0-0. Полный Black/flake8 фиксирует существующие unrelated нарушения вне текущего diff. Окончательная PostgreSQL-проверка выполняется CI.

@TThanos3000
TThanos3000 marked this pull request as ready for review August 6, 2026 09:14
@TThanos3000
TThanos3000 merged commit dc6fb1b into master Aug 6, 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