import { requestClient } from '#/api/request'; export interface ThTenantSelectDto { id: string; name: string; } export interface ThCurrentTenantDto { tenantId: string | null; tenantName: string | null; } function normalizeTenantSelectItem( raw: Record, ): ThTenantSelectDto { return { id: String(raw.id ?? raw.Id ?? ''), name: String(raw.name ?? raw.Name ?? ''), }; } function normalizeTenantSelectList(raw: unknown): ThTenantSelectDto[] { const arr = Array.isArray(raw) ? raw : []; return arr.map((x) => normalizeTenantSelectItem(x as Record), ); } function normalizeCurrentTenant(raw: unknown): ThCurrentTenantDto { const o = raw && typeof raw === 'object' ? (raw as Record) : {}; const tenantId = o.tenantId ?? o.TenantId; const tenantName = o.tenantName ?? o.TenantName; return { tenantId: tenantId == null ? null : String(tenantId), tenantName: tenantName == null ? null : String(tenantName), }; } /** GET /api/app/th-multi-tenancy/tenant-select */ export async function thTenantSelectList(): Promise { const raw = await requestClient.get( 'th-multi-tenancy/tenant-select', { errorMessageMode: 'none', successMessageMode: 'none', }, ); return normalizeTenantSelectList(raw); } /** GET /api/app/th-multi-tenancy/current-tenant */ export async function thCurrentTenant(): Promise { const raw = await requestClient.get( 'th-multi-tenancy/current-tenant', { errorMessageMode: 'none', successMessageMode: 'none', }, ); return normalizeCurrentTenant(raw); }