UNPKG

@dbs-portal/module-tenant-management

Version:

Tenant management and multi-tenancy support module

133 lines 4.03 kB
/** * Tenant Service - Handles tenant CRUD operations and management */ import type { Tenant, TenantsResponse, CreateTenantRequest, UpdateTenantRequest, TenantLookupDto, TenantAnalytics, TenantConnection, TenantBackup, TenantRestoreRequest, AvailableFeature } from '../types'; export declare class TenantService { private httpClient; constructor(baseURL?: string); /** * Get all tenants with pagination and filtering */ getTenants(page?: number, pageSize?: number, search?: string, isActive?: boolean, sortBy?: string, sortOrder?: 'asc' | 'desc'): Promise<TenantsResponse>; /** * Get tenant by ID */ getTenant(id: string): Promise<Tenant>; /** * Create new tenant */ createTenant(tenant: CreateTenantRequest): Promise<Tenant>; /** * Update existing tenant */ updateTenant(tenant: UpdateTenantRequest): Promise<Tenant>; /** * Delete tenant */ deleteTenant(id: string): Promise<void>; /** * Get tenant lookup data (for dropdowns, etc.) */ getTenantLookup(): Promise<TenantLookupDto[]>; /** * Activate tenant */ activateTenant(id: string): Promise<void>; /** * Deactivate tenant */ deactivateTenant(id: string): Promise<void>; /** * Get tenant analytics */ getTenantAnalytics(id: string, period?: 'day' | 'week' | 'month' | 'year'): Promise<TenantAnalytics>; /** * Test tenant connection */ testTenantConnection(id: string): Promise<TenantConnection>; /** * Update tenant connection string */ updateTenantConnection(id: string, connectionString: string): Promise<void>; /** * Get available features */ getAvailableFeatures(): Promise<AvailableFeature[]>; /** * Update tenant features */ updateTenantFeatures(id: string, features: any[]): Promise<void>; /** * Create tenant backup */ createTenantBackup(id: string, name: string, description?: string, options?: { includeData?: boolean; includeSettings?: boolean; includeUsers?: boolean; }): Promise<TenantBackup>; /** * Get tenant backups */ getTenantBackups(id: string): Promise<TenantBackup[]>; /** * Restore tenant from backup */ restoreTenantFromBackup(request: TenantRestoreRequest): Promise<void>; /** * Delete tenant backup */ deleteTenantBackup(tenantId: string, backupId: string): Promise<void>; /** * Get tenant statistics summary */ getTenantStatistics(): Promise<{ totalTenants: number; activeTenants: number; inactiveTenants: number; totalUsers: number; totalStorage: number; averageUsersPerTenant: number; topTenantsByUsers: Array<{ tenantId: string; name: string; userCount: number; }>; topTenantsByStorage: Array<{ tenantId: string; name: string; storageUsed: number; }>; }>; /** * Bulk operations on tenants */ bulkActivateTenants(tenantIds: string[]): Promise<void>; bulkDeactivateTenants(tenantIds: string[]): Promise<void>; bulkDeleteTenants(tenantIds: string[]): Promise<void>; /** * Export tenant data */ exportTenantData(id: string, format?: 'json' | 'csv' | 'xlsx'): Promise<Blob>; /** * Import tenant data */ importTenantData(id: string, file: File, options?: { overwrite?: boolean; validateOnly?: boolean; }): Promise<{ success: boolean; imported: number; skipped: number; errors: string[]; }>; /** * Clone tenant */ cloneTenant(sourceId: string, newName: string, newDisplayName: string, options?: { includeData?: boolean; includeSettings?: boolean; includeUsers?: boolean; includeFeatures?: boolean; }): Promise<Tenant>; } //# sourceMappingURL=tenant-service.d.ts.map