ddd-tool-kit
Version:
A development tool kit for using Domain Driven Design in your Web API Node.js
14 lines (13 loc) • 530 B
TypeScript
import { Aggregate } from '../abstract/aggregate/aggregate.abstract';
import { IdValueObject } from '../implementations/value-objects/id/id.value-object';
export interface List<T> {
items: T[];
total: number;
}
export interface IRepository<D extends Aggregate<any>> {
save: (aggregate: D) => Promise<void>;
saveMany: (aggregates: D[]) => Promise<void>;
delete: (id: IdValueObject) => Promise<void>;
findMany: (ids: IdValueObject[]) => Promise<D[]>;
findOne: (id: IdValueObject) => Promise<D | null>;
}