/** * Mock-данные для AdminTenantsView. На API: GET /api/admin/tenants * (только super_admin role; tenant-isolation НЕ применяется — admin видит всех). * * Соответствует schema v8.7 §3 (tenants table) + ТЗ §22 (админка SaaS). */ export type TenantStatus = 'active' | 'trial' | 'overdue' | 'suspended'; export type TenantTariff = 'Trial' | 'Start' | 'Команда' | 'Pro' | 'Enterprise'; export interface AdminTenant { id: number; code: string; // 'TNT-0042' name: string; // 'Окна Москва ООО' inn: string; status: TenantStatus; statusText: string; // 'Активен' / 'Trial · 4 дня' / 'Просрочка 3 дня' / 'Приостановлен' tariff: TenantTariff; balanceRub: number; // signed todayDesired: number; todayActual: number; mrrRub: number | null; activitySince: string; // '28 мин назад' } export const MOCK_TENANTS: AdminTenant[] = [ { id: 42, code: 'TNT-0042', name: 'Окна Москва ООО', inn: '7724444444', status: 'active', statusText: 'Активен', tariff: 'Команда', balanceRub: 14250, todayDesired: 12, todayActual: 11, mrrRub: 990, activitySince: '28 мин назад', }, { id: 51, code: 'TNT-0051', name: 'Натяжные потолки СПб', inn: '7805123456', status: 'active', statusText: 'Активен', tariff: 'Команда', balanceRub: 38100, todayDesired: 8, todayActual: 14, mrrRub: 990, activitySince: '14 мин назад', }, { id: 67, code: 'TNT-0067', name: 'Кухни на заказ Екб', inn: '6671987654', status: 'active', statusText: 'Активен', tariff: 'Pro', balanceRub: 112800, todayDesired: 5, todayActual: 6, mrrRub: 2990, activitySince: '1 ч назад', }, { id: 88, code: 'TNT-0088', name: 'Ремонт под ключ', inn: '5024333222', status: 'trial', statusText: 'Trial · 4 дня', tariff: 'Trial', balanceRub: 450, todayDesired: 3, todayActual: 0, mrrRub: null, activitySince: '3 ч назад', }, { id: 92, code: 'TNT-0092', name: 'Двери Премиум', inn: '7732111000', status: 'overdue', statusText: 'Просрочка 3 дня', tariff: 'Команда', balanceRub: -1200, todayDesired: 0, todayActual: 0, mrrRub: 990, activitySince: '2 дня назад', }, { id: 105, code: 'TNT-0105', name: 'Оконные системы РФ', inn: '7707654321', status: 'suspended', statusText: 'Приостановлен', tariff: 'Start', balanceRub: 0, todayDesired: 0, todayActual: 0, mrrRub: null, activitySince: '7 дней назад', }, { id: 117, code: 'TNT-0117', name: 'Кухонная мебель Спб', inn: '7813222333', status: 'active', statusText: 'Активен', tariff: 'Enterprise', balanceRub: 486200, todayDesired: 28, todayActual: 31, mrrRub: 9990, activitySince: '8 мин назад', }, ]; export interface AdminStats { total: number; active: number; trial: number; overdue: number; monthlyRevenueRub: number; } export const MOCK_STATS: AdminStats = { total: 142, active: 128, trial: 9, overdue: 5, monthlyRevenueRub: 1248600, };