import { IMultipleRelation, IMultipleRelationOperation } from './relation'; export interface IEvent { id: string; // externalId: number; date: Date; title: string; description: string; holdingIds: string[]; // holdings: IHolding[]; transactionIds: string[]; // transactions: ITransaction[] | null; } export function parseEvent(event: IEvent): IEvent { event.date = new Date(event.date); event.holdingIds = event.holdingIds ? event.holdingIds : []; return event; } // export function parseEvent(event: IEvent): IEvent { // event.id = +event.id; // event.date = new Date(event.date); // event.externalId = +event.externalId; // event.holdingIds = event.holdingIds.map((holdingId) => { // return +holdingId; // }); // event.transactionIds = event.transactionIds.map((transactionId) => { // return +transactionId; // }); // // event.holdings = event.holdings.map((holding) => { // // holding.id = +holding.id; // // holding.externalId = +holding.externalId; // // return holding; // // }); // return event; // } export interface IEventProperties { id: boolean; description: boolean; date: boolean; title: boolean; holdingIds: boolean; transactionIds: boolean; } export interface IEventCreateInput { id: string; date: Date; title: string; description: string; // holdingRelations: IMultipleRelationOperation[]; // transactionRelations: IMultipleRelationOperation[]; holdingIds: string[]; transactionIds: string[]; } export interface IEventUpdateInput { id: string; date: Date; title: string; description: string; holdingRelations: IMultipleRelationOperation[]; transactionRelations: IMultipleRelationOperation[]; // holdingIds: string[]; // transactionIds: string[]; } export interface IEventDeleteInput { id: string; } export interface IEventPropertiesConfig { properties: Partial; relationProperties?: {}; } export function defaultGetEventProperties(): Partial { return { id: true, description: true, date: true, title: true, holdingIds: true, transactionIds: true, }; } export function defaultGetEventPropertiesConfig(): IEventPropertiesConfig { return { properties: defaultGetEventProperties(), }; }