UNPKG

bb-inspired

Version:

Core library for BB-inspired NestJS backend

23 lines (22 loc) 1.1 kB
import { BaseEntity } from './base.entity'; export interface IBaseRepository<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>; softDelete(id: string): Promise<boolean>; hardDelete(id: string): Promise<boolean>; count(filters?: Partial<T>): Promise<number>; } export declare abstract class BaseRepository<T extends BaseEntity> implements IBaseRepository<T> { abstract findAll(filters?: Partial<T>): Promise<T[]>; abstract findById(id: string): Promise<T>; abstract findOne(filters: Partial<T>): Promise<T>; abstract create(data: Partial<T>): Promise<T>; abstract update(id: string, data: Partial<T>): Promise<T>; abstract softDelete(id: string): Promise<boolean>; abstract hardDelete(id: string): Promise<boolean>; abstract count(filters?: Partial<T>): Promise<number>; protected handleNotFound(id: string | unknown, entityName: string): never; }