UNPKG

@themost/data

Version:

MOST Web Framework Codename Blueshift - Data module

42 lines (35 loc) 1.48 kB
// 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>; }