th-multi-tenancy.ts
899 Bytes
import { requestClient } from '#/api/request';
export interface ThTenantSelectDto {
id: string;
name: string;
}
function normalizeTenantSelectItem(
raw: Record<string, unknown>,
): 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<string, unknown>),
);
}
/** GET /api/app/th-multi-tenancy/tenant-select(匿名,登录页租户下拉) */
export async function thTenantSelectList(): Promise<ThTenantSelectDto[]> {
const raw = await requestClient.get<unknown>(
'th-multi-tenancy/tenant-select',
{
errorMessageMode: 'none',
successMessageMode: 'none',
},
);
return normalizeTenantSelectList(raw);
}