Browse Source

feat: extend export response interface

pull/5816/head
Vansh 2 weeks ago
parent
commit
e6428d9130
  1. 2
      apps/api/src/app/export/export.controller.ts
  2. 13
      apps/api/src/app/export/export.service.ts
  3. 3
      libs/common/src/lib/interfaces/responses/export-response.interface.ts

2
apps/api/src/app/export/export.controller.ts

@ -48,7 +48,7 @@ export class ExportController {
return this.exportService.export({
activityIds,
filters,
userCurrency: this.request.user.settings.settings.baseCurrency,
userSettings: this.request.user.settings.settings,
userId: this.request.user.id
});
}

13
apps/api/src/app/export/export.service.ts

@ -3,7 +3,7 @@ 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,12 +21,12 @@ export class ExportService {
public async export({
activityIds,
filters,
userCurrency,
userSettings,
userId
}: {
activityIds?: string[];
filters?: Filter[];
userCurrency: string;
userSettings: UserSettings;
userId: string;
}): Promise<ExportResponse> {
const { ACCOUNT: filtersByAccount } = groupBy(filters, ({ type }) => {
@ -34,6 +34,8 @@ export class ExportService {
});
const platformsMap: { [platformId: string]: Platform } = {};
const userCurrency = userSettings?.baseCurrency;
let { activities } = await this.orderService.getOrders({
filters,
userCurrency,
@ -244,7 +246,10 @@ export class ExportService {
}
),
user: {
settings: { currency: userCurrency }
settings: {
currency: userCurrency,
performanceCalculationType: userSettings?.performanceCalculationType
}
}
};
}

3
libs/common/src/lib/interfaces/responses/export-response.interface.ts

@ -9,6 +9,7 @@ import {
import { AccountBalance } from '../account-balance.interface';
import { MarketData } from '../market-data.interface';
import { PerformanceCalculationType } from '../../types/performance-calculation-type.type';
export interface ExportResponse {
accounts: (Omit<Account, 'createdAt' | 'updatedAt' | 'userId'> & {
@ -36,5 +37,5 @@ export interface ExportResponse {
};
platforms: Platform[];
tags: Omit<Tag, 'userId'>[];
user: { settings: { currency: string } };
user: { settings: { currency: string; performanceCalculationType: PerformanceCalculationType } };
}

Loading…
Cancel
Save