UNPKG

@aequum/in-memory

Version:
17 lines (16 loc) 987 B
import { BaseCRUDLService } from '@aequum/crudl'; import { InMemoryRepository } from '../repositories/in-memory.repository'; export declare class BaseCRUDLInMemoryService<Model extends { [key in PrimaryKeyField]: any; }, ModelDto, ModelCreateDto, ModelUpdateDto, ModelFilterType = any, PrimaryKeyField extends string = 'id'> extends BaseCRUDLService { protected primaryKeyField: PrimaryKeyField; protected repository: InMemoryRepository<Model, PrimaryKeyField>; create(data: ModelCreateDto): Promise<ModelDto>; retrieve(id: Model[PrimaryKeyField]): Promise<ModelDto>; retrieveBy(filter: ModelFilterType): Promise<ModelDto>; update(id: Model[PrimaryKeyField], data: ModelUpdateDto): Promise<ModelDto>; updateBy(filter: ModelFilterType, data: ModelUpdateDto): Promise<ModelDto | ModelDto[]>; delete(id: Model[PrimaryKeyField]): Promise<void>; deleteBy(filter: ModelFilterType): Promise<void>; list(filter?: ModelFilterType): Promise<Model[]>; }