| 1234567891011121314151617181920212223242526272829303132333435 |
- export interface ClientAcl {
- id?: number;
- clientid?: string;
- username: string;
- topic: string;
- action: 'publish' | 'subscribe' | 'pubsub';
- permission: 'allow' | 'deny';
- priority?: number;
- description?: string;
- created_at?: Date;
- updated_at?: Date;
- }
- export declare class ClientAclModel {
- static getAll(limit?: number, offset?: number): Promise<ClientAcl[]>;
- static getById(id: number): Promise<ClientAcl | null>;
- static getByUsername(username: string): Promise<ClientAcl[]>;
- static getByAction(action: string): Promise<ClientAcl[]>;
- static getByTopic(topic: string): Promise<ClientAcl[]>;
- static getByPermission(permission: string): Promise<ClientAcl[]>;
- static getCount(): Promise<number>;
- static getActionStats(): Promise<any[]>;
- static getPermissionStats(): Promise<any[]>;
- static create(aclData: Omit<ClientAcl, 'id' | 'created_at' | 'updated_at'>): Promise<ClientAcl>;
- static update(id: number, updateData: Partial<Omit<ClientAcl, 'id' | 'created_at'>>): Promise<boolean>;
- static delete(id: number): Promise<boolean>;
- static deleteByUsername(username: string): Promise<boolean>;
- static search(searchTerm: string, limit?: number, offset?: number): Promise<ClientAcl[]>;
- static getSearchCount(searchTerm: string): Promise<number>;
- static createBatch(aclDataList: Omit<ClientAcl, 'id' | 'created_at' | 'updated_at'>[]): Promise<boolean>;
- static copyToUser(sourceUsername: string, targetUsername: string): Promise<boolean>;
- static deleteMultiple(ids: number[]): Promise<boolean>;
- static getByUsernameAndAction(username: string, action: string): Promise<ClientAcl[]>;
- static checkPermission(username: string, topic: string, action: string): Promise<boolean>;
- }
- //# sourceMappingURL=clientAcl.d.ts.map
|