You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

10 lines
313 B
TypeScript

export interface Entity<T, ID> {
construct: (data: T) => T;
create: (data: T) => Promise<T>;
createMany: (data: T[]) => Promise<T[]>;
findAll: () => Promise<T[]>;
findById: (id: ID) => Promise<T | undefined>;
update: (id: ID, data: Partial<T>) => Promise<void>;
delete: (id: ID) => Promise<void>;
}