import { Transform } from 'class-transformer' import { isNil } from 'lodash' import { parseDate } from '../utils' import { BaseModel } from './base.model' import { FinancialServicesReview } from './financial_services_review.model' export enum IncomeStatusEnum { 'cancelled', 'accomplished', } export type IncomeStatus = keyof typeof IncomeStatusEnum export type ServiceType = 'appointment' export type IncomeType = 'plan' | 'single' export class FinancialProvidedServicesIncome extends BaseModel { id: string user_id: string consolidation_id?: string type?: IncomeType status?: IncomeStatus amount: number appointment_id?: string anamnese: boolean plan_food: boolean @Transform(value => parseDate(value), { toClassOnly: true }) created_at: Date @Transform(value => parseDate(value), { toClassOnly: true }) updated_at?: Date financial_services_reviews?: Array get serviceType(): ServiceType { if (!isNil(this.appointment_id)) return 'appointment' return undefined } }