import { DeepPartial } from "../types"; import { IAuthenticationContext } from "./authentication"; export interface IEntitiesSearchActionConverter { toListItemDto(entity: TEntity): TListItemDto | Promise; } export interface IEntityGetActionConverter { toEntityDto(entity: TEntity): TEntityDto | Promise; } export interface IEntityCreateActionConverter { createDtoToEntity(data: TEntityCreateDto, context?: IAuthenticationContext): DeepPartial; toEntityDto(entity: TEntity): TEntityDto | Promise; } export interface IEntityUpdateActionConverter { toEntityDto(entity: TEntity): TEntityDto | Promise; updateDtoToEntity(data: TEntityUpdateDto, context?: IAuthenticationContext): DeepPartial; } export interface IEntityConverter extends IEntitiesSearchActionConverter, IEntityGetActionConverter, IEntityCreateActionConverter, IEntityUpdateActionConverter { }