@dbs-portal/module-tenant-management
Version:
Tenant management and multi-tenancy support module
143 lines • 5.36 kB
TypeScript
/**
* Tenant Management Hooks
*/
import type { Tenant, CreateTenantRequest, UpdateTenantRequest, TenantLookupDto, TenantAnalytics, TenantBackup, TenantRestoreRequest, AvailableFeature } from '../types';
export declare const tenantKeys: {
all: readonly ["tenants"];
lists: () => readonly ["tenants", "list"];
list: (filters: Record<string, any>) => readonly ["tenants", "list", Record<string, any>];
details: () => readonly ["tenants", "detail"];
detail: (id: string) => readonly ["tenants", "detail", string];
lookup: () => readonly ["tenants", "lookup"];
analytics: (id: string, period: string) => readonly ["tenants", "analytics", string, string];
backups: (id: string) => readonly ["tenants", "backups", string];
features: () => readonly ["tenants", "features"];
statistics: () => readonly ["tenants", "statistics"];
};
/**
* Get tenants with pagination and filtering
*/
export declare function useTenants(page?: number, pageSize?: number, search?: string, isActive?: boolean, sortBy?: string, sortOrder?: 'asc' | 'desc', options?: {
enabled?: boolean;
}): import("@tanstack/react-query").UseQueryResult<import(".").TenantsResponse, Error>;
/**
* Get single tenant by ID
*/
export declare function useTenant(id: string): import("@tanstack/react-query").UseQueryResult<Tenant, Error>;
/**
* Get tenant lookup data
*/
export declare function useTenantLookup(): import("@tanstack/react-query").UseQueryResult<TenantLookupDto[], Error>;
/**
* Create new tenant
*/
export declare function useCreateTenant(): import("@tanstack/react-query").UseMutationResult<Tenant, Error, CreateTenantRequest, unknown>;
/**
* Update existing tenant
*/
export declare function useUpdateTenant(): import("@tanstack/react-query").UseMutationResult<Tenant, Error, UpdateTenantRequest, unknown>;
/**
* Delete tenant
*/
export declare function useDeleteTenant(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
/**
* Activate tenant
*/
export declare function useActivateTenant(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
/**
* Deactivate tenant
*/
export declare function useDeactivateTenant(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
/**
* Get tenant analytics
*/
export declare function useTenantAnalytics(id: string, period?: 'day' | 'week' | 'month' | 'year'): import("@tanstack/react-query").UseQueryResult<TenantAnalytics, Error>;
/**
* Test tenant connection
*/
export declare function useTestTenantConnection(): import("@tanstack/react-query").UseMutationResult<import(".").TenantConnection, Error, string, unknown>;
/**
* Update tenant connection
*/
export declare function useUpdateTenantConnection(): import("@tanstack/react-query").UseMutationResult<void, Error, {
id: string;
connectionString: string;
}, unknown>;
/**
* Get available features
*/
export declare function useAvailableFeatures(): import("@tanstack/react-query").UseQueryResult<AvailableFeature[], Error>;
/**
* Update tenant features
*/
export declare function useUpdateTenantFeatures(): import("@tanstack/react-query").UseMutationResult<void, Error, {
id: string;
features: any[];
}, unknown>;
/**
* Get tenant backups
*/
export declare function useTenantBackups(id: string): import("@tanstack/react-query").UseQueryResult<TenantBackup[], Error>;
/**
* Create tenant backup
*/
export declare function useCreateTenantBackup(): import("@tanstack/react-query").UseMutationResult<TenantBackup, Error, {
id: string;
name: string;
description?: string;
options?: any;
}, unknown>;
/**
* Restore tenant from backup
*/
export declare function useRestoreTenantFromBackup(): import("@tanstack/react-query").UseMutationResult<void, Error, TenantRestoreRequest, unknown>;
/**
* Delete tenant backup
*/
export declare function useDeleteTenantBackup(): import("@tanstack/react-query").UseMutationResult<void, Error, {
tenantId: string;
backupId: string;
}, unknown>;
/**
* Get tenant statistics
*/
export declare function useTenantStatistics(): import("@tanstack/react-query").UseQueryResult<{
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;
}>;
}, Error>;
/**
* Bulk activate tenants
*/
export declare function useBulkActivateTenants(): import("@tanstack/react-query").UseMutationResult<void, Error, string[], unknown>;
/**
* Bulk deactivate tenants
*/
export declare function useBulkDeactivateTenants(): import("@tanstack/react-query").UseMutationResult<void, Error, string[], unknown>;
/**
* Bulk delete tenants
*/
export declare function useBulkDeleteTenants(): import("@tanstack/react-query").UseMutationResult<void, Error, string[], unknown>;
/**
* Clone tenant
*/
export declare function useCloneTenant(): import("@tanstack/react-query").UseMutationResult<Tenant, Error, {
sourceId: string;
newName: string;
newDisplayName: string;
options?: any;
}, unknown>;
//# sourceMappingURL=use-tenants.d.ts.map