|
|
|
@ -3,7 +3,11 @@ import { OrderService } from '@ghostfolio/api/app/order/order.service'; |
|
|
|
import { environment } from '@ghostfolio/api/environments/environment'; |
|
|
|
import { MarketDataService } from '@ghostfolio/api/services/market-data/market-data.service'; |
|
|
|
import { TagService } from '@ghostfolio/api/services/tag/tag.service'; |
|
|
|
import { ExportResponse, Filter } from '@ghostfolio/common/interfaces'; |
|
|
|
import { |
|
|
|
ExportResponse, |
|
|
|
Filter, |
|
|
|
UserSettings |
|
|
|
} from '@ghostfolio/common/interfaces'; |
|
|
|
|
|
|
|
import { Injectable } from '@nestjs/common'; |
|
|
|
import { Platform, Prisma } from '@prisma/client'; |
|
|
|
@ -21,13 +25,13 @@ export class ExportService { |
|
|
|
public async export({ |
|
|
|
activityIds, |
|
|
|
filters, |
|
|
|
userCurrency, |
|
|
|
userId |
|
|
|
userId, |
|
|
|
userSettings |
|
|
|
}: { |
|
|
|
activityIds?: string[]; |
|
|
|
filters?: Filter[]; |
|
|
|
userCurrency: string; |
|
|
|
userId: string; |
|
|
|
userSettings: UserSettings; |
|
|
|
}): Promise<ExportResponse> { |
|
|
|
const { ACCOUNT: filtersByAccount } = groupBy(filters, ({ type }) => { |
|
|
|
return type; |
|
|
|
@ -36,11 +40,11 @@ export class ExportService { |
|
|
|
|
|
|
|
let { activities } = await this.orderService.getOrders({ |
|
|
|
filters, |
|
|
|
userCurrency, |
|
|
|
userId, |
|
|
|
includeDrafts: true, |
|
|
|
sortColumn: 'date', |
|
|
|
sortDirection: 'asc', |
|
|
|
userCurrency: userSettings?.baseCurrency, |
|
|
|
withExcludedAccountsAndActivities: true |
|
|
|
}); |
|
|
|
|
|
|
|
@ -244,7 +248,10 @@ export class ExportService { |
|
|
|
} |
|
|
|
), |
|
|
|
user: { |
|
|
|
settings: { currency: userCurrency } |
|
|
|
settings: { |
|
|
|
currency: userSettings?.baseCurrency, |
|
|
|
performanceCalculationType: userSettings?.performanceCalculationType |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
} |
|
|
|
|