- vitest зафиксирован точно на 3.1.4: в зеркале npm банка нет 3.2.x, lock-файл не в git, каретка давала бы разные версии снаружи и внутри контура; - DevLogin больше не выбирает форму по NODE_ENV: платформа всегда собирает фронт в production, а контур работает на dev-заглушке аутентификации, переменные сборки в пайплайне задать нельзя. Форма входа по email показывается всегда; заглушка «Вход выполняется через РАИСА» — только после 404 «Not Found» от бэкенда (маршрута /dev/token нет → dev-эмитент выключен). Признак вынесен в isDevIssuerDisabled и покрыт тестами: 404 «пользователь не найден» остаётся ошибкой в форме. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
11 lines
802 B
TypeScript
11 lines
802 B
TypeScript
import { ApiError } from '../api/client';
|
||
|
||
/**
|
||
* Маршрут `POST /dev/token` существует только при `DEBUG=true` и `AUTH_DEV_ISSUER=true` на бэкенде; иначе приложение
|
||
* отвечает 404 со строкой «Not Found» (а не доменной ошибкой с кодом). Это и есть признак «dev-эмитент выключен,
|
||
* вход только через SSO». 404 «пользователь не найден или отключён» приходит с того же статуса, но от самого маршрута.
|
||
*/
|
||
export function isDevIssuerDisabled(error: unknown): boolean {
|
||
return error instanceof ApiError && error.status === 404 && error.code === undefined && error.message === 'Not Found';
|
||
}
|