|  |  | @ -29,21 +29,14 @@ import { REQUEST } from '@nestjs/core'; | 
			
		
	
		
			
				
					|  |  |  | import { Currency, DataSource, Type as TypeOfOrder } from '@prisma/client'; | 
			
		
	
		
			
				
					|  |  |  | import Big from 'big.js'; | 
			
		
	
		
			
				
					|  |  |  | import { | 
			
		
	
		
			
				
					|  |  |  |   add, | 
			
		
	
		
			
				
					|  |  |  |   endOfToday, | 
			
		
	
		
			
				
					|  |  |  |   format, | 
			
		
	
		
			
				
					|  |  |  |   getDate, | 
			
		
	
		
			
				
					|  |  |  |   getMonth, | 
			
		
	
		
			
				
					|  |  |  |   getYear, | 
			
		
	
		
			
				
					|  |  |  |   isAfter, | 
			
		
	
		
			
				
					|  |  |  |   isBefore, | 
			
		
	
		
			
				
					|  |  |  |   max, | 
			
		
	
		
			
				
					|  |  |  |   parse, | 
			
		
	
		
			
				
					|  |  |  |   parseISO, | 
			
		
	
		
			
				
					|  |  |  |   setDate, | 
			
		
	
		
			
				
					|  |  |  |   setDayOfYear, | 
			
		
	
		
			
				
					|  |  |  |   setMonth, | 
			
		
	
		
			
				
					|  |  |  |   sub, | 
			
		
	
		
			
				
					|  |  |  |   subDays, | 
			
		
	
		
			
				
					|  |  |  |   subYears | 
			
		
	
		
			
				
					|  |  |  | } from 'date-fns'; | 
			
		
	
	
		
			
				
					|  |  | @ -669,53 +662,6 @@ export class PortfolioService { | 
			
		
	
		
			
				
					|  |  |  |     }; | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   private convertDateRangeToDate(aDateRange: DateRange, aMinDate: Date) { | 
			
		
	
		
			
				
					|  |  |  |     let currentDate = new Date(); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     const normalizedMinDate = | 
			
		
	
		
			
				
					|  |  |  |       getDate(aMinDate) === 1 | 
			
		
	
		
			
				
					|  |  |  |         ? aMinDate | 
			
		
	
		
			
				
					|  |  |  |         : add(setDate(aMinDate, 1), { months: 1 }); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     const year = getYear(currentDate); | 
			
		
	
		
			
				
					|  |  |  |     const month = getMonth(currentDate); | 
			
		
	
		
			
				
					|  |  |  |     const day = getDate(currentDate); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     currentDate = new Date(Date.UTC(year, month, day, 0)); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     switch (aDateRange) { | 
			
		
	
		
			
				
					|  |  |  |       case '1d': | 
			
		
	
		
			
				
					|  |  |  |         return sub(currentDate, { | 
			
		
	
		
			
				
					|  |  |  |           days: 1 | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |       case 'ytd': | 
			
		
	
		
			
				
					|  |  |  |         currentDate = setDate(currentDate, 1); | 
			
		
	
		
			
				
					|  |  |  |         currentDate = setMonth(currentDate, 0); | 
			
		
	
		
			
				
					|  |  |  |         return isAfter(currentDate, normalizedMinDate) | 
			
		
	
		
			
				
					|  |  |  |           ? currentDate | 
			
		
	
		
			
				
					|  |  |  |           : undefined; | 
			
		
	
		
			
				
					|  |  |  |       case '1y': | 
			
		
	
		
			
				
					|  |  |  |         currentDate = setDate(currentDate, 1); | 
			
		
	
		
			
				
					|  |  |  |         currentDate = sub(currentDate, { | 
			
		
	
		
			
				
					|  |  |  |           years: 1 | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |         return isAfter(currentDate, normalizedMinDate) | 
			
		
	
		
			
				
					|  |  |  |           ? currentDate | 
			
		
	
		
			
				
					|  |  |  |           : undefined; | 
			
		
	
		
			
				
					|  |  |  |       case '5y': | 
			
		
	
		
			
				
					|  |  |  |         currentDate = setDate(currentDate, 1); | 
			
		
	
		
			
				
					|  |  |  |         currentDate = sub(currentDate, { | 
			
		
	
		
			
				
					|  |  |  |           years: 5 | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |         return isAfter(currentDate, normalizedMinDate) | 
			
		
	
		
			
				
					|  |  |  |           ? currentDate | 
			
		
	
		
			
				
					|  |  |  |           : undefined; | 
			
		
	
		
			
				
					|  |  |  |       default: | 
			
		
	
		
			
				
					|  |  |  |         // Gets handled as all data
 | 
			
		
	
		
			
				
					|  |  |  |         return undefined; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   private getAccounts( | 
			
		
	
		
			
				
					|  |  |  |     orders: OrderWithAccount[], | 
			
		
	
		
			
				
					|  |  |  |     portfolioItemsNow: { [p: string]: TimelinePosition }, | 
			
		
	
	
		
			
				
					|  |  | 
 |