diff --git a/apps/api/src/app/account/account.module.ts b/apps/api/src/app/account/account.module.ts index 2c11de472..90bf909fc 100644 --- a/apps/api/src/app/account/account.module.ts +++ b/apps/api/src/app/account/account.module.ts @@ -13,6 +13,7 @@ import { AccountService } from './account.service'; @Module({ controllers: [AccountController], + exports: [AccountService], imports: [ ConfigurationModule, DataProviderModule, diff --git a/apps/api/src/app/import/import.module.ts b/apps/api/src/app/import/import.module.ts index 03ff2d3f8..28a730570 100644 --- a/apps/api/src/app/import/import.module.ts +++ b/apps/api/src/app/import/import.module.ts @@ -6,6 +6,7 @@ import { DataGatheringModule } from '@ghostfolio/api/services/data-gathering.mod import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-provider.module'; import { PrismaModule } from '@ghostfolio/api/services/prisma.module'; import { Module } from '@nestjs/common'; +import { AccountModule } from '@ghostfolio/api/app/account/account.module'; import { ImportController } from './import.controller'; import { ImportService } from './import.service'; @@ -13,6 +14,7 @@ import { ImportService } from './import.service'; @Module({ controllers: [ImportController], imports: [ + AccountModule, CacheModule, ConfigurationModule, DataGatheringModule, diff --git a/apps/api/src/app/import/import.service.ts b/apps/api/src/app/import/import.service.ts index c365c22f5..3932692a5 100644 --- a/apps/api/src/app/import/import.service.ts +++ b/apps/api/src/app/import/import.service.ts @@ -4,10 +4,12 @@ import { DataProviderService } from '@ghostfolio/api/services/data-provider/data import { Injectable } from '@nestjs/common'; import { Order } from '@prisma/client'; import { isSameDay, parseISO } from 'date-fns'; +import { AccountService } from '@ghostfolio/api/app/account/account.service'; @Injectable() export class ImportService { public constructor( + private readonly accountService: AccountService, private readonly configurationService: ConfigurationService, private readonly dataProviderService: DataProviderService, private readonly orderService: OrderService @@ -32,6 +34,12 @@ export class ImportService { await this.validateOrders({ orders, userId }); + const accountIds = (await this.accountService.getAccounts(userId)).map( + (account) => { + return account.id; + } + ); + for (const { accountId, currency, @@ -44,7 +52,6 @@ export class ImportService { unitPrice } of orders) { await this.orderService.createOrder({ - accountId, currency, dataSource, fee, @@ -53,6 +60,7 @@ export class ImportService { type, unitPrice, userId, + accountId: accountIds.includes(accountId) ? accountId : undefined, date: parseISO((date)), SymbolProfile: { connectOrCreate: {