@ournet/domain
Version:
Ournet domain
17 lines (16 loc) • 618 B
TypeScript
import { BaseEntity } from "./entities";
import { RepositoryUpdateData } from "./repository";
export interface EntityValidator<T extends BaseEntity> {
onCreate(data: T): T;
onUpdate(data: RepositoryUpdateData<T>): RepositoryUpdateData<T>;
}
export interface EntityValidatorOptions {
createSchema: any;
updateSchema: any;
}
export declare class JoiEntityValidator<T extends BaseEntity> implements EntityValidator<T> {
private options;
constructor(options: EntityValidatorOptions);
onCreate(data: T): T;
onUpdate(data: RepositoryUpdateData<T>): RepositoryUpdateData<T>;
}