# NestJS Dynamic Permissions - API Reference ## Core Services ### ConfigPublisherService Service for managing and publishing permission configurations. ```typescript class ConfigPublisherService { // Publish configuration to a project async publishConfigToProject( projectPath: string, template: string = 'basic', customizations?: Partial ): Promise // Update existing project configuration async updateProjectConfig( projectPath: string, updates: Partial ): Promise // Get list of available configuration templates getAvailableTemplates(): ConfigTemplate[] } ``` ### MigrationGeneratorService Service for generating and managing database migrations. ```typescript class MigrationGeneratorService { // Generate migration between two configurations async generateMigration( oldConfig: PermissionConfig, newConfig: PermissionConfig, options?: MigrationOptions ): Promise // Generate table creation SQL generateCreateTables(config: PermissionConfig): string // Generate table alteration SQL generateAlterTables( oldConfig: PermissionConfig, newConfig: PermissionConfig ): string[] // Generate database indexes generateIndexes(config: PermissionConfig): string[] } ``` ## CLI Commands ### Initialize Project Initialize permissions configuration in a project: ```bash nestjs-permissions init [options] Options: -p, --project-path Path to the project root (default: ".") -t, --template