forked from wangziqi/gongxue-base
feat: add tenant role template console
This commit is contained in:
@@ -249,6 +249,54 @@ export interface TenantOverview {
|
||||
publicConfig?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export interface TenantPermissionCatalogItem {
|
||||
key: string;
|
||||
label?: string;
|
||||
description?: string;
|
||||
}
|
||||
|
||||
export interface TenantPermissionsPayload {
|
||||
current?: Record<string, unknown>;
|
||||
permissions?: TenantPermissionCatalogItem[];
|
||||
menuGroups?: TenantPermissionCatalogItem[];
|
||||
fieldGroups?: TenantPermissionCatalogItem[];
|
||||
fieldCatalog?: TenantPermissionCatalogItem[];
|
||||
roleDefaults?: Record<string, string[]>;
|
||||
}
|
||||
|
||||
export interface TenantRoleTemplateItem {
|
||||
id: string;
|
||||
code: string;
|
||||
name: string;
|
||||
description?: string | null;
|
||||
baseRole?: string;
|
||||
status?: string;
|
||||
permissions?: Record<string, boolean>;
|
||||
menuPermissions?: Record<string, boolean>;
|
||||
modulePermissions?: Record<string, boolean>;
|
||||
fieldPermissions?: Record<string, boolean>;
|
||||
dataScope?: Record<string, unknown>;
|
||||
isSystem?: boolean;
|
||||
sortOrder?: number;
|
||||
createdAt?: string;
|
||||
updatedAt?: string;
|
||||
}
|
||||
|
||||
export interface TenantRoleTemplateInput {
|
||||
id?: string;
|
||||
code: string;
|
||||
name: string;
|
||||
description?: string | null;
|
||||
baseRole: string;
|
||||
status?: string;
|
||||
permissions?: Record<string, boolean>;
|
||||
menuPermissions?: Record<string, boolean>;
|
||||
modulePermissions?: Record<string, boolean>;
|
||||
fieldPermissions?: Record<string, boolean>;
|
||||
dataScope?: Record<string, unknown>;
|
||||
sortOrder?: number;
|
||||
}
|
||||
|
||||
export async function loadTenantDashboard(timeRange = '30d') {
|
||||
return apiRequest<{ item?: TenantDashboard }>('/api/tenant-admin/dashboard', { query: { timeRange } });
|
||||
}
|
||||
@@ -258,7 +306,7 @@ export async function loadTenantOverview() {
|
||||
}
|
||||
|
||||
export async function loadTenantPermissions() {
|
||||
return apiRequest<{ items?: Record<string, unknown>[]; modules?: Record<string, unknown>[] }>('/api/tenant-admin/permissions');
|
||||
return apiRequest<TenantPermissionsPayload>('/api/tenant-admin/permissions');
|
||||
}
|
||||
|
||||
export async function loadTenantClasses(limit = 50) {
|
||||
@@ -394,7 +442,21 @@ export async function loadAuthProviders() {
|
||||
}
|
||||
|
||||
export async function loadRoleTemplates() {
|
||||
return apiRequest<{ items?: Record<string, unknown>[] }>('/api/tenant-admin/role-templates');
|
||||
return apiRequest<{ items?: TenantRoleTemplateItem[] }>('/api/tenant-admin/role-templates');
|
||||
}
|
||||
|
||||
export async function upsertRoleTemplate(input: TenantRoleTemplateInput) {
|
||||
return apiRequest<{ item?: TenantRoleTemplateItem }>('/api/tenant-admin/role-templates', {
|
||||
method: 'PUT',
|
||||
body: input,
|
||||
});
|
||||
}
|
||||
|
||||
export async function disableRoleTemplate(roleTemplateId: string) {
|
||||
return apiRequest<{ item?: TenantRoleTemplateItem }>('/api/tenant-admin/role-templates/disable', {
|
||||
method: 'POST',
|
||||
body: { roleTemplateId },
|
||||
});
|
||||
}
|
||||
|
||||
export async function loadCrmQueue(limit = 20) {
|
||||
|
||||
Reference in New Issue
Block a user