UNPKG

@decaf-ts/db-decorators

Version:

Agnostic database decorators and repository

35 lines (34 loc) 1.28 kB
import { IRepository } from "../interfaces/IRepository"; import { Model, ModelErrorDefinition } from "@decaf-ts/decorator-validation"; import { Context } from "./Context"; import { ContextOfRepository } from "./types"; export type ContextArgs<C extends Context<any>> = { context: C; args: [...any[], C]; }; export declare function reduceErrorsToPrint(errors: (ModelErrorDefinition | undefined)[]): string | undefined; /** * * @param {IRepository<T>} repo * @param context * @param {T} model * @param operation * @param prefix * * @param oldModel * @function enforceDBPropertyDecoratorsAsync * * @memberOf db-decorators.utils */ export declare function enforceDBDecorators<M extends Model<true | false>, R extends IRepository<M, any>, V extends object = object>(repo: R, context: ContextOfRepository<R>, model: M, operation: string, prefix: string, oldModel?: M): Promise<void>; /** * Specific for DB Decorators * @param {T} model * @param {string} operation CRUD {@link OperationKeys} * @param {string} [extraPrefix] * * @function getDbPropertyDecorators * * @memberOf db-decorators.utils */ export declare function getDbDecorators<T extends Model>(model: T, operation: string, extraPrefix?: string): Record<string, DecoratorMetadata[]> | undefined;