bb-inspired
Version:
Core library for BB-inspired NestJS backend
24 lines (23 loc) • 1.06 kB
TypeScript
import { BaseEntity } from './base.entity';
import { IBaseRepository } from './base.repository';
export interface IBaseService<T extends BaseEntity> {
findAll(filters?: Partial<T>): Promise<T[]>;
findById(id: string): Promise<T>;
findOne(filters: Partial<T>): Promise<T>;
create(data: Partial<T>): Promise<T>;
update(id: string, data: Partial<T>): Promise<T>;
remove(id: string): Promise<boolean>;
count(filters?: Partial<T>): Promise<number>;
}
export declare abstract class BaseService<T extends BaseEntity> implements IBaseService<T> {
protected readonly repository: IBaseRepository<T>;
protected readonly entityName: string;
constructor(repository: IBaseRepository<T>, entityName: string);
findAll(filters?: Partial<T>): Promise<T[]>;
findById(id: string): Promise<T>;
findOne(filters: Partial<T>): Promise<T>;
create(data: Partial<T>): Promise<T>;
update(id: string, data: Partial<T>): Promise<T>;
remove(id: string): Promise<boolean>;
count(filters?: Partial<T>): Promise<number>;
}