@jsgurucompany/jsg-nestjs-common
Version:
Initial README.md
16 lines (15 loc) • 860 B
TypeScript
import { BaseRepository } from './base.repository';
import { Model } from 'sequelize-typescript';
import { FindAndCountOptions, FindOptions } from 'sequelize';
import { ModelPayload, PaginatedSet, PaginationParams } from './type';
export declare abstract class BaseCrudService<M extends Model = Model, T extends BaseRepository<M> = BaseRepository<M>> {
readonly repository: T;
protected constructor(repository: T);
findAll(options?: FindOptions<M>): Promise<PaginatedSet<M[]>>;
findPaginated(paginationParams: PaginationParams, options?: FindAndCountOptions<M>): Promise<PaginatedSet<M[]>>;
findById(id: string): Promise<M>;
findOne(options?: FindOptions<M>): Promise<M>;
create(payload: ModelPayload<M>): Promise<M>;
update(id: string, payload: ModelPayload<M>): Promise<M>;
remove(id: string | string[]): Promise<void>;
}