@themost/data
Version:
MOST Web Framework Codename Blueshift - Data module
42 lines (35 loc) • 1.48 kB
TypeScript
// MOST Web Framework 2.0 Codename Blueshift BSD-3-Clause license Copyright (c) 2017-2022, THEMOST LP All rights reserved
import {DataModel} from "./data-model";
import {DataQueryable} from "./data-queryable";
import {BeforeExecuteEventListener, BeforeRemoveEventListener, BeforeSaveEventListener, DataEventArgs, DataModelPrivilege} from "./types";
export declare class DataPermissionEventArgs {
model: DataModel;
query: any;
mask: number;
privilege: string;
parentPrivilge?: string;
emitter?: DataQueryable;
throwError?: boolean;
}
export declare class PermissionMask {
static Read: number;
static Create: number;
static Update: number;
static Delete: number;
static Execute: number;
static Owner: number;
}
export declare class DataPermissionEventListener implements BeforeSaveEventListener,
BeforeRemoveEventListener,
BeforeExecuteEventListener
{
beforeSave(event: DataEventArgs, callback: (err?: Error) => void): void;
beforeRemove(event: DataEventArgs, callback: (err?: Error) => void): void;
beforeExecute(event: DataEventArgs, callback: (err?: Error) => void): void;
validate(event: DataEventArgs, callback: (err?: Error) => void): void;
}
export declare class DataPermissionExclusion {
constructor(model: any);
shouldExclude(privilege: DataModelPrivilege, callback: (err?: Error, res?: boolean) => void): void;
shouldExcludeAsync(privilege: DataModelPrivilege): Promise<boolean>;
}