|
|
|
|
@ -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
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|