fix(tradein): удалить white-label бренд «Практика» целиком (БД + маппинг + ассеты) #1779

Merged
lekss361 merged 1 commit from fix/tradein-remove-praktika-brand into main 2026-06-19 10:09:39 +00:00
Owner

Что

Бизнес-решение: полностью снять white-label бренд «Практика». Дополняет PR #1778 (видимый баннер) — здесь убирается сама инфраструктура бренда, чтобы аккаунты praktika/kopylov видели generic «Мера», и нигде не осталось ссылок на «Практику».

Изменения (7 файлов)

  • data/sql/121_remove_brand_praktika.sql (NEW) — DELETE FROM brands WHERE slug='praktika' в BEGIN/COMMIT, идемпотентно. Номер 121 → авто-применяется на деплое после seed-002 и update-084/099 (и на проде, и на fresh-build). Историчные 002/084/099 не трогаю (immutable).
  • app/core/auth.py_USERNAME_BRAND теперь {} (было {"praktika":"praktika"}; kopylov уже был снят ранее). get_brand_for_user без изменений → всегда None. Аккаунты praktika/kopylov в roles.yaml оставлены как pilot-логины — убран только брендинг.
  • tests/test_me_brand.py — ожидания перевёрнуты: praktika/kopylovNone.
  • frontend/public/brands/praktika.svggit rm (больше не на что ссылаться после удаления brand-строки).
  • useBrand.ts / Topbar.tsx / trade-in.css — нейтрализованы комментарии с «Практика». Без изменения логики рендера (Topbar сам показывает «Мера» при отсутствии бренда). Подтверждено: praktika-специфичного @font-face нет (только Manrope).

Тесты

pytest tests/test_me_brand.py tests/test_pdf_security.py40 passed. ruff check чисто. Pre-commit green.

После мержа/деплоя проверить

  • Миграция 121 отработала (_schema_migrations), строки brands.slug='praktika' нет.
  • Логины praktika/kopylov рендерят generic «Мера» (без лого «Практики»).

NB: аккаунты не удалял — если их тоже выпиливать, отдельным шагом.

## Что Бизнес-решение: полностью снять white-label бренд «Практика». Дополняет PR #1778 (видимый баннер) — здесь убирается сама инфраструктура бренда, чтобы аккаунты `praktika`/`kopylov` видели generic «Мера», и нигде не осталось ссылок на «Практику». ## Изменения (7 файлов) - **`data/sql/121_remove_brand_praktika.sql`** (NEW) — `DELETE FROM brands WHERE slug='praktika'` в BEGIN/COMMIT, идемпотентно. Номер 121 → авто-применяется на деплое **после** seed-002 и update-084/099 (и на проде, и на fresh-build). Историчные 002/084/099 не трогаю (immutable). - **`app/core/auth.py`** — `_USERNAME_BRAND` теперь `{}` (было `{"praktika":"praktika"}`; `kopylov` уже был снят ранее). `get_brand_for_user` без изменений → всегда `None`. **Аккаунты `praktika`/`kopylov` в `roles.yaml` оставлены** как pilot-логины — убран только брендинг. - **`tests/test_me_brand.py`** — ожидания перевёрнуты: `praktika`/`kopylov` → `None`. - **`frontend/public/brands/praktika.svg`** — `git rm` (больше не на что ссылаться после удаления brand-строки). - **`useBrand.ts` / `Topbar.tsx` / `trade-in.css`** — нейтрализованы комментарии с «Практика». Без изменения логики рендера (Topbar сам показывает «Мера» при отсутствии бренда). Подтверждено: praktika-специфичного `@font-face` нет (только Manrope). ## Тесты `pytest tests/test_me_brand.py tests/test_pdf_security.py` → **40 passed**. `ruff check` чисто. Pre-commit green. ## После мержа/деплоя проверить - Миграция 121 отработала (`_schema_migrations`), строки `brands.slug='praktika'` нет. - Логины `praktika`/`kopylov` рендерят generic «Мера» (без лого «Практики»). NB: аккаунты не удалял — если их тоже выпиливать, отдельным шагом.
lekss361 added 1 commit 2026-06-19 09:54:23 +00:00
fix(tradein): remove «Практика» white-label brand (DB row + account mapping + assets)
All checks were successful
CI / openapi-codegen-check (pull_request) Has been skipped
CI / changes (pull_request) Successful in 6s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
ea453c3ff2
lekss361 merged commit be3a5df8eb into main 2026-06-19 10:09:39 +00:00
lekss361 deleted branch fix/tradein-remove-praktika-brand 2026-06-19 10:09:39 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1779
No description provided.