From 1e5984bd6ea0b09d38df5fda93509fa15120db7e Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Sun, 2 Apr 2023 09:35:12 +0200 Subject: [PATCH] Refactoring --- apps/api/src/app/info/info.service.ts | 11 +++++------ libs/common/src/lib/interfaces/info-item.interface.ts | 3 ++- libs/common/src/lib/types/user-with-settings.type.ts | 3 +-- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/apps/api/src/app/info/info.service.ts b/apps/api/src/app/info/info.service.ts index 3c0a00dfd..6c4d37047 100644 --- a/apps/api/src/app/info/info.service.ts +++ b/apps/api/src/app/info/info.service.ts @@ -22,6 +22,7 @@ import { InfoItem } from '@ghostfolio/common/interfaces'; import { Statistics } from '@ghostfolio/common/interfaces/statistics.interface'; import { Subscription } from '@ghostfolio/common/interfaces/subscription.interface'; import { permissions } from '@ghostfolio/common/permissions'; +import { SubscriptionOffer } from '@ghostfolio/common/types'; import { Injectable, Logger } from '@nestjs/common'; import { JwtService } from '@nestjs/jwt'; import * as bent from 'bent'; @@ -304,19 +305,17 @@ export class InfoService { return statistics; } - private async getSubscriptions(): Promise<{ [offer: string]: Subscription }> { + private async getSubscriptions(): Promise<{ + [offer in SubscriptionOffer]: Subscription; + }> { if (!this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) { return undefined; } - let subscriptions: { [offer: string]: Subscription } = {}; - const stripeConfig = (await this.prismaService.property.findUnique({ where: { key: PROPERTY_STRIPE_CONFIG } })) ?? { value: '{}' }; - subscriptions = JSON.parse(stripeConfig.value); - - return subscriptions; + return JSON.parse(stripeConfig.value); } } diff --git a/libs/common/src/lib/interfaces/info-item.interface.ts b/libs/common/src/lib/interfaces/info-item.interface.ts index adba845f5..5ba295050 100644 --- a/libs/common/src/lib/interfaces/info-item.interface.ts +++ b/libs/common/src/lib/interfaces/info-item.interface.ts @@ -1,3 +1,4 @@ +import { SubscriptionOffer } from '@ghostfolio/common/types'; import { SymbolProfile, Tag } from '@prisma/client'; import { Statistics } from './statistics.interface'; @@ -15,7 +16,7 @@ export interface InfoItem { platforms: { id: string; name: string }[]; statistics: Statistics; stripePublicKey?: string; - subscriptions: { [offer: string]: Subscription }; + subscriptions: { [offer in SubscriptionOffer]: Subscription }; systemMessage?: string; tags: Tag[]; } diff --git a/libs/common/src/lib/types/user-with-settings.type.ts b/libs/common/src/lib/types/user-with-settings.type.ts index 8f401e22a..09425ff11 100644 --- a/libs/common/src/lib/types/user-with-settings.type.ts +++ b/libs/common/src/lib/types/user-with-settings.type.ts @@ -1,9 +1,8 @@ +import { UserSettings } from '@ghostfolio/common/interfaces/user-settings.interface'; import { SubscriptionOffer } from '@ghostfolio/common/types'; import { SubscriptionType } from '@ghostfolio/common/types/subscription-type.type'; import { Account, Settings, User } from '@prisma/client'; -import { UserSettings } from '../interfaces/user-settings.interface'; - // TODO: Compare with User interface export type UserWithSettings = User & { Account: Account[];