feat: restructure frontend routes — vendor/tenant persona split
Splits the flat 3-page UI into /vendor/* (platform:admin) and /tenant/* (all authenticated users) route trees, with stub pages, new API hooks, updated Layout with persona-aware sidebar, and SpaController forwarding. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,8 @@ export interface TenantResponse {
|
||||
slug: string;
|
||||
tier: string;
|
||||
status: string;
|
||||
serverEndpoint: string | null;
|
||||
provisionError: string | null;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
@@ -28,3 +30,64 @@ export interface MeResponse {
|
||||
logtoOrgId: string;
|
||||
}>;
|
||||
}
|
||||
|
||||
// Vendor API types
|
||||
export interface VendorTenantSummary {
|
||||
id: string;
|
||||
name: string;
|
||||
slug: string;
|
||||
tier: string;
|
||||
status: string;
|
||||
serverState: string;
|
||||
licenseExpiry: string | null;
|
||||
provisionError: string | null;
|
||||
}
|
||||
|
||||
export interface VendorTenantDetail {
|
||||
tenant: TenantResponse;
|
||||
serverState: string;
|
||||
serverHealthy: boolean;
|
||||
serverStatus: string;
|
||||
license: LicenseResponse | null;
|
||||
}
|
||||
|
||||
export interface CreateTenantRequest {
|
||||
name: string;
|
||||
slug: string;
|
||||
tier?: string;
|
||||
}
|
||||
|
||||
// Tenant portal API types
|
||||
export interface DashboardData {
|
||||
name: string;
|
||||
slug: string;
|
||||
tier: string;
|
||||
status: string;
|
||||
serverHealthy: boolean;
|
||||
serverStatus: string;
|
||||
serverEndpoint: string | null;
|
||||
licenseTier: string | null;
|
||||
licenseDaysRemaining: number;
|
||||
limits: Record<string, number>;
|
||||
features: Record<string, boolean>;
|
||||
}
|
||||
|
||||
export interface TenantLicenseData {
|
||||
id: string;
|
||||
tier: string;
|
||||
features: Record<string, boolean>;
|
||||
limits: Record<string, number>;
|
||||
issuedAt: string;
|
||||
expiresAt: string;
|
||||
token: string;
|
||||
daysRemaining: number;
|
||||
}
|
||||
|
||||
export interface TenantSettings {
|
||||
name: string;
|
||||
slug: string;
|
||||
tier: string;
|
||||
status: string;
|
||||
serverEndpoint: string | null;
|
||||
createdAt: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user