@brandazm/dynamic-permissions
Version:
A flexible and powerful permissions management system for NestJS applications with built-in security features
27 lines (26 loc) • 705 B
TypeScript
import { SecurityConfig } from './security.interface';
export interface EntityConfig {
tableName: string;
fields: {
[key: string]: string | undefined;
};
}
export interface DatabaseConfig {
type: 'mysql' | 'postgres' | 'sqlite' | 'mongodb';
entities: {
permissions: EntityConfig;
routerPermissions: EntityConfig;
userPermissions: EntityConfig;
};
}
export interface PermissionsConfig {
defaultRole: string;
adminRole: string;
publicRoutes: string[];
permissionStrategy: 'whitelist' | 'blacklist';
}
export interface PermissionConfig {
database: DatabaseConfig;
permissions: PermissionsConfig;
security: SecurityConfig;
}