import { Permission } from 'accesscontrol'; import { Orm, IModelStatic } from '@spinajs/orm'; import { Ok } from '@spinajs/http'; import { User as UserModel, AccessControl } from '@spinajs/rbac'; import { BadRequest } from '@spinajs/exceptions'; import { Log } from '@spinajs/log'; import '@spinajs/rbac'; import { QueryArgs } from '../../dto/QueryArgs.js'; import { QueryFilter } from '../../dto/QueryFilter.js'; import { QueryIncludes } from '../../dto/QueryIncludes.js'; import { Crud } from './../../interfaces.js'; export declare class CrudRead extends Crud { protected Log: Log; protected Orm: Orm; protected Ac: AccessControl; /** * retrieve resource name, if model does not have @OrmResource decorator set * model name is default resource name * @param model * @returns */ protected getResourceName(model: IModelStatic): string; /** * * Creates query on model and ansures that user have proper permission to access it * * @param model model to query against * @param user user for permission check * @returns */ protected getSafeQuery(model: IModelStatic, user: UserModel): { query: import("@spinajs/orm").ISelectQueryBuilder[]>; permission: Permission; }; getAll(model: IModelStatic, getParams: QueryArgs, filters: QueryFilter, includes: QueryIncludes, user: UserModel): Promise[]; }>>; get(user: UserModel, model: IModelStatic, id: number, includes: QueryIncludes): Promise>; getRelation(model: IModelStatic, id: any, relation: string, relationId: any, includes: QueryIncludes, user?: UserModel): Promise>; getRelations(model: IModelStatic, id: any, relation: string, params: QueryArgs, filters: QueryFilter, includes: QueryIncludes, user?: UserModel): Promise[]; }>>; } //# sourceMappingURL=Read.d.ts.map