diff --git a/libs/common/src/lib/interfaces/index.ts b/libs/common/src/lib/interfaces/index.ts index 393810edd..deec60ab7 100644 --- a/libs/common/src/lib/interfaces/index.ts +++ b/libs/common/src/lib/interfaces/index.ts @@ -35,7 +35,7 @@ import type { PortfolioPerformance } from './portfolio-performance.interface'; import type { PortfolioPosition } from './portfolio-position.interface'; import type { PortfolioReportRule } from './portfolio-report-rule.interface'; import type { PortfolioSummary } from './portfolio-summary.interface'; -import type { Product } from './product'; +import type { Product } from './product.interface'; import type { ReferralPartner } from './referral-partner.interface'; import type { AccessTokenResponse } from './responses/access-token-response.interface'; import type { AccountBalancesResponse } from './responses/account-balances-response.interface'; diff --git a/libs/common/src/lib/interfaces/product.ts b/libs/common/src/lib/interfaces/product.interface.ts similarity index 72% rename from libs/common/src/lib/interfaces/product.ts rename to libs/common/src/lib/interfaces/product.interface.ts index 6cd88fbe8..b11c7ecad 100644 --- a/libs/common/src/lib/interfaces/product.ts +++ b/libs/common/src/lib/interfaces/product.interface.ts @@ -1,5 +1,8 @@ +import { ProductCategory, ProductPlatform } from '@ghostfolio/common/types'; + export interface Product { alias?: string; + categories?: ProductCategory[]; founded?: number; hasFreePlan?: boolean; hasSelfHostingAbility?: boolean; @@ -10,6 +13,7 @@ export interface Product { name: string; note?: string; origin?: string; + platforms?: ProductPlatform[]; pricingPerYear?: string; regions?: string[]; slogan?: string; diff --git a/libs/common/src/lib/types/index.ts b/libs/common/src/lib/types/index.ts index b6e513a51..aefaf3e11 100644 --- a/libs/common/src/lib/types/index.ts +++ b/libs/common/src/lib/types/index.ts @@ -16,6 +16,8 @@ import type { MarketDataPreset } from './market-data-preset.type'; import type { MarketState } from './market-state.type'; import type { Market } from './market.type'; import type { OrderWithAccount } from './order-with-account.type'; +import type { ProductCategory } from './product-category.type'; +import type { ProductPlatform } from './product-platform.type'; import type { RequestWithUser } from './request-with-user.type'; import type { SectorName } from './sector-name.type'; import type { SubscriptionOfferKey } from './subscription-offer-key.type'; @@ -41,6 +43,8 @@ export type { MarketDataPreset, MarketState, OrderWithAccount, + ProductCategory, + ProductPlatform, RequestWithUser, SectorName, SubscriptionOfferKey, diff --git a/libs/common/src/lib/types/product-category.type.ts b/libs/common/src/lib/types/product-category.type.ts new file mode 100644 index 000000000..7fae17a72 --- /dev/null +++ b/libs/common/src/lib/types/product-category.type.ts @@ -0,0 +1,12 @@ +export type ProductCategory = + | 'BUDGETING' + | 'CRYPTOCURRENCY' + | 'DIVIDEND_TRACKING' + | 'ETF_TRACKING' + | 'FAMILY_OFFICE' + | 'FINANCIAL_PLANNING' + | 'INVESTMENT_RESEARCH' + | 'NET_WORTH_TRACKING' + | 'STOCK_TRACKING' + | 'TAX_REPORTING' + | 'WEALTH_MANAGEMENT'; diff --git a/libs/common/src/lib/types/product-platform.type.ts b/libs/common/src/lib/types/product-platform.type.ts new file mode 100644 index 000000000..01f647e49 --- /dev/null +++ b/libs/common/src/lib/types/product-platform.type.ts @@ -0,0 +1,7 @@ +export type ProductPlatform = + | 'ANDROID' + | 'IOS' + | 'LINUX' + | 'MACOS' + | 'WEB' + | 'WINDOWS';