{"_id":"@dbs-portal/module-tenant-management","name":"@dbs-portal/module-tenant-management","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@dbs-portal/module-tenant-management","version":"1.0.0","description":"Tenant management and multi-tenancy support module","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./components":{"import":"./dist/components.js","types":"./dist/components.d.ts"},"./services":{"import":"./dist/services.js","types":"./dist/services.d.ts"},"./types":{"import":"./dist/types.js","types":"./dist/types.d.ts"},"./hooks":{"import":"./dist/hooks.js","types":"./dist/hooks.d.ts"}},"scripts":{"build":"tsc && vite build","dev":"tsc --watch","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","lint":"biome lint src","format":"biome format src --write","type-check":"tsc --noEmit","clean":"rm -rf dist","migrate-build-config":"node ../../tools/build/scripts/migrate-package.mjs","verify-build-config":"node ../../tools/build/scripts/verify-build-config.mjs"},"dependencies":{"@dbs-portal/core-api":"1.0.0","@dbs-portal/core-auth":"1.0.0","@dbs-portal/core-shared":"1.0.0","@dbs-portal/core-store":"1.0.0","@dbs-portal/core-ui":"1.0.0","@tanstack/react-query":"^5.0.0","@tanstack/react-router":"^1.0.0","antd":"^5.0.0","date-fns":"^3.0.0","immer":"^10.0.0","lodash-es":"^4.17.21","react":"^18.2.0","react-dom":"^18.2.0","uuid":"^9.0.0","zod":"^3.0.0","zustand":"^4.0.0"},"devDependencies":{"@dbs-portal/tool-build":"1.0.0","@dbs-portal/tool-testing":"1.0.0","@dbs-portal/tool-tsconfig":"1.0.0","@testing-library/jest-dom":"^6.6.4","@types/lodash-es":"^4.17.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0","@types/uuid":"^9.0.0","typescript":"^5.0.0","vite":"^5.0.0","vitest":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["tenant","multi-tenancy","management","react","typescript","dbs-portal"],"author":{"name":"DBS Portal Team"},"repository":{"type":"git","url":"git+https://github.com/your-org/dbs-portal.git","directory":"packages/modules/tenant-management"},"bugs":{"url":"https://github.com/your-org/dbs-portal/issues"},"homepage":"https://github.com/your-org/dbs-portal#readme","license":"MIT","_id":"@dbs-portal/module-tenant-management@1.0.0","gitHead":"32a17a69bb7ce5f93e41516559864587e8144618","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-LFfYN9qC/vrtL/dsTA9a2VDaKEiibS94nk6554C9YRWBWGtpXwuFIipThYh1Cfz3n6N+GceL+cBkgg19RoO/zA==","shasum":"628a0cb22a628bca3c972bb7c08241ae2628c89b","tarball":"https://registry.npmjs.org/@dbs-portal/module-tenant-management/-/module-tenant-management-1.0.0.tgz","fileCount":60,"unpackedSize":1677458,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCAdsTCslBQDuSuibcJwEiUgYa39ANZzR6C2FF8RGzFJwIgUH3x9qGde9SVBKzvkpNgZGuslYkMWmtRQaTCGHA4Phw="}]},"_npmUser":{"name":"longvq","email":"vqlong1604@gmail.com"},"directories":{},"maintainers":[{"name":"longvq","email":"vqlong1604@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/module-tenant-management_1.0.0_1754218471462_0.3260502794383713"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-03T10:54:31.354Z","1.0.0":"2025-08-03T10:54:31.668Z","modified":"2025-08-03T10:54:31.989Z"},"maintainers":[{"name":"longvq","email":"vqlong1604@gmail.com"}],"description":"Tenant management and multi-tenancy support module","homepage":"https://github.com/your-org/dbs-portal#readme","keywords":["tenant","multi-tenancy","management","react","typescript","dbs-portal"],"repository":{"type":"git","url":"git+https://github.com/your-org/dbs-portal.git","directory":"packages/modules/tenant-management"},"author":{"name":"DBS Portal Team"},"bugs":{"url":"https://github.com/your-org/dbs-portal/issues"},"license":"MIT","readme":"# @dbs-portal/module-tenant-management\n\nA comprehensive multi-tenancy management module for DBS Portal, providing tenant CRUD operations, context switching, analytics, feature management, and backup/restore capabilities.\n\n## Features\n\n### 🏢 Tenant Management\n- Complete CRUD operations for tenant entities\n- Tenant activation/deactivation with status tracking\n- Bulk operations for multiple tenants\n- Tenant cloning with configurable options\n- Connection string management and testing\n\n### 🔄 Multi-Tenant Context\n- Seamless tenant switching with context preservation\n- Tenant-aware React context provider\n- Automatic tenant detection and validation\n- Tenant isolation and security boundaries\n\n### 📊 Analytics & Monitoring\n- Comprehensive tenant analytics dashboard\n- Usage metrics and growth tracking\n- Performance monitoring and uptime statistics\n- Revenue analytics and user engagement metrics\n\n### ⚙️ Feature Management\n- Dynamic feature flag management per tenant\n- Feature expiration and lifecycle management\n- Granular feature configuration with typed values\n- Feature dependency and requirement tracking\n\n### 💾 Backup & Restore\n- Automated and manual backup creation\n- Multiple backup types (full, incremental, differential)\n- Backup scheduling and retention policies\n- One-click restore with data validation\n\n### 🎨 Advanced UI Components\n- **TenantDetail**: Comprehensive tenant information display\n- **TenantSwitcher**: Multi-tenant context switcher with search\n- **TenantAnalytics**: Real-time analytics dashboard\n- **TenantFeatureManager**: Feature flag management interface\n- **TenantBackupManager**: Backup and restore operations\n- **Tenant CRUD Operations**: Create, read, update, and delete tenants\n- **Feature Management**: Configure tenant-specific features and limitations\n- **Connection Management**: Manage tenant database connections\n- **Analytics Dashboard**: Tenant usage statistics and analytics\n- **Tenant Switching**: Easy tenant context switching for administrators\n\n## Installation\n\n```bash\nyarn add @dbs-portal/module-tenant-management\n```\n\n## Usage\n\n```typescript\nimport { \n  TenantList, \n  TenantForm, \n  TenantDetail,\n  useTenants,\n  TenantProvider \n} from '@dbs-portal/module-tenant-management'\n\n// Wrap your app with TenantProvider\nfunction App() {\n  return (\n    <TenantProvider>\n      <TenantList />\n    </TenantProvider>\n  )\n}\n\n// Use tenant hooks\nfunction TenantComponent() {\n  const { data: tenants, isLoading } = useTenants()\n  \n  return (\n    <div>\n      {tenants?.map(tenant => (\n        <div key={tenant.id}>{tenant.name}</div>\n      ))}\n    </div>\n  )\n}\n```\n\n## Components\n\n### Core Components\n- `TenantList` - List all tenants with filtering and pagination\n- `TenantForm` - Create/edit tenant form with validation\n- `TenantDetail` - Detailed tenant information and statistics\n- `TenantSwitcher` - Tenant context switching component\n\n### Advanced Components\n- `TenantFeatureManager` - Manage tenant-specific features\n- `TenantAnalytics` - Tenant usage analytics dashboard\n- `TenantConnectionManager` - Database connection management\n- `TenantBackupRestore` - Backup and restore functionality\n\n## Hooks\n\n### Data Hooks\n- `useTenants()` - Fetch tenants with pagination\n- `useTenant(id)` - Fetch single tenant\n- `useCreateTenant()` - Create new tenant\n- `useUpdateTenant()` - Update existing tenant\n- `useDeleteTenant()` - Delete tenant\n\n### Feature Hooks\n- `useTenantFeatures(id)` - Manage tenant features\n- `useTenantAnalytics(id)` - Get tenant analytics\n- `useTenantConnections(id)` - Manage connections\n- `useCurrentTenant()` - Get current tenant context\n\n## Services\n\n- `TenantService` - Core tenant CRUD operations\n- `TenantFeatureService` - Feature management\n- `TenantAnalyticsService` - Analytics and reporting\n- `TenantConnectionService` - Connection management\n\n## Types\n\n```typescript\ninterface Tenant {\n  id: string\n  name: string\n  displayName: string\n  connectionString?: string\n  isActive: boolean\n  features: TenantFeature[]\n  createdAt: Date\n  updatedAt: Date\n}\n\ninterface TenantFeature {\n  name: string\n  isEnabled: boolean\n  value?: any\n  expiresAt?: Date\n}\n```\n\n## Multi-tenancy Support\n\nThis module provides complete multi-tenancy support including:\n\n- **Tenant Isolation**: Complete data separation between tenants\n- **Feature Flags**: Per-tenant feature configuration\n- **Resource Limits**: Configurable limits per tenant\n- **Analytics**: Usage tracking and reporting\n- **Backup/Restore**: Tenant-specific data management\n\n## Dependencies\n\n- `@dbs-portal/core-shared` - Shared types and utilities\n- `@dbs-portal/core-api` - API client functionality\n- `@dbs-portal/core-ui` - UI components and themes\n- `@dbs-portal/core-store` - State management\n- `@dbs-portal/core-auth` - Authentication integration\n- `@dbs-portal/module-identity` - User and role management\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-cffc2736aaf1a8cde4cdcbf75a851a5a"}