Деплои
runningtransmission/be-transmissiondev@docs(business): решения 02.09 по целевой архитектуре — нотификации-минимум, резолв онлайн (вариант А), мобилка → магазин напрямую, 2 URL для 1С, expand-contract
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 7568abc77966d49672b79579e109d79d29d042cc4sлоги →
runningtransmission/be-transmissiondev@docs(business): целевые решения 02.09 — SSO до мобилки, m2m в SSO, нотификации худеют до минимума
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: afc7aed62834f9cf9bc64e43489c56b0127bcdbe5sлоги →
runningtransmission/be-transmissiondev@docs(business): журнал 02.09 — решение о выносе SSO (репа SSO-transdetail, цель 3 провайдера) + находка двух ingestion-контрактов 1С (нотификации vs магазин, разные БД/пароли)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: daf06546a89acf45f4dd1d3caae3823ba12ab1f529sлоги →
runningwanmax/wanmax-fedev@fix(projects): [R-24] ложный «дубликат» при переименовании филиала
Проверка уникальности в модалке редактирования сравнивала новое имя со
списком ВСЕХ филиалов, включая сам редактируемый: «Сохранить» без изменений
или смена только регистра/пробелов всегда падали с «Филиал с таким названием
уже существует» (жалоба директора 01.09). Гипотеза подтверждена петлёй на
стенде: API-цепочка create→update→get возвращает кириллицу байт-в-байт,
ломался только фронтовый чек. Теперь своё текущее имя исключено из проверки;
совпадение с ДРУГИМ филиалом (без учёта регистра и краевых пробелов)
по-прежнему блокируется.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 9a1814bfc5bfbc1e1828abf474c79c260624437d196sлоги →
runningtransmission/be-transmissiondev@docs(business): аудит ТЗ+кода по регистрации/SSO — 5 проверенных фактов, 3 вопроса Виктору
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 316efc65ebbac908a90d52c23ddde50f945347f04sлоги →
runningtransmission/be-transmissiondev@docs(business): дополнение 24.08 — Макс за трек 3, миграция не нужна (тестовые юзеры)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 8775dd5520a71499e25f3fe33678ee5d71a49dc35sлоги →
runningtransmission/be-transmissiondev@docs(business): журнал — приёмка панели Виктором, вопрос о проде и SSO мобилки (24.08)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 9841180839e0cbf0026f01a9f904bc9a243f2b9529sлоги →
runningtransmission/fe-transmission-admindev@feat(login): страница входа — серый ADMIN PANEL, англ. плейсхолдеры, Sign in
По правкам Ивана 22.08: подзаголовок серым вместо синего; «Вход в панель»
убран; лейблы Логин/Пароль → плейсхолдеры Login/Password светло-серым;
кнопка — Sign in (чёрная, как кнопки внутри панели).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: c0164592e96ff1b256457c1bc1242d8f94f2788863sлоги →
runningtransmission/fe-transmission-admindev@docs: ACCEPTANCE-UI — осознанные отличия от фигмы (для показа Виктору)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 6dd20aec65dcf92e40efd2a3bea7389d3df45cfb22sлоги →
runningtransmission/fe-transmission-admindev@feat(users)+docs: создание пользователя — шапка по фигме; SectionIcon выпилен; журнал
Заголовок «Новый пользователь» со стрелкой-назад (последний экран со
старой шапкой); мёртвый SectionIcon удалён. STATUS: веха «фигма-редизайн
завершён» — все 4 раздела, ~30 попапов на едином Modal, 657 тестов 100×4.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 53d80f18f7b7fa2bd6081ba680b6de80506bf2d230sлоги →
runningtransmission/fe-transmission-admindev@feat(ct): карточка контакта по фигме — шапка, «Сводка» плитками, сисинфо полосой
Фигма «Контактное лицо»: заголовок = имя со стрелкой-назад и бейджами
(тип/источник/статус) вместо «Редактирование …» и кнопки под шапкой;
«Статистика» → «Сводка» мини-плитками с иконками (значения — дыры orders);
карточка «Системная информация» снята — GUID с копированием в нижней
полосе; кнопки быстрых действий без эмодзи.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 6d4d054eaa57b53c77fd452a7f6438dcbb4488f821sлоги →
runningtransmission/fe-transmission-admindev@feat(ct): контакты по фигме — список, KPI 3+3, попапы на Modal (9 диалогов)
Фигма «Контактные лица»: заголовок без иконки и подзаголовка; KPI двумя
рядами по 3 на общем KpiCard с «% от всех» (разбивки по типам у BE нет —
осознанное отличие, тип есть в фильтре); в таблице тип — серой подписью
под именем, «По умолчанию» — зелёной галкой-иконкой, пилюля активности
с точкой; глаз-SVG, удаление — пунктом кебаба. Все попапы карточки
(смена типа, перепривязка, default, блок/разблок, удаление, покинуть),
строки и bulk — на фигма-Modal с тестами крестиков. 657 тестов, 100×4.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: c3365146628e77338c4efe107a03e973504c2d5923sлоги →
runningtransmission/fe-transmission-admindev@feat(cp): попапы контрагентов на фигма-Modal — 7 диалогов
CpBlockPopup/CpDeletePopup (общие для списка, кебаба и быстрых действий),
bulk, отвязка пользователя, очистка/удаление корзины, несохранённые правки
карточки. Тональные иконки, крестики с тестами, опасное — красным текстом,
разблокировка — чёрной кнопкой. Read-only попапы колонок (§10.1–10.3)
оставлены как есть — фигма их не рисует, это наша функциональность по ТЗ.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: a01371108aec05bdfeace96fa75d52119c32adba22sлоги →
runningtransmission/fe-transmission-admindev@feat(cp): карточка контрагента по фигме — шапка, поля, сисинфо полосой
Фигма «Контрагент»: заголовок = название со стрелкой-назад и бейджами
(тип/источник/статус), причина блокировки — строкой под ним; тип
контрагента — полширины, телефон переехал вниз к email; статус-селект из
формы снят (блокировка — быстрые действия и кебаб списка); карточка
«Системная информация» убрана — GUID с копированием и даты заказов
(дыры) в нижней полосе; кнопки быстрых действий без эмодзи; в привязках
карандаш/красная корзина line-иконками.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 4b9f8149c289615dc5a80347c47785d57af9bab824sлоги →
runningtransmission/fe-transmission-admindev@feat(cp): список контрагентов по фигме — KPI 4+3 с долями, пилюля-активность, кебаб
Фигма «Контрагенты»: общий компонент KpiCard (иконка слева, доля в %,
дельта) — на нём KPI пользователей и контрагентов (4 + 3 широкие);
KPI «Без активных пользователей» снята (фигма: чекбокс в фильтрах — он
там уже был); заголовок без иконки и подзаголовка; колонка «Активность» —
только пилюля «● статус» с причиной (статус-дропдаун снят, блок/разблок —
в кебабе); действия строки — глаз-SVG + кебаб, «Удалить» ушёл пунктом
в кебаб (фигма).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 5d9dce04cd1570d316b2b415ae45dba61e9b8e6724sлоги →
runningtransmission/fe-transmission-admindev@feat(users): все попапы раздела на фигма-Modal — 11 диалогов в 7 компонентах
Блок/разблок/удаление/сессии (строка и карточка), несохранённые правки,
сброс пароля, one-shot пароль (создание и сброс — крестик заблокирован до
«я сохранил»), отвязка и подбор контрагента, завершение сессий, bulk.
Тональные иконки по макетам (замок красный/зелёный, warning на покидание),
опасные действия — красным текстом, позитивные — чёрной кнопкой; тесты
крестиков на каждый диалог. 650 тестов, 100×4.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: ddbf167a15a0e186f0892327c7bc6ef868b5b57426sлоги →
runningtransmission/fe-transmission-admindev@feat(users): карточка по фигме — шапка, основные данные 2×2, сисинфо полосой
Фигма «Пользователь»: заголовок = ФИО со стрелкой-назад, бейджи источника/
статуса + «В сети» при онлайне (вместо «Редактирование пользователя …» и
кнопки под шапкой); «Основные данные» сеткой ФИО|Телефон, Email|Активность
с подсказкой под заголовком; правая колонка — только «Каналы связи» и
«Быстрые действия» (карточки «Статистика» и «Системная информация» сняты);
метаданные — нижней полосой UserMetaBar (ID · GUID · даты · синк 1С ·
подтверждения · приложения). «На сети» → «В сети» (фигма).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: ae1a746cff9e1ff0116328d84a0924e10d5a9e9621sлоги →
runningtransmission/fe-transmission-admindev@feat(users): список по фигме — KPI 4+3 с иконками, заголовок, колонки, иконки строк
Фигма «Пользователи»: KPI двумя рядами (4 + 3 широкие) с цветными иконками
слева; заголовок без иконки-квадрата и подзаголовка; в таблице «Источник»
перед «Онлайн», колонка «Активность» с пилюлей «● Ожидает» (короткий лейбл);
действия строки — карандаш и красная корзина (line-иконки).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: ce93c7351bfc565d020312ea2f91f2f5c33f862e23sлоги →
runningwanmax/wanmax-bedev@fix(explorer): resolutionChoice не отдавался в /explorer/config — редактор считал все модели «фиксированными»
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: e2e5868851a8fd11f25a7f99189b8ab783a7a2c080sлоги →
runningwanmax/wanmax-bedev@feat(explorer): цена и параметры шагов не зависят от разрешения прогона (R-19)
Разрешение прогона = разрешение ЭТАЛОНА (история/отображение); шаги цепочек
исполняются по своему разрешению из конфигурации (дефолт 2К). Оценка цепочки
и прогона — одно число. Снапшот шага несёт resolution (у моделей с выбором) —
для колонки «Разрешение» в таблице прогона. Сьют 101 зелёный.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 6ac3379dfa86401363e2990dac795993bb4d4c7271sлоги →
runningwanmax/wanmax-fedev@feat(explorer): разрешение — на шаге цепочки; эталонное разрешение отдельно (R-19)
- «Целевое разрешение» формы касается ТОЛЬКО эталона; цена прогона/цепочек —
одна цифра, от него не зависит
- в редакторе у моделей, различающих 2К/4К, — выбор «Разрешение шага: 2К|4К»
с ценами (дефолт 2К); у остальных подпись «выход фиксированный»
- таблица прогона: новая колонка «Разрешение» (разрешение результата цепочки —
по последнему шагу со своим разрешением); из истории колонка убрана
- кнопка удаления шага — компактный крестик в правом верхнем углу карточки
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 487d65cda8f80e17b67f5fa6f0823bfee8d4f471123sлоги →
runningwanmax/wanmax-fedev@fix(explorer): вёрстка редактора цепочки + спиннеры и ошибки в табе «Прогон»
- редактор: шаги в компактных карточках (классы editorStepCard/QualityRow
наконец получили стили), лёгкие отступы, подписи качества
- эталон: оверлей со спиннером поверх превью на время обработки (как в модалке
улучшения), ошибка — Alert с текстом сервера и кнопкой «Повторить»
- прогон: строка «готово X из Y цепочек» со спиннером при выполнении,
уведомление по завершении (успех/частично)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: f55bd414aca13bd25cd591271ac0cca8be9ed47b104sлоги →
runningwanmax/wanmax-fedev@feat(explorer): редактор шагов v2 + табы страницы (R-19)
Редактор цепочки: у каждого шага после первого — выбор типа (генеративная /
апскейлер, промпт получает каждый генеративный шаг); у моделей, различающих
2К/4К, качество шага фиксируется (Как прогон | 2К | 4К) и влияет на цену.
Страница разбита на табы: Прогон / Конфигуратор цепочек / История — клик по
строке истории открывает прогон в табе «Прогон».
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 3ed67ca6a5016e6eda8e6d0bf6d86c90938a1f7b3sлоги →
runningwanmax/wanmax-fedev@feat(explorer): редактор шагов v2 + табы страницы (R-19)
Редактор цепочки: у каждого шага после первого — выбор типа (генеративная /
апскейлер, промпт получает каждый генеративный шаг); у моделей, различающих
2К/4К, качество шага фиксируется (Как прогон | 2К | 4К) и влияет на цену.
Страница разбита на табы: Прогон / Конфигуратор цепочек / История — клик по
строке истории открывает прогон в табе «Прогон».
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 3ed67ca6a5016e6eda8e6d0bf6d86c90938a1f7b4sлоги →
runningwanmax/wanmax-fedev@feat(explorer): редактор шагов v2 + табы страницы (R-19)
Редактор цепочки: у каждого шага после первого — выбор типа (генеративная /
апскейлер, промпт получает каждый генеративный шаг); у моделей, различающих
2К/4К, качество шага фиксируется (Как прогон | 2К | 4К) и влияет на цену.
Страница разбита на табы: Прогон / Конфигуратор цепочек / История — клик по
строке истории открывает прогон в табе «Прогон».
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 3ed67ca6a5016e6eda8e6d0bf6d86c90938a1f7b6sлоги →
runningwanmax/wanmax-fedev@feat(explorer): редактор шагов v2 + табы страницы (R-19)
Редактор цепочки: у каждого шага после первого — выбор типа (генеративная /
апскейлер, промпт получает каждый генеративный шаг); у моделей, различающих
2К/4К, качество шага фиксируется (Как прогон | 2К | 4К) и влияет на цену.
Страница разбита на табы: Прогон / Конфигуратор цепочек / История — клик по
строке истории открывает прогон в табе «Прогон».
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 3ed67ca6a5016e6eda8e6d0bf6d86c90938a1f7b112sлоги →
runningwanmax/wanmax-bedev@feat(explorer): шаги цепочек как объекты {model, resolution} — качество на шаг (R-19)
- шаг конфигурации: {model, resolution?}; фиксированное качество шага
побеждает разрешение прогона в параметрах и цене; легаси-записи со
строками-слагами нормализуются при чтении
- после первого шага допустимы и генеративные модели (промпт получает каждая),
и апскейлеры; качество можно фиксировать только у моделей с resolutionChoice
(8 шт. в реестре)
- 100 тестов зелёные (3 новых: вторая генеративная, качество шага, запрет
качества у моделей без выбора)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: b31f70acf1aa81c2d5ce79a0bd97780f1f3dc7c085sлоги →
runningwanmax/wanmax-bedev@feat(explorer): цепочки из Mongo с CRUD и сидом, реестр моделей, исполнение по снапшоту (R-19)
- explorer-models.registry.ts — кураторский реестр 16 моделей (пины/цены сверены
18.08), эталон отдельно; explorer-chains.config.ts удалён
- конфигурации цепочек в Mongo (explorer_chain_configs): CRUD + валидации
(1..5 шагов, генеративный первый, только слаги реестра), сид 11 цепочек
ресерча при пустой базе (R-19.4)
- прогон: исполняются включённые цепочки, оценка/лимит по ним (R-19.3)
- шаги прогона хранят полный снапшот исполнения — ретрай упавшей цепочки
работает даже после правки/удаления её конфигурации (R-19.6)
- GET /explorer/config отдаёт реестр моделей + набор из БД; POST/PUT/DELETE
/explorer/chains (только админ)
Сьют 97 зелёный (44 explorer-теста, R-19 покрыт).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 33cbcb586ac745771bb82916cd50a508d369f993106sлоги →
runningwanmax/wanmax-fedev@feat(explorer): конфигуратор цепочек в UI (R-19)
Секция во вкладке: набор цепочек из БД (сид — 11 цепочек ресерча), switch
«В прогоне» (прогон исполняет включённые, оценка по ним), редактор: название +
шаг 1 из генеративных моделей справочника + до 4 апскейлеров, цена на лету.
Руководителю — только чтение. Справочник моделей — кураторский (BE-реестр).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 541520752f49a824d4e2434659527e4cef02725d148sлоги →
runningwanmax/wanmax-fedev@fix(explorer): петля запросов после завершения прогона
Инвалидация списка ["/explorer/runs"] префиксно накрывала и ключ прогона
["/explorer/runs", id] — каждый ответ рефетчил прогон, тот снова инвалидировал
список: непрерывный поток пар запросов. Теперь список обновляется только на
переходе running → завершён и строго exact.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: eb5f136f53e4de430d128b02d95450258d8cc5bf181sлоги →
runningwanmax/wanmax-bedev@feat(explorer): перезапуск упавшей цепочки отдельно (R-13.6)
POST /explorer/runs/:id/chains/:chainId/retry (только админ): переисполняются
шаги одной цепочки, траты неудачной попытки фиксируются в wastedUsd и честно
входят в факт прогона; итог прогона пересчитывается finalizeRun по состоянию
всех цепочек. 5 новых тестов [R-13]/[R-15], сьют 96 зелёный.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: b53cc73ecd273d12c9a49ec12cfcf665b3259d444sлоги →
runningwanmax/wanmax-bedev@feat(explorer): перезапуск упавшей цепочки отдельно (R-13.6)
POST /explorer/runs/:id/chains/:chainId/retry (только админ): переисполняются
шаги одной цепочки, траты неудачной попытки фиксируются в wastedUsd и честно
входят в факт прогона; итог прогона пересчитывается finalizeRun по состоянию
всех цепочек. 5 новых тестов [R-13]/[R-15], сьют 96 зелёный.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: b53cc73ecd273d12c9a49ec12cfcf665b3259d4472sлоги →
runningwanmax/wanmax-fedev@feat(explorer): карусель шагов цепочки + кнопка перезапуска упавшей (R-14.4, R-13.6)
«Смотреть» — карусель в большом масштабе: исходник → каждый шаг → последний
кадр со слайдером «результат ⟷ эталон»; «С эталоном» открывает сразу последний
кадр. У упавшей цепочки (для админа) — «Перезапустить ($X)»; в цене строки
видно потраченное неудачными попытками. CompareModal заменён каруселью.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: fd7637903f47b739b463a7787ccbad26639e9a22100sлоги →
runningwanmax/wanmax-fedev@feat(explorer): выбор промпта как в модалке улучшения — справочник, избранное филиала, версии (R-12, R-13.5)
Вместо ручного textarea: общий справочник промптов (useGetPrompts), избранные
филиала сверху со звёздами (favoritesApi), выбор версии из history с тултипом
тела и описанием; в прогон уходит тело выбранной версии (превью показывается).
Логика сортировки/резолва тела вынесена в promptSelection.ts под тесты [R-12].
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: bae6745b2d9aab73e9b5eabbe1114cbd8588fff4200sлоги →
runningwanmax/wanmax-bedev@fix(cors): домены стенда в белом списке — стендовый фронт не мог логиниться
Стенд wanmax.nodeport.ru отсутствовал в origin-списке: preflight отвечал 204,
но без access-control-allow-origin — браузер резал запрос авторизации.
Список вынесен в common/cors-origins.ts (тест [R-11]), добавлены домены стенда
и dev-порт 3005; точечные добавки — через CORS_EXTRA_ORIGINS без правки кода.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 859b32a5a34cd8358ffef7a101773833dbfdbf5b86sлоги →
runningtransmission/be-transmissiondev@fix: корреляция подзапросов списков — счётчики связей/онлайна врали
drizzle рендерит ${users.id} внутри raw-подзапроса неквалифицированным "id",
и Postgres резолвит его в колонку самого подзапроса (l.id) — activeCounterparties
в списке пользователей показывал мусор (баг приёмки FE 18.08: «1» у всех),
та же грабля в onlineExpr/lastActiveAt, usersStats.withCounterparties,
counterpartiesStats.withoutActiveUsers. Все коррелированные колонки внешней
таблицы теперь квалифицируются как ${table}."col". Регрессия — в тестах
привязок (список = карточка).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 19b64a0cabe1b6d63d68e372e72c4271f04ebce232sлоги →
runningtransmission/be-transmissiondev@feat: справочники служб доставки и ПВЗ (каскад)
GET /api/admin/dictionaries/delivery-services (только активные) — фильтр
«Служба доставки» списка контактов (List §7); GET …/:guid/pickup-points —
каскад ПВЗ в карточке контакта (Edit).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 247b2bb637c6162c8216a7b448bb71cd47db4f5f86sлоги →
runningtransmission/be-transmissiondev@feat: details в сериализации ApiError — UI-ссылка «Открыть существующего»
inn_kpp_taken уже нёс details {id,guid} существующего контрагента, но обработчик
ошибок их отбрасывал. Теперь details доезжают до панели (Edit §12).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 90ee6ce4a55eb246e8d2df882e24d1496b23743829sлоги →
runningtransmission/be-transmissiondev@fix: булевы query-фильтры — BoolQuery вместо z.coerce.boolean
z.coerce.boolean() коэрсит любую непустую строку (включая 'false') в true:
фильтр detailedStock=false был неотличим от true, «Дет. наличие: Выключено»
в панели невозможен. BoolQuery принимает boolean (body) и явные 'true'/'false'
(query), мусор — 422. Затронуты counterparties (detailedStock, noActiveUsers)
и api-logs (only_errors).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 33569094601adfd548557b6752abeeccd34350fa19sлоги →
runningtransmission/be-transmissiondev@feat: справочник типов цен GET /api/admin/dictionaries/price-types
Read-only словарь для фильтра «Тип цены» списка контрагентов (List §7)
и селектора в карточке (Edit). Панель справочник не правит — ведёт 1С/сид.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 41a1563ba8d72c0835e64f48b9a15f8e24230a9127sлоги →
runningtransmission/api-transmissiondev@feat(config): фича-флаги мобилки по умолчанию включены
APP_FEATURE_* теперь гасятся только явным 'false' — отсутствие env
означает «включено». Убирает необходимость выставлять env на каждом
инстансе для включения живых фич.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: ceafe5f9a430ca92357c3998d0e1eb684fc525049sлоги →
runningtransmission/api-transmissiondev@feat(mobile-api): живая регистрация и самоудаление аккаунта
- POST /api/v1/auth/register — создаёт реального пользователя
(login=телефон, bcrypt, гонка решается ON CONFLICT по users.login),
сразу возвращает сессию (авто-логин), 409 LOGIN_TAKEN на повтор
- DELETE /api/v1/me/account — самоудаление: переиспользует deleteUser
(каскад по FK + best-effort чистка Pushwoosh); требование сторов
при наличии регистрации
- app-config: флаг features.accountDeletion (APP_FEATURE_ACCOUNT_DELETION)
- тесты: tests/mobile/account.test.ts — 8 кейсов (регистрация, авто-логин,
повторный логин, 409, валидация, удаление своё/зарегистрированного, 401)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> — Commit: 1a429f0e0e29a24315cf1e54dcf4ac176880749333sлоги →