casbin-pg-adapter-with-schema
Version:
PostgreSQL native adapter for Node-Casbin with advanced filter capability and improved performance.
20 lines (19 loc) • 957 B
TypeScript
import { Adapter, Model } from "casbin";
import { PostgresAdapaterOptions, CasbinFilter } from "./model";
export declare class PostgresAdapter implements Adapter {
private filtered;
private readonly repo;
private constructor();
static newAdapter(options?: PostgresAdapaterOptions): Promise<PostgresAdapter>;
static migrate(options?: PostgresAdapaterOptions): Promise<void>;
open(): Promise<void>;
close(): Promise<void>;
isFiltered(): boolean;
enabledFiltered(enabled: boolean): void;
loadPolicy(model: Model): Promise<void>;
loadFilteredPolicy(model: Model, filter: CasbinFilter): Promise<void>;
savePolicy(model: Model): Promise<boolean>;
addPolicy(sec: string, ptype: string, rule: string[]): Promise<void>;
removePolicy(sec: string, ptype: string, rule: string[]): Promise<void>;
removeFilteredPolicy(sec: string, ptype: string, fieldIndex: number, ...fieldValues: string[]): Promise<void>;
}