@decaf-ts/db-decorators
Version:
Agnostic database decorators and repository
35 lines (34 loc) • 1.28 kB
TypeScript
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;