because I got bored of customising my CV for every job
1import type { BaseEntity } from "./base.entity";
2
3export interface EntityService<
4 T extends BaseEntity,
5 TWhereInput = Record<string, never>,
6> {
7 findById(id: string): Promise<T | null>;
8 findByIdOrFail(id: string): Promise<T>;
9 findMany(filters?: TWhereInput): Promise<T[]>;
10 count(filters?: TWhereInput): Promise<number>;
11 save(entity: T): Promise<T>;
12 destroy(entity: T): Promise<void>;
13}