diff --git a/apps/api/src/app/activities/activities.controller.ts b/apps/api/src/app/activities/activities.controller.ts index 625cce156..0e6c4ab34 100644 --- a/apps/api/src/app/activities/activities.controller.ts +++ b/apps/api/src/app/activities/activities.controller.ts @@ -77,7 +77,7 @@ export class ActivitiesController { filterByTags }); - return this.activitiesService.deleteOrders({ + return this.activitiesService.deleteActivities({ filters, userId: this.request.user.id }); @@ -99,7 +99,7 @@ export class ActivitiesController { ); } - return this.activitiesService.deleteOrder({ + return this.activitiesService.deleteActivity({ id }); } @@ -141,7 +141,7 @@ export class ActivitiesController { await this.impersonationService.validateImpersonationId(impersonationId); const userCurrency = this.request.user.settings.settings.baseCurrency; - const { activities, count } = await this.activitiesService.getOrders({ + const { activities, count } = await this.activitiesService.getActivities({ endDate, filters, sortColumn, @@ -170,7 +170,7 @@ export class ActivitiesController { await this.impersonationService.validateImpersonationId(impersonationId); const userCurrency = this.request.user.settings.settings.baseCurrency; - const { activities } = await this.activitiesService.getOrders({ + const { activities } = await this.activitiesService.getActivities({ userCurrency, includeDrafts: true, userId: impersonationUserId || this.request.user.id, @@ -231,7 +231,7 @@ export class ActivitiesController { delete data.dataSource; - const order = await this.activitiesService.createOrder({ + const activity = await this.activitiesService.createActivity({ ...data, date: parseISO(data.date), SymbolProfile: { @@ -256,14 +256,14 @@ export class ActivitiesController { userId: this.request.user.id }); - if (dataSource && !order.isDraft) { + if (dataSource && !activity.isDraft) { // Gather symbol data in the background, if data source is set // (not MANUAL) and not draft this.dataGatheringService.gatherSymbols({ dataGatheringItems: [ { dataSource, - date: order.date, + date: activity.date, symbol: data.symbol } ], @@ -271,7 +271,7 @@ export class ActivitiesController { }); } - return order; + return activity; } @HasPermission(permissions.updateOrder) @@ -306,7 +306,7 @@ export class ActivitiesController { delete data.dataSource; - return this.activitiesService.updateOrder({ + return this.activitiesService.updateActivity({ data: { ...data, date, diff --git a/apps/api/src/app/activities/activities.service.ts b/apps/api/src/app/activities/activities.service.ts index d0743c692..1a12612c4 100644 --- a/apps/api/src/app/activities/activities.service.ts +++ b/apps/api/src/app/activities/activities.service.ts @@ -96,7 +96,7 @@ export class ActivitiesService { ); } - public async createOrder( + public async createActivity( data: Prisma.OrderCreateInput & { accountId?: string; assetClass?: AssetClass; @@ -251,7 +251,7 @@ export class ActivitiesService { return order; } - public async deleteOrder( + public async deleteActivity( where: Prisma.OrderWhereUniqueInput ): Promise { const order = await this.prismaService.order.delete({ @@ -277,14 +277,14 @@ export class ActivitiesService { return order; } - public async deleteOrders({ + public async deleteActivities({ filters, userId }: { filters?: Filter[]; userId: string; }): Promise { - const { activities } = await this.getOrders({ + const { activities } = await this.getActivities({ filters, userId, includeDrafts: true, @@ -324,7 +324,7 @@ export class ActivitiesService { } /** - * Generates synthetic orders for cash holdings based on account balance history. + * Generates synthetic activities for cash holdings based on account balance history. * Treat currencies as assets with a fixed unit price of 1.0 (in their own currency) to allow * performance tracking based on exchange rate fluctuations. * @@ -334,7 +334,7 @@ export class ActivitiesService { * @param userId - The ID of the user. * @returns A response containing the list of synthetic cash activities. */ - public async getCashOrders({ + public async getCashActivities({ cashDetails, filters = [], userCurrency, @@ -448,7 +448,10 @@ export class ActivitiesService { }; } - public async getLatestOrder({ dataSource, symbol }: AssetProfileIdentifier) { + public async getLatestActivity({ + dataSource, + symbol + }: AssetProfileIdentifier) { return this.prismaService.order.findFirst({ orderBy: { date: 'desc' @@ -459,7 +462,7 @@ export class ActivitiesService { }); } - public async getOrders({ + public async getActivities({ endDate, filters, includeDrafts = false, @@ -761,7 +764,7 @@ export class ActivitiesService { /** Whether to include cash activities in the result. */ withCash?: boolean; }) { - const orders = await this.getOrders({ + const orders = await this.getActivities({ filters, userCurrency, userId, @@ -775,7 +778,7 @@ export class ActivitiesService { currency: userCurrency }); - const cashOrders = await this.getCashOrders({ + const cashOrders = await this.getCashActivities({ cashDetails, filters, userCurrency, @@ -817,7 +820,7 @@ export class ActivitiesService { }); } - public async updateOrder({ + public async updateActivity({ data, where }: { diff --git a/apps/api/src/app/endpoints/public/public.controller.ts b/apps/api/src/app/endpoints/public/public.controller.ts index da43d9c3d..b97640cab 100644 --- a/apps/api/src/app/endpoints/public/public.controller.ts +++ b/apps/api/src/app/endpoints/public/public.controller.ts @@ -81,7 +81,7 @@ export class PublicController { }) ]); - const { activities } = await this.activitiesService.getOrders({ + const { activities } = await this.activitiesService.getActivities({ sortColumn: 'date', sortDirection: 'desc', take: 10, diff --git a/apps/api/src/app/export/export.service.ts b/apps/api/src/app/export/export.service.ts index a448bd8e6..4f2fb3309 100644 --- a/apps/api/src/app/export/export.service.ts +++ b/apps/api/src/app/export/export.service.ts @@ -38,7 +38,7 @@ export class ExportService { }); const platformsMap: { [platformId: string]: Platform } = {}; - let { activities } = await this.activitiesService.getOrders({ + let { activities } = await this.activitiesService.getActivities({ filters, userId, includeDrafts: true, diff --git a/apps/api/src/app/import/import.service.ts b/apps/api/src/app/import/import.service.ts index 4107b9a69..b82f763a0 100644 --- a/apps/api/src/app/import/import.service.ts +++ b/apps/api/src/app/import/import.service.ts @@ -91,7 +91,7 @@ export class ImportService { userId, withExcludedAccounts: true }), - this.activitiesService.getOrders({ + this.activitiesService.getActivities({ filters, userCurrency, userId, @@ -548,7 +548,7 @@ export class ImportService { continue; } - order = await this.activitiesService.createOrder({ + order = await this.activitiesService.createActivity({ comment, currency, date, @@ -645,7 +645,7 @@ export class ImportService { userId: string; }): Promise[]> { const { activities: existingActivities } = - await this.activitiesService.getOrders({ + await this.activitiesService.getActivities({ userCurrency, userId, includeDrafts: true, diff --git a/apps/api/src/app/portfolio/current-rate.service.ts b/apps/api/src/app/portfolio/current-rate.service.ts index d0da84765..b454b01cd 100644 --- a/apps/api/src/app/portfolio/current-rate.service.ts +++ b/apps/api/src/app/portfolio/current-rate.service.ts @@ -129,10 +129,11 @@ export class CurrentRateService { if (!value) { // Fallback to unit price of latest activity - const latestActivity = await this.activitiesService.getLatestOrder({ - dataSource, - symbol - }); + const latestActivity = + await this.activitiesService.getLatestActivity({ + dataSource, + symbol + }); value = { dataSource, diff --git a/apps/api/src/app/portfolio/portfolio.controller.ts b/apps/api/src/app/portfolio/portfolio.controller.ts index 1c5e2aa3f..80d7f9acc 100644 --- a/apps/api/src/app/portfolio/portfolio.controller.ts +++ b/apps/api/src/app/portfolio/portfolio.controller.ts @@ -322,7 +322,7 @@ export class PortfolioController { const { endDate, startDate } = getIntervalFromDateRange(dateRange); - const { activities } = await this.activitiesService.getOrders({ + const { activities } = await this.activitiesService.getActivities({ endDate, filters, startDate, diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index 7ad5c61ec..ef68fcaaf 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -1877,7 +1877,7 @@ export class PortfolioService { userId = await this.getUserId(impersonationId, userId); const user = await this.userService.user({ id: userId }); - const { activities } = await this.activitiesService.getOrders({ + const { activities } = await this.activitiesService.getActivities({ userCurrency, userId, withExcludedAccountsAndActivities: true diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index ce6505e1d..5a339c090 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -643,7 +643,7 @@ export class UserService { } catch {} try { - await this.activitiesService.deleteOrders({ + await this.activitiesService.deleteActivities({ userId: where.id }); } catch {}