UNPKG

@jsgurucompany/jsg-nestjs-common

Version:

Initial README.md

22 lines (21 loc) 1.24 kB
import { Model } from 'sequelize-typescript'; import { FindOptions, FindAndCountOptions, UpdateOptions } from 'sequelize'; import { ModelCreationAttributes, ModelPayload, BaseModelType, PaginationParams, ResultsWithCountSet } from './type'; export declare abstract class BaseRepository<T extends Model<T>> { protected readonly model: BaseModelType<T>; maxLimit: number; defaultLimit: number; defaultOffset: number; protected constructor(model: BaseModelType<T>); protected resolveLimit(limit?: number): number; findAll(options?: FindOptions<T>): Promise<T[]>; findAndCountAll(options?: FindAndCountOptions<ModelCreationAttributes<T>>): Promise<ResultsWithCountSet<T>>; findPaginated(paginationParams: PaginationParams, options?: FindAndCountOptions<ModelCreationAttributes<T>>): Promise<ResultsWithCountSet<T>>; findOneById(id: string): Promise<T>; findOne(options?: FindOptions<T>): Promise<T>; create(payload: ModelPayload<T>): Promise<T>; createMany(payload: ModelPayload<T>[]): Promise<T[]>; update(id: string, payload: ModelPayload<T>): Promise<T>; updateMany(options: UpdateOptions, payload: ModelPayload<T>): Promise<void>; remove(id: string | string[]): Promise<void>; }