DEV: защитить статус карточки от неполного lifecycle - #362
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Карточка программного проекта больше не обещает редактирование, если list API не прислал достоверный
is_submitted. Состояниеfalseразрешает подпись только лидеру;trueпоказывает «Сдан в программу / только просмотр». Lifecycle и роль остаются независимыми, CTA — «Открыть» → detail.Добавлена интеграционная регрессия: сырой сокращённый snake_case ответ
/auth/users/projects/проходит через настоящий HTTP interceptor, адаптер, репозиторий и use case до DOM карточки. Проверены true/false/отсутствие поля, draft, роли и последовательная загрузка неполного ответа после полного.База DEV:
69b37d12000b22fd09b77b5a35d95812bf6fbda5.Head:
d0d84b8e8e11b80885236df92748698e4e696a9d.Проверки локально, Node 20.20.2 / npm 10.8.2:
npm ci— exit 0.--pool=forks— 80/80, exit 0.npm run test:ci -- --pool=forks— 1703/1703, 372 файла, exit 0, без unhandled errors.npm run test:ciбез флага — exit 1: известный локальный NG0401 в setup, тесты не запустились (372 файла). Этот запуск не объявляется GREEN. Test setup не менялся.npm run format:check,npm run lint:ts, scopednpx stylelint projects/social_platform/src/app/ui/widgets/info-card/info-card.component.scss,npm run build:prod,git diff --check— exit 0.Документация:
docs/project-card-list-contract.md.Для полного исправления нужен additive backend-контракт
program_link_id/program_id/is_submittedтой же legacy-связи, что в detail (минимальный PK). Backend следует развернуть первым после отдельного разрешения. На старом контракте эта защита даёт только просмотр, но факт сдачи без данных не выдумывает.Live DEV сравнение list/detail реального сданного проекта не выполнено: merge/deploy не проводились. Это отдельная будущая приёмка.
Изменений редактора, submit, detail guard, прав, CTA, HTML/SCSS, dependencies, CI/workflows и React нет. Draft → dev; не merge/deploy.
Backend Draft PR: PROCOLLAB-github/api#748