@node-in-layers/core
Version:
The core library for the Node In Layers rapid web development framework.
32 lines (31 loc) • 1.52 kB
TypeScript
import { OrmModel, PrimaryKeyType } from 'functional-models';
import { CrudsOptions, ModelCrudsFunctions } from './types.js';
/**
* Creates Model Cruds for a given model.
* @param model - The model to wrap
* @param options - Additional options and overrides
*/
declare const createModelCruds: <TData extends Readonly<{
[s: string]: any;
}>>(model: OrmModel<TData> | (() => OrmModel<TData>), options?: Readonly<{
overrides?: Partial<Omit<Readonly<{
getModel: () => OrmModel<TData, object, object>;
create: import("./types.js").CreateFunction<TData>;
retrieve: import("./types.js").RetrieveFunction<TData>;
update: import("./types.js").UpdateFunction<TData>;
delete: import("./types.js").DeleteFunction;
search: import("./types.js").SearchFunction<TData>;
bulkInsert: (data: readonly TData[]) => Promise<void>;
bulkDelete: (primaryKeys: readonly PrimaryKeyType[]) => Promise<void>;
}>, "getModel">> | undefined;
}> | undefined) => Readonly<{
getModel: () => OrmModel<TData, object, object>;
create: import("./types.js").CreateFunction<TData>;
retrieve: import("./types.js").RetrieveFunction<TData>;
update: import("./types.js").UpdateFunction<TData>;
delete: import("./types.js").DeleteFunction;
search: import("./types.js").SearchFunction<TData>;
bulkInsert: (data: readonly TData[]) => Promise<void>;
bulkDelete: (primaryKeys: readonly PrimaryKeyType[]) => Promise<void>;
}>;
export { createModelCruds };