From c6ba5525aa0e93ecab54658f493dc1f79e9c2cc1 Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Sat, 12 Aug 2023 13:56:34 +0200 Subject: [PATCH] Reset benchmark in user settings --- apps/api/src/app/user/user.service.ts | 14 +++++++++----- .../configuration/configuration.service.ts | 3 ++- libs/common/src/lib/config.ts | 1 + 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index 3c1e42abf..bbb17b69c 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -4,7 +4,11 @@ import { ConfigurationService } from '@ghostfolio/api/services/configuration/con import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; import { PropertyService } from '@ghostfolio/api/services/property/property.service'; import { TagService } from '@ghostfolio/api/services/tag/tag.service'; -import { PROPERTY_IS_READ_ONLY_MODE, locale } from '@ghostfolio/common/config'; +import { + DEFAULT_CURRENCY, + PROPERTY_IS_READ_ONLY_MODE, + locale +} from '@ghostfolio/common/config'; import { User as IUser, UserSettings } from '@ghostfolio/common/interfaces'; import { getPermissions, @@ -21,8 +25,6 @@ const crypto = require('crypto'); @Injectable() export class UserService { - public static DEFAULT_CURRENCY = 'USD'; - private baseCurrency: string; public constructor( @@ -145,8 +147,7 @@ export class UserService { // Set default value for base currency if (!(user.Settings.settings as UserSettings)?.baseCurrency) { - (user.Settings.settings as UserSettings).baseCurrency = - UserService.DEFAULT_CURRENCY; + (user.Settings.settings as UserSettings).baseCurrency = DEFAULT_CURRENCY; } // Set default value for date range @@ -186,6 +187,9 @@ export class UserService { if (Analytics?.activityCount % frequency === 1) { currentPermissions.push(permissions.enableSubscriptionInterstitial); } + + // Reset benchmark + user.Settings.settings.benchmark = undefined; } if (user.subscription?.type === 'Premium') { diff --git a/apps/api/src/services/configuration/configuration.service.ts b/apps/api/src/services/configuration/configuration.service.ts index e522aeccd..fa9ada3d7 100644 --- a/apps/api/src/services/configuration/configuration.service.ts +++ b/apps/api/src/services/configuration/configuration.service.ts @@ -1,4 +1,5 @@ import { Environment } from '@ghostfolio/api/services/interfaces/environment.interface'; +import { DEFAULT_CURRENCY } from '@ghostfolio/common/config'; import { Injectable } from '@nestjs/common'; import { DataSource } from '@prisma/client'; import { bool, cleanEnv, host, json, num, port, str } from 'envalid'; @@ -13,7 +14,7 @@ export class ConfigurationService { ALPHA_VANTAGE_API_KEY: str({ default: '' }), BASE_CURRENCY: str({ choices: ['AUD', 'CAD', 'CNY', 'EUR', 'GBP', 'JPY', 'RUB', 'USD'], - default: 'USD' + default: DEFAULT_CURRENCY }), BETTER_UPTIME_API_KEY: str({ default: '' }), CACHE_QUOTES_TTL: num({ default: 1 }), diff --git a/libs/common/src/lib/config.ts b/libs/common/src/lib/config.ts index 7977a2628..c5c627de8 100644 --- a/libs/common/src/lib/config.ts +++ b/libs/common/src/lib/config.ts @@ -35,6 +35,7 @@ export const DATA_GATHERING_QUEUE = 'DATA_GATHERING_QUEUE'; export const DATA_GATHERING_QUEUE_PRIORITY_LOW = Number.MAX_SAFE_INTEGER; export const DATA_GATHERING_QUEUE_PRIORITY_HIGH = 1; +export const DEFAULT_CURRENCY = 'USD'; export const DEFAULT_DATE_FORMAT_MONTH_YEAR = 'MMM yyyy'; export const DEFAULT_LANGUAGE_CODE = 'en'; export const DEFAULT_PAGE_SIZE = 50;