UNPKG

@decaf-ts/db-decorators

Version:

Agnostic database decorators and repository

37 lines (36 loc) 2.2 kB
import { IRepository } from "../interfaces/IRepository"; import { Constructor, Model } from "@decaf-ts/decorator-validation"; import { Context } from "./Context"; export declare abstract class BaseRepository<M extends Model> implements IRepository<M> { private readonly _class; private _pk; get class(): Constructor<M>; get pk(): string; protected constructor(clazz?: Constructor<M>); abstract create(model: M, ...args: any[]): Promise<M>; createAll(models: M[], ...args: any[]): Promise<M[]>; protected createPrefix(model: M, ...args: any[]): Promise<any[]>; protected createSuffix(model: M, context: Context<M>): Promise<M>; protected createAllPrefix(models: M[], ...args: any[]): Promise<any[]>; protected createAllSuffix(models: M[], context: Context<M>): Promise<M[]>; abstract read(key: string | number, ...args: any[]): Promise<M>; readAll(keys: string[] | number[], ...args: any[]): Promise<M[]>; protected readSuffix(model: M, context: Context<M>): Promise<M>; protected readPrefix(key: string, ...args: any[]): Promise<any[]>; protected readAllPrefix(keys: string[] | number[], ...args: any[]): Promise<any[]>; protected readAllSuffix(models: M[], context: Context<M>): Promise<M[]>; abstract update(model: M, ...args: any[]): Promise<M>; updateAll(models: M[], ...args: any): Promise<M[]>; protected updateSuffix(model: M, context: Context<M>): Promise<M>; protected updatePrefix(model: M, ...args: any[]): Promise<any[]>; protected updateAllPrefix(models: M[], ...args: any[]): Promise<any[]>; protected updateAllSuffix(models: M[], context: Context<M>): Promise<M[]>; abstract delete(key: string | number, ...args: any[]): Promise<M>; deleteAll(keys: string[] | number[], ...args: any[]): Promise<M[]>; protected deleteSuffix(model: M, context: Context<M>): Promise<M>; protected deletePrefix(key: any, ...args: any[]): Promise<any[]>; protected deleteAllPrefix(keys: string[] | number[], ...args: any[]): Promise<any[]>; protected deleteAllSuffix(models: M[], context: Context<M>): Promise<M[]>; protected merge(oldModel: M, model: M): M; toString(): string; }