diff --git a/CHANGELOG.md b/CHANGELOG.md index c16b4655..395ff781 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Hid unknown exchange in the position overview - Refactored the portfolio unit tests to work without database +- Moved shared interfaces to `@ghostfolio/helper/interfaces` +- Moved shared types to `@ghostfolio/helper/types` ## 1.3.0 - 15.05.2021 diff --git a/apps/api/src/app/access/access.controller.ts b/apps/api/src/app/access/access.controller.ts index 469b66b7..2bbc32f3 100644 --- a/apps/api/src/app/access/access.controller.ts +++ b/apps/api/src/app/access/access.controller.ts @@ -1,10 +1,10 @@ -import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type'; +import { Access } from '@ghostfolio/helper/interfaces'; +import { RequestWithUser } from '@ghostfolio/helper/types'; import { Controller, Get, Inject, UseGuards } from '@nestjs/common'; import { REQUEST } from '@nestjs/core'; import { AuthGuard } from '@nestjs/passport'; import { AccessService } from './access.service'; -import { Access } from './interfaces/access.interface'; @Controller('access') export class AccessController { diff --git a/apps/api/src/app/access/access.service.ts b/apps/api/src/app/access/access.service.ts index 316837de..93448d15 100644 --- a/apps/api/src/app/access/access.service.ts +++ b/apps/api/src/app/access/access.service.ts @@ -1,9 +1,8 @@ import { PrismaService } from '@ghostfolio/api/services/prisma.service'; +import { AccessWithGranteeUser } from '@ghostfolio/helper/types'; import { Injectable } from '@nestjs/common'; import { Prisma } from '@prisma/client'; -import { AccessWithGranteeUser } from './interfaces/access-with-grantee-user.type'; - @Injectable() export class AccessService { public constructor(private prisma: PrismaService) {} diff --git a/apps/api/src/app/account/account.controller.ts b/apps/api/src/app/account/account.controller.ts index 78a1a416..8595daaa 100644 --- a/apps/api/src/app/account/account.controller.ts +++ b/apps/api/src/app/account/account.controller.ts @@ -1,7 +1,11 @@ -import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type'; import { nullifyValuesInObjects } from '@ghostfolio/api/helper/object.helper'; import { ImpersonationService } from '@ghostfolio/api/services/impersonation.service'; -import { getPermissions, hasPermission, permissions } from '@ghostfolio/helper'; +import { + getPermissions, + hasPermission, + permissions +} from '@ghostfolio/helper/permissions'; +import { RequestWithUser } from '@ghostfolio/helper/types'; import { Body, Controller, @@ -17,7 +21,7 @@ import { } from '@nestjs/common'; import { REQUEST } from '@nestjs/core'; import { AuthGuard } from '@nestjs/passport'; -import { Account as AccountModel, Order } from '@prisma/client'; +import { Account as AccountModel } from '@prisma/client'; import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { AccountService } from './account.service'; diff --git a/apps/api/src/app/admin/admin.controller.ts b/apps/api/src/app/admin/admin.controller.ts index 0ae58bae..93dc8f64 100644 --- a/apps/api/src/app/admin/admin.controller.ts +++ b/apps/api/src/app/admin/admin.controller.ts @@ -1,6 +1,11 @@ -import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type'; import { DataGatheringService } from '@ghostfolio/api/services/data-gathering.service'; -import { getPermissions, hasPermission, permissions } from '@ghostfolio/helper'; +import { AdminData } from '@ghostfolio/helper/interfaces'; +import { + getPermissions, + hasPermission, + permissions +} from '@ghostfolio/helper/permissions'; +import { RequestWithUser } from '@ghostfolio/helper/types'; import { Controller, Get, @@ -14,7 +19,6 @@ import { AuthGuard } from '@nestjs/passport'; import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { AdminService } from './admin.service'; -import { AdminData } from './interfaces/admin-data.interface'; @Controller('admin') export class AdminController { diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts index 81886dde..718ab8e3 100644 --- a/apps/api/src/app/admin/admin.service.ts +++ b/apps/api/src/app/admin/admin.service.ts @@ -1,10 +1,9 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; import { PrismaService } from '@ghostfolio/api/services/prisma.service'; +import { AdminData } from '@ghostfolio/helper/interfaces'; import { Injectable } from '@nestjs/common'; import { Currency } from '@prisma/client'; -import { AdminData } from './interfaces/admin-data.interface'; - @Injectable() export class AdminService { public constructor( diff --git a/apps/api/src/app/cache/cache.controller.ts b/apps/api/src/app/cache/cache.controller.ts index 5567f605..8c208a06 100644 --- a/apps/api/src/app/cache/cache.controller.ts +++ b/apps/api/src/app/cache/cache.controller.ts @@ -1,5 +1,5 @@ -import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type'; -import { Controller, Inject, Param, Post, UseGuards } from '@nestjs/common'; +import { RequestWithUser } from '@ghostfolio/helper/types'; +import { Controller, Inject, Post, UseGuards } from '@nestjs/common'; import { REQUEST } from '@nestjs/core'; import { AuthGuard } from '@nestjs/passport'; diff --git a/apps/api/src/app/experimental/experimental.controller.ts b/apps/api/src/app/experimental/experimental.controller.ts index 88a24adc..0e82fa9b 100644 --- a/apps/api/src/app/experimental/experimental.controller.ts +++ b/apps/api/src/app/experimental/experimental.controller.ts @@ -1,9 +1,6 @@ -import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type'; -import { - baseCurrency, - benchmarks, - isApiTokenAuthorized -} from '@ghostfolio/helper'; +import { baseCurrency, benchmarks } from '@ghostfolio/helper/config'; +import { isApiTokenAuthorized } from '@ghostfolio/helper/permissions'; +import { RequestWithUser } from '@ghostfolio/helper/types'; import { Body, Controller, diff --git a/apps/api/src/app/experimental/experimental.service.ts b/apps/api/src/app/experimental/experimental.service.ts index 5594a8c9..7f4e815f 100644 --- a/apps/api/src/app/experimental/experimental.service.ts +++ b/apps/api/src/app/experimental/experimental.service.ts @@ -3,11 +3,11 @@ import { DataProviderService } from '@ghostfolio/api/services/data-provider.serv import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; import { PrismaService } from '@ghostfolio/api/services/prisma.service'; import { RulesService } from '@ghostfolio/api/services/rules.service'; +import { OrderWithAccount } from '@ghostfolio/helper/types'; import { Injectable } from '@nestjs/common'; import { Currency, Type } from '@prisma/client'; import { parseISO } from 'date-fns'; -import { OrderWithAccount } from '../order/interfaces/order-with-account.type'; import { CreateOrderDto } from './create-order.dto'; import { Data } from './interfaces/data.interface'; diff --git a/apps/api/src/app/info/info.controller.ts b/apps/api/src/app/info/info.controller.ts index b42bff06..984136bd 100644 --- a/apps/api/src/app/info/info.controller.ts +++ b/apps/api/src/app/info/info.controller.ts @@ -1,7 +1,7 @@ +import { InfoItem } from '@ghostfolio/helper/interfaces'; import { Controller, Get } from '@nestjs/common'; import { InfoService } from './info.service'; -import { InfoItem } from './interfaces/info-item.interface'; @Controller('info') export class InfoController { diff --git a/apps/api/src/app/info/info.service.ts b/apps/api/src/app/info/info.service.ts index 171d0d50..e4a204d4 100644 --- a/apps/api/src/app/info/info.service.ts +++ b/apps/api/src/app/info/info.service.ts @@ -1,12 +1,11 @@ import { ConfigurationService } from '@ghostfolio/api/services/configuration.service'; import { PrismaService } from '@ghostfolio/api/services/prisma.service'; -import { permissions } from '@ghostfolio/helper'; +import { InfoItem } from '@ghostfolio/helper/interfaces'; +import { permissions } from '@ghostfolio/helper/permissions'; import { Injectable } from '@nestjs/common'; import { JwtService } from '@nestjs/jwt'; import { Currency } from '@prisma/client'; -import { InfoItem } from './interfaces/info-item.interface'; - @Injectable() export class InfoService { private static DEMO_USER_ID = '9b112b4d-3b7d-4bad-9bdd-3b0f7b4dac2f'; diff --git a/apps/api/src/app/order/order.controller.ts b/apps/api/src/app/order/order.controller.ts index c51a7ffe..5c6f5fcf 100644 --- a/apps/api/src/app/order/order.controller.ts +++ b/apps/api/src/app/order/order.controller.ts @@ -1,7 +1,11 @@ -import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type'; import { nullifyValuesInObjects } from '@ghostfolio/api/helper/object.helper'; import { ImpersonationService } from '@ghostfolio/api/services/impersonation.service'; -import { getPermissions, hasPermission, permissions } from '@ghostfolio/helper'; +import { + getPermissions, + hasPermission, + permissions +} from '@ghostfolio/helper/permissions'; +import { RequestWithUser } from '@ghostfolio/helper/types'; import { Body, Controller, diff --git a/apps/api/src/app/order/order.service.ts b/apps/api/src/app/order/order.service.ts index ede9ab9e..73be22f3 100644 --- a/apps/api/src/app/order/order.service.ts +++ b/apps/api/src/app/order/order.service.ts @@ -1,11 +1,11 @@ import { DataGatheringService } from '@ghostfolio/api/services/data-gathering.service'; import { PrismaService } from '@ghostfolio/api/services/prisma.service'; +import { OrderWithAccount } from '@ghostfolio/helper/types'; import { Injectable } from '@nestjs/common'; import { Order, Prisma } from '@prisma/client'; import { CacheService } from '../cache/cache.service'; import { RedisCacheService } from '../redis-cache/redis-cache.service'; -import { OrderWithAccount } from './interfaces/order-with-account.type'; @Injectable() export class OrderService { diff --git a/apps/api/src/app/portfolio/portfolio.controller.ts b/apps/api/src/app/portfolio/portfolio.controller.ts index de5f9bf9..0ee656d8 100644 --- a/apps/api/src/app/portfolio/portfolio.controller.ts +++ b/apps/api/src/app/portfolio/portfolio.controller.ts @@ -4,7 +4,19 @@ import { } from '@ghostfolio/api/helper/object.helper'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; import { ImpersonationService } from '@ghostfolio/api/services/impersonation.service'; -import { getPermissions, hasPermission, permissions } from '@ghostfolio/helper'; +import { + PortfolioItem, + PortfolioOverview, + PortfolioPerformance, + PortfolioPosition, + PortfolioReport +} from '@ghostfolio/helper/interfaces'; +import { + getPermissions, + hasPermission, + permissions +} from '@ghostfolio/helper/permissions'; +import { RequestWithUser } from '@ghostfolio/helper/types'; import { Controller, Get, @@ -21,16 +33,10 @@ import { AuthGuard } from '@nestjs/passport'; import { Response } from 'express'; import { StatusCodes, getReasonPhrase } from 'http-status-codes'; -import { RequestWithUser } from '../interfaces/request-with-user.type'; -import { PortfolioItem } from './interfaces/portfolio-item.interface'; -import { PortfolioOverview } from './interfaces/portfolio-overview.interface'; -import { PortfolioPerformance } from './interfaces/portfolio-performance.interface'; import { HistoricalDataItem, PortfolioPositionDetail } from './interfaces/portfolio-position-detail.interface'; -import { PortfolioPosition } from './interfaces/portfolio-position.interface'; -import { PortfolioReport } from './interfaces/portfolio-report.interface'; import { PortfolioService } from './portfolio.service'; @Controller('portfolio') diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index 51965663..94944675 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -1,10 +1,14 @@ -import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type'; import { Portfolio } from '@ghostfolio/api/models/portfolio'; import { DataProviderService } from '@ghostfolio/api/services/data-provider.service'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; import { ImpersonationService } from '@ghostfolio/api/services/impersonation.service'; import { IOrder } from '@ghostfolio/api/services/interfaces/interfaces'; import { RulesService } from '@ghostfolio/api/services/rules.service'; +import { + PortfolioItem, + PortfolioOverview +} from '@ghostfolio/helper/interfaces'; +import { DateRange, RequestWithUser } from '@ghostfolio/helper/types'; import { Inject, Injectable } from '@nestjs/common'; import { REQUEST } from '@nestjs/core'; import { @@ -26,9 +30,6 @@ import * as roundTo from 'round-to'; import { OrderService } from '../order/order.service'; import { RedisCacheService } from '../redis-cache/redis-cache.service'; import { UserService } from '../user/user.service'; -import { DateRange } from './interfaces/date-range.type'; -import { PortfolioItem } from './interfaces/portfolio-item.interface'; -import { PortfolioOverview } from './interfaces/portfolio-overview.interface'; import { HistoricalDataItem, PortfolioPositionDetail diff --git a/apps/api/src/app/symbol/symbol.controller.ts b/apps/api/src/app/symbol/symbol.controller.ts index d2dc68c1..b9b6e74c 100644 --- a/apps/api/src/app/symbol/symbol.controller.ts +++ b/apps/api/src/app/symbol/symbol.controller.ts @@ -1,4 +1,4 @@ -import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type'; +import { RequestWithUser } from '@ghostfolio/helper/types'; import { Controller, Get, diff --git a/apps/api/src/app/user/user.controller.ts b/apps/api/src/app/user/user.controller.ts index f7f78087..c794c2d4 100644 --- a/apps/api/src/app/user/user.controller.ts +++ b/apps/api/src/app/user/user.controller.ts @@ -1,5 +1,10 @@ -import { RequestWithUser } from '@ghostfolio/api/app/interfaces/request-with-user.type'; -import { getPermissions, hasPermission, permissions } from '@ghostfolio/helper'; +import { User } from '@ghostfolio/helper/interfaces'; +import { + getPermissions, + hasPermission, + permissions +} from '@ghostfolio/helper/permissions'; +import { RequestWithUser } from '@ghostfolio/helper/types'; import { Body, Controller, @@ -20,7 +25,6 @@ import { User as UserModel } from '@prisma/client'; import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { UserItem } from './interfaces/user-item.interface'; -import { User } from './interfaces/user.interface'; import { UpdateUserSettingsDto } from './update-user-settings.dto'; import { UserService } from './user.service'; diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index 34d34cac..23880bdb 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -1,18 +1,13 @@ import { ConfigurationService } from '@ghostfolio/api/services/configuration.service'; import { PrismaService } from '@ghostfolio/api/services/prisma.service'; -import { - getPermissions, - locale, - permissions, - resetHours -} from '@ghostfolio/helper'; +import { locale } from '@ghostfolio/helper/config'; +import { resetHours } from '@ghostfolio/helper/helper'; +import { User as IUser, UserWithSettings } from '@ghostfolio/helper/interfaces'; +import { getPermissions, permissions } from '@ghostfolio/helper/permissions'; import { Injectable } from '@nestjs/common'; import { Currency, Prisma, Provider, User } from '@prisma/client'; import { add } from 'date-fns'; -import { UserWithSettings } from '../interfaces/user-with-settings'; -import { User as IUser } from './interfaces/user.interface'; - const crypto = require('crypto'); @Injectable() diff --git a/apps/api/src/models/interfaces/portfolio.interface.ts b/apps/api/src/models/interfaces/portfolio.interface.ts index a3e377b5..269300bd 100644 --- a/apps/api/src/models/interfaces/portfolio.interface.ts +++ b/apps/api/src/models/interfaces/portfolio.interface.ts @@ -1,7 +1,4 @@ -import { - PortfolioItem, - Position -} from '@ghostfolio/api/app/portfolio/interfaces/portfolio-item.interface'; +import { PortfolioItem, Position } from '@ghostfolio/helper/interfaces'; import { Order } from '../order'; diff --git a/apps/api/src/models/interfaces/rule.interface.ts b/apps/api/src/models/interfaces/rule.interface.ts index 72b6cf60..6c448a26 100644 --- a/apps/api/src/models/interfaces/rule.interface.ts +++ b/apps/api/src/models/interfaces/rule.interface.ts @@ -1,4 +1,4 @@ -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { EvaluationResult } from './evaluation-result.interface'; diff --git a/apps/api/src/models/portfolio.spec.ts b/apps/api/src/models/portfolio.spec.ts index 5e7dca9b..97b182c9 100644 --- a/apps/api/src/models/portfolio.spec.ts +++ b/apps/api/src/models/portfolio.spec.ts @@ -1,17 +1,13 @@ -import { - UNKNOWN_KEY, - baseCurrency, - getUtc, - getYesterday -} from '@ghostfolio/helper'; +import { UNKNOWN_KEY, baseCurrency } from '@ghostfolio/helper/config'; +import { getUtc, getYesterday } from '@ghostfolio/helper/helper'; import { AccountType, Currency, DataSource, Role, Type } from '@prisma/client'; +import { format } from 'date-fns'; import { DataProviderService } from '../services/data-provider.service'; import { ExchangeRateDataService } from '../services/exchange-rate-data.service'; import { MarketState } from '../services/interfaces/interfaces'; import { RulesService } from '../services/rules.service'; import { Portfolio } from './portfolio'; -import { format } from 'date-fns'; jest.mock('../services/data-provider.service', () => { return { diff --git a/apps/api/src/models/portfolio.ts b/apps/api/src/models/portfolio.ts index 3451bd63..f2e00e84 100644 --- a/apps/api/src/models/portfolio.ts +++ b/apps/api/src/models/portfolio.ts @@ -1,13 +1,14 @@ +import { UNKNOWN_KEY } from '@ghostfolio/helper/config'; +import { getToday, getYesterday, resetHours } from '@ghostfolio/helper/helper'; import { PortfolioItem, - Position -} from '@ghostfolio/api/app/portfolio/interfaces/portfolio-item.interface'; -import { - UNKNOWN_KEY, - getToday, - getYesterday, - resetHours -} from '@ghostfolio/helper'; + PortfolioPerformance, + PortfolioPosition, + PortfolioReport, + Position, + UserWithSettings +} from '@ghostfolio/helper/interfaces'; +import { DateRange, OrderWithAccount } from '@ghostfolio/helper/types'; import { add, format, @@ -27,12 +28,6 @@ import { import { cloneDeep, isEmpty } from 'lodash'; import * as roundTo from 'round-to'; -import { UserWithSettings } from '../app/interfaces/user-with-settings'; -import { OrderWithAccount } from '../app/order/interfaces/order-with-account.type'; -import { DateRange } from '../app/portfolio/interfaces/date-range.type'; -import { PortfolioPerformance } from '../app/portfolio/interfaces/portfolio-performance.interface'; -import { PortfolioPosition } from '../app/portfolio/interfaces/portfolio-position.interface'; -import { PortfolioReport } from '../app/portfolio/interfaces/portfolio-report.interface'; import { DataProviderService } from '../services/data-provider.service'; import { ExchangeRateDataService } from '../services/exchange-rate-data.service'; import { IOrder } from '../services/interfaces/interfaces'; diff --git a/apps/api/src/models/rule.ts b/apps/api/src/models/rule.ts index f5ffa77d..2b0a3070 100644 --- a/apps/api/src/models/rule.ts +++ b/apps/api/src/models/rule.ts @@ -1,7 +1,7 @@ -import { groupBy } from '@ghostfolio/helper'; +import { groupBy } from '@ghostfolio/helper/helper'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { Currency } from '@prisma/client'; -import { PortfolioPosition } from '../app/portfolio/interfaces/portfolio-position.interface'; import { ExchangeRateDataService } from '../services/exchange-rate-data.service'; import { EvaluationResult } from './interfaces/evaluation-result.interface'; import { RuleInterface } from './interfaces/rule.interface'; diff --git a/apps/api/src/models/rules/account-cluster-risk/current-investment.ts b/apps/api/src/models/rules/account-cluster-risk/current-investment.ts index bafa05f6..f495630e 100644 --- a/apps/api/src/models/rules/account-cluster-risk/current-investment.ts +++ b/apps/api/src/models/rules/account-cluster-risk/current-investment.ts @@ -1,5 +1,5 @@ -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { Rule } from '../../rule'; diff --git a/apps/api/src/models/rules/account-cluster-risk/initial-investment.ts b/apps/api/src/models/rules/account-cluster-risk/initial-investment.ts index 1913a6d6..668d27aa 100644 --- a/apps/api/src/models/rules/account-cluster-risk/initial-investment.ts +++ b/apps/api/src/models/rules/account-cluster-risk/initial-investment.ts @@ -1,4 +1,4 @@ -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { ExchangeRateDataService } from 'apps/api/src/services/exchange-rate-data.service'; import { Rule } from '../../rule'; diff --git a/apps/api/src/models/rules/account-cluster-risk/single-account.ts b/apps/api/src/models/rules/account-cluster-risk/single-account.ts index 24d13c95..835385f7 100644 --- a/apps/api/src/models/rules/account-cluster-risk/single-account.ts +++ b/apps/api/src/models/rules/account-cluster-risk/single-account.ts @@ -1,4 +1,4 @@ -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { ExchangeRateDataService } from 'apps/api/src/services/exchange-rate-data.service'; import { Rule } from '../../rule'; diff --git a/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts b/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts index 8f266fc7..5936828a 100644 --- a/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts +++ b/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts @@ -1,5 +1,5 @@ -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { Rule } from '../../rule'; diff --git a/apps/api/src/models/rules/currency-cluster-risk/base-currency-initial-investment.ts b/apps/api/src/models/rules/currency-cluster-risk/base-currency-initial-investment.ts index 1282ec60..e4aaaf60 100644 --- a/apps/api/src/models/rules/currency-cluster-risk/base-currency-initial-investment.ts +++ b/apps/api/src/models/rules/currency-cluster-risk/base-currency-initial-investment.ts @@ -1,4 +1,4 @@ -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { ExchangeRateDataService } from 'apps/api/src/services/exchange-rate-data.service'; import { Rule } from '../../rule'; diff --git a/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts b/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts index ae937e24..4a793559 100644 --- a/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts +++ b/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts @@ -1,4 +1,4 @@ -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { ExchangeRateDataService } from 'apps/api/src/services/exchange-rate-data.service'; import { Rule } from '../../rule'; diff --git a/apps/api/src/models/rules/currency-cluster-risk/initial-investment.ts b/apps/api/src/models/rules/currency-cluster-risk/initial-investment.ts index da800be6..bdb0e7e7 100644 --- a/apps/api/src/models/rules/currency-cluster-risk/initial-investment.ts +++ b/apps/api/src/models/rules/currency-cluster-risk/initial-investment.ts @@ -1,4 +1,4 @@ -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { ExchangeRateDataService } from 'apps/api/src/services/exchange-rate-data.service'; import { Rule } from '../../rule'; diff --git a/apps/api/src/models/rules/fees/fee-ratio-initial-investment.ts b/apps/api/src/models/rules/fees/fee-ratio-initial-investment.ts index 4bf35354..cc63a0fb 100644 --- a/apps/api/src/models/rules/fees/fee-ratio-initial-investment.ts +++ b/apps/api/src/models/rules/fees/fee-ratio-initial-investment.ts @@ -1,4 +1,4 @@ -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { ExchangeRateDataService } from 'apps/api/src/services/exchange-rate-data.service'; import { Rule } from '../../rule'; diff --git a/apps/api/src/services/data-gathering.service.ts b/apps/api/src/services/data-gathering.service.ts index bdbd2d7d..8b4fa131 100644 --- a/apps/api/src/services/data-gathering.service.ts +++ b/apps/api/src/services/data-gathering.service.ts @@ -1,10 +1,9 @@ +import { benchmarks, currencyPairs } from '@ghostfolio/helper/config'; import { - benchmarks, - currencyPairs, getUtc, isGhostfolioScraperApiSymbol, resetHours -} from '@ghostfolio/helper'; +} from '@ghostfolio/helper/helper'; import { Injectable } from '@nestjs/common'; import { differenceInHours, diff --git a/apps/api/src/services/data-provider.service.ts b/apps/api/src/services/data-provider.service.ts index 827b2294..8490eb62 100644 --- a/apps/api/src/services/data-provider.service.ts +++ b/apps/api/src/services/data-provider.service.ts @@ -2,7 +2,8 @@ import { isCrypto, isGhostfolioScraperApiSymbol, isRakutenRapidApiSymbol -} from '@ghostfolio/helper'; +} from '@ghostfolio/helper/helper'; +import { Granularity } from '@ghostfolio/helper/types'; import { Injectable } from '@nestjs/common'; import { MarketData } from '@prisma/client'; import { format } from 'date-fns'; @@ -13,7 +14,6 @@ import { GhostfolioScraperApiService } from './data-provider/ghostfolio-scraper- import { RakutenRapidApiService } from './data-provider/rakuten-rapid-api/rakuten-rapid-api.service'; import { YahooFinanceService } from './data-provider/yahoo-finance/yahoo-finance.service'; import { DataProviderInterface } from './interfaces/data-provider.interface'; -import { Granularity } from './interfaces/granularity.type'; import { IDataProviderHistoricalResponse, IDataProviderResponse diff --git a/apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts b/apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts index c08c0528..ad7e05f9 100644 --- a/apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts +++ b/apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts @@ -1,9 +1,9 @@ +import { Granularity } from '@ghostfolio/helper/types'; import { Injectable } from '@nestjs/common'; import { isAfter, isBefore, parse } from 'date-fns'; import { ConfigurationService } from '../../configuration.service'; import { DataProviderInterface } from '../../interfaces/data-provider.interface'; -import { Granularity } from '../../interfaces/granularity.type'; import { IDataProviderHistoricalResponse, IDataProviderResponse diff --git a/apps/api/src/services/data-provider/ghostfolio-scraper-api/ghostfolio-scraper-api.service.ts b/apps/api/src/services/data-provider/ghostfolio-scraper-api/ghostfolio-scraper-api.service.ts index c1856b29..d92898d8 100644 --- a/apps/api/src/services/data-provider/ghostfolio-scraper-api/ghostfolio-scraper-api.service.ts +++ b/apps/api/src/services/data-provider/ghostfolio-scraper-api/ghostfolio-scraper-api.service.ts @@ -1,4 +1,5 @@ -import { getYesterday } from '@ghostfolio/helper'; +import { getYesterday } from '@ghostfolio/helper/helper'; +import { Granularity } from '@ghostfolio/helper/types'; import { Injectable } from '@nestjs/common'; import { DataSource } from '@prisma/client'; import * as bent from 'bent'; @@ -6,7 +7,6 @@ import * as cheerio from 'cheerio'; import { format } from 'date-fns'; import { DataProviderInterface } from '../../interfaces/data-provider.interface'; -import { Granularity } from '../../interfaces/granularity.type'; import { IDataProviderHistoricalResponse, IDataProviderResponse, diff --git a/apps/api/src/services/data-provider/rakuten-rapid-api/rakuten-rapid-api.service.ts b/apps/api/src/services/data-provider/rakuten-rapid-api/rakuten-rapid-api.service.ts index addcd685..2a3d6746 100644 --- a/apps/api/src/services/data-provider/rakuten-rapid-api/rakuten-rapid-api.service.ts +++ b/apps/api/src/services/data-provider/rakuten-rapid-api/rakuten-rapid-api.service.ts @@ -1,4 +1,5 @@ -import { getToday, getYesterday } from '@ghostfolio/helper'; +import { getToday, getYesterday } from '@ghostfolio/helper/helper'; +import { Granularity } from '@ghostfolio/helper/types'; import { Injectable } from '@nestjs/common'; import { DataSource } from '@prisma/client'; import * as bent from 'bent'; @@ -6,7 +7,6 @@ import { format, subMonths, subWeeks, subYears } from 'date-fns'; import { ConfigurationService } from '../../configuration.service'; import { DataProviderInterface } from '../../interfaces/data-provider.interface'; -import { Granularity } from '../../interfaces/granularity.type'; import { IDataProviderHistoricalResponse, IDataProviderResponse, diff --git a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts index 1976a052..1b91d903 100644 --- a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts +++ b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts @@ -1,16 +1,12 @@ -import { - UNKNOWN_KEY, - isCrypto, - isCurrency, - parseCurrency -} from '@ghostfolio/helper'; +import { UNKNOWN_KEY } from '@ghostfolio/helper/config'; +import { isCrypto, isCurrency, parseCurrency } from '@ghostfolio/helper/helper'; +import { Granularity } from '@ghostfolio/helper/types'; import { Injectable } from '@nestjs/common'; import { DataSource } from '@prisma/client'; import { format } from 'date-fns'; import * as yahooFinance from 'yahoo-finance'; import { DataProviderInterface } from '../../interfaces/data-provider.interface'; -import { Granularity } from '../../interfaces/granularity.type'; import { IDataProviderHistoricalResponse, IDataProviderResponse, diff --git a/apps/api/src/services/exchange-rate-data.service.ts b/apps/api/src/services/exchange-rate-data.service.ts index 9f14a639..96970128 100644 --- a/apps/api/src/services/exchange-rate-data.service.ts +++ b/apps/api/src/services/exchange-rate-data.service.ts @@ -1,4 +1,4 @@ -import { getYesterday } from '@ghostfolio/helper'; +import { getYesterday } from '@ghostfolio/helper/helper'; import { Injectable } from '@nestjs/common'; import { Currency } from '@prisma/client'; import { format } from 'date-fns'; diff --git a/apps/api/src/services/interfaces/data-provider.interface.ts b/apps/api/src/services/interfaces/data-provider.interface.ts index e424b66f..d1e1b293 100644 --- a/apps/api/src/services/interfaces/data-provider.interface.ts +++ b/apps/api/src/services/interfaces/data-provider.interface.ts @@ -1,4 +1,5 @@ -import { Granularity } from './granularity.type'; +import { Granularity } from '@ghostfolio/helper/types'; + import { IDataProviderHistoricalResponse, IDataProviderResponse diff --git a/apps/api/src/services/interfaces/interfaces.ts b/apps/api/src/services/interfaces/interfaces.ts index 904eaae7..97678f4c 100644 --- a/apps/api/src/services/interfaces/interfaces.ts +++ b/apps/api/src/services/interfaces/interfaces.ts @@ -1,4 +1,4 @@ -import { UNKNOWN_KEY } from '@ghostfolio/helper'; +import { UNKNOWN_KEY } from '@ghostfolio/helper/config'; import { Account, Currency, DataSource } from '@prisma/client'; import { OrderType } from '../../models/order-type'; diff --git a/apps/client/src/app/adapter/date-formats.ts b/apps/client/src/app/adapter/date-formats.ts index 66ba6eb4..62373944 100644 --- a/apps/client/src/app/adapter/date-formats.ts +++ b/apps/client/src/app/adapter/date-formats.ts @@ -1,7 +1,7 @@ import { DEFAULT_DATE_FORMAT, DEFAULT_DATE_FORMAT_MONTH_YEAR -} from '@ghostfolio/helper'; +} from '@ghostfolio/helper/config'; export const DateFormats = { display: { diff --git a/apps/client/src/app/app.component.ts b/apps/client/src/app/app.component.ts index d6322f73..c2b6e74f 100644 --- a/apps/client/src/app/app.component.ts +++ b/apps/client/src/app/app.component.ts @@ -6,14 +6,9 @@ import { OnInit } from '@angular/core'; import { NavigationEnd, PRIMARY_OUTLET, Router } from '@angular/router'; -import { InfoItem } from '@ghostfolio/api/app/info/interfaces/info-item.interface'; -import { User } from '@ghostfolio/api/app/user/interfaces/user.interface'; -import { - hasPermission, - permissions, - primaryColorHex, - secondaryColorHex -} from '@ghostfolio/helper'; +import { primaryColorHex, secondaryColorHex } from '@ghostfolio/helper/config'; +import { InfoItem, User } from '@ghostfolio/helper/interfaces'; +import { hasPermission, permissions } from '@ghostfolio/helper/permissions'; import { MaterialCssVarsService } from 'angular-material-css-vars'; import { Subject } from 'rxjs'; import { filter, takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/components/access-table/access-table.component.ts b/apps/client/src/app/components/access-table/access-table.component.ts index b7004baa..ab747507 100644 --- a/apps/client/src/app/components/access-table/access-table.component.ts +++ b/apps/client/src/app/components/access-table/access-table.component.ts @@ -6,7 +6,7 @@ import { OnInit } from '@angular/core'; import { MatTableDataSource } from '@angular/material/table'; -import { Access } from '@ghostfolio/api/app/access/interfaces/access.interface'; +import { Access } from '@ghostfolio/helper/interfaces'; @Component({ selector: 'gf-access-table', diff --git a/apps/client/src/app/components/fear-and-greed-index/fear-and-greed-index.component.ts b/apps/client/src/app/components/fear-and-greed-index/fear-and-greed-index.component.ts index fa9c54f3..12f5f7b3 100644 --- a/apps/client/src/app/components/fear-and-greed-index/fear-and-greed-index.component.ts +++ b/apps/client/src/app/components/fear-and-greed-index/fear-and-greed-index.component.ts @@ -5,7 +5,7 @@ import { OnChanges, OnInit } from '@angular/core'; -import { resolveFearAndGreedIndex } from '@ghostfolio/helper'; +import { resolveFearAndGreedIndex } from '@ghostfolio/helper/helper'; @Component({ selector: 'gf-fear-and-greed-index', diff --git a/apps/client/src/app/components/header/header.component.ts b/apps/client/src/app/components/header/header.component.ts index b74c7061..7a848945 100644 --- a/apps/client/src/app/components/header/header.component.ts +++ b/apps/client/src/app/components/header/header.component.ts @@ -6,13 +6,12 @@ import { } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { Router } from '@angular/router'; -import { InfoItem } from '@ghostfolio/api/app/info/interfaces/info-item.interface'; -import { User } from '@ghostfolio/api/app/user/interfaces/user.interface'; import { LoginWithAccessTokenDialog } from '@ghostfolio/client/pages/login/login-with-access-token-dialog/login-with-access-token-dialog.component'; import { DataService } from '@ghostfolio/client/services/data.service'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; -import { hasPermission, permissions } from '@ghostfolio/helper'; +import { InfoItem, User } from '@ghostfolio/helper/interfaces'; +import { hasPermission, permissions } from '@ghostfolio/helper/permissions'; import { EMPTY, Subject } from 'rxjs'; import { catchError, takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/components/investment-chart/investment-chart.component.ts b/apps/client/src/app/components/investment-chart/investment-chart.component.ts index d90f5b1e..350660f9 100644 --- a/apps/client/src/app/components/investment-chart/investment-chart.component.ts +++ b/apps/client/src/app/components/investment-chart/investment-chart.component.ts @@ -9,8 +9,8 @@ import { OnInit, ViewChild } from '@angular/core'; -import { PortfolioItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-item.interface'; -import { primaryColorRgb } from '@ghostfolio/helper'; +import { primaryColorRgb } from '@ghostfolio/helper/config'; +import { PortfolioItem } from '@ghostfolio/helper/interfaces'; import { LineController, LineElement, diff --git a/apps/client/src/app/components/line-chart/line-chart.component.ts b/apps/client/src/app/components/line-chart/line-chart.component.ts index 5614ed25..c5e8ea0a 100644 --- a/apps/client/src/app/components/line-chart/line-chart.component.ts +++ b/apps/client/src/app/components/line-chart/line-chart.component.ts @@ -9,11 +9,8 @@ import { OnInit, ViewChild } from '@angular/core'; -import { - getBackgroundColor, - primaryColorRgb, - secondaryColorRgb -} from '@ghostfolio/helper'; +import { primaryColorRgb, secondaryColorRgb } from '@ghostfolio/helper/config'; +import { getBackgroundColor } from '@ghostfolio/helper/helper'; import { Chart, Filler, diff --git a/apps/client/src/app/components/portfolio-overview/portfolio-overview.component.ts b/apps/client/src/app/components/portfolio-overview/portfolio-overview.component.ts index 93086fdf..d8f34c84 100644 --- a/apps/client/src/app/components/portfolio-overview/portfolio-overview.component.ts +++ b/apps/client/src/app/components/portfolio-overview/portfolio-overview.component.ts @@ -5,7 +5,7 @@ import { OnChanges, OnInit } from '@angular/core'; -import { PortfolioOverview } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-overview.interface'; +import { PortfolioOverview } from '@ghostfolio/helper/interfaces'; import { Currency } from '@prisma/client'; @Component({ diff --git a/apps/client/src/app/components/portfolio-performance-summary/portfolio-performance-summary.component.ts b/apps/client/src/app/components/portfolio-performance-summary/portfolio-performance-summary.component.ts index a7fbe5f7..f26525f5 100644 --- a/apps/client/src/app/components/portfolio-performance-summary/portfolio-performance-summary.component.ts +++ b/apps/client/src/app/components/portfolio-performance-summary/portfolio-performance-summary.component.ts @@ -7,7 +7,7 @@ import { OnInit, ViewChild } from '@angular/core'; -import { PortfolioPerformance } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-performance.interface'; +import { PortfolioPerformance } from '@ghostfolio/helper/interfaces'; import { Currency } from '@prisma/client'; import { CountUp } from 'countup.js'; import { isNumber } from 'lodash'; diff --git a/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts b/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts index e411af37..609245e4 100644 --- a/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts +++ b/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts @@ -4,7 +4,7 @@ import { Input, OnInit } from '@angular/core'; -import { PortfolioPerformance } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-performance.interface'; +import { PortfolioPerformance } from '@ghostfolio/helper/interfaces'; import { Currency } from '@prisma/client'; @Component({ diff --git a/apps/client/src/app/components/portfolio-positions-chart/portfolio-positions-chart.component.ts b/apps/client/src/app/components/portfolio-positions-chart/portfolio-positions-chart.component.ts index 5c2497c1..8777f941 100644 --- a/apps/client/src/app/components/portfolio-positions-chart/portfolio-positions-chart.component.ts +++ b/apps/client/src/app/components/portfolio-positions-chart/portfolio-positions-chart.component.ts @@ -7,7 +7,7 @@ import { OnChanges, OnInit } from '@angular/core'; -import { PortfolioItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-item.interface'; +import { PortfolioItem } from '@ghostfolio/helper/interfaces'; import { endOfDay, parseISO, startOfDay } from 'date-fns'; @Component({ diff --git a/apps/client/src/app/components/portfolio-proportion-chart/portfolio-proportion-chart.component.ts b/apps/client/src/app/components/portfolio-proportion-chart/portfolio-proportion-chart.component.ts index b970ffd5..f46ca0ed 100644 --- a/apps/client/src/app/components/portfolio-proportion-chart/portfolio-proportion-chart.component.ts +++ b/apps/client/src/app/components/portfolio-proportion-chart/portfolio-proportion-chart.component.ts @@ -7,8 +7,9 @@ import { OnInit, ViewChild } from '@angular/core'; -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; -import { UNKNOWN_KEY, getCssVariable, getTextColor } from '@ghostfolio/helper'; +import { UNKNOWN_KEY } from '@ghostfolio/helper/config'; +import { getCssVariable, getTextColor } from '@ghostfolio/helper/helper'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { Currency } from '@prisma/client'; import { Tooltip } from 'chart.js'; import { LinearScale } from 'chart.js'; diff --git a/apps/client/src/app/components/position/position.component.ts b/apps/client/src/app/components/position/position.component.ts index 360a1479..7c14a73a 100644 --- a/apps/client/src/app/components/position/position.component.ts +++ b/apps/client/src/app/components/position/position.component.ts @@ -7,8 +7,8 @@ import { } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute, Router } from '@angular/router'; -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; -import { UNKNOWN_KEY } from '@ghostfolio/helper'; +import { UNKNOWN_KEY } from '@ghostfolio/helper/config'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/components/positions-table/positions-table.component.ts b/apps/client/src/app/components/positions-table/positions-table.component.ts index abc90c8d..12655b39 100644 --- a/apps/client/src/app/components/positions-table/positions-table.component.ts +++ b/apps/client/src/app/components/positions-table/positions-table.component.ts @@ -13,7 +13,7 @@ import { MatPaginator } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { ActivatedRoute, Router } from '@angular/router'; -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces'; import { Order as OrderModel } from '@prisma/client'; import { Subject, Subscription } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/components/positions/positions.component.ts b/apps/client/src/app/components/positions/positions.component.ts index 5f69736e..8bcc8add 100644 --- a/apps/client/src/app/components/positions/positions.component.ts +++ b/apps/client/src/app/components/positions/positions.component.ts @@ -5,8 +5,8 @@ import { OnChanges, OnInit } from '@angular/core'; -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; import { MarketState } from '@ghostfolio/api/services/interfaces/interfaces'; +import { PortfolioPosition } from '@ghostfolio/helper/interfaces/portfolio-position.interface'; @Component({ selector: 'gf-positions', diff --git a/apps/client/src/app/components/rule/rule.component.ts b/apps/client/src/app/components/rule/rule.component.ts index 2bf6fe4a..941bf207 100644 --- a/apps/client/src/app/components/rule/rule.component.ts +++ b/apps/client/src/app/components/rule/rule.component.ts @@ -4,7 +4,7 @@ import { Input, OnInit } from '@angular/core'; -import { PortfolioReportRule } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-report.interface'; +import { PortfolioReportRule } from '@ghostfolio/helper/interfaces'; @Component({ selector: 'gf-rule', diff --git a/apps/client/src/app/components/rules/rules.component.ts b/apps/client/src/app/components/rules/rules.component.ts index 61af9188..c7764248 100644 --- a/apps/client/src/app/components/rules/rules.component.ts +++ b/apps/client/src/app/components/rules/rules.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; -import { PortfolioReportRule } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-report.interface'; +import { PortfolioReportRule } from '@ghostfolio/helper/interfaces'; @Component({ selector: 'gf-rules', diff --git a/apps/client/src/app/components/transactions-table/transactions-table.component.ts b/apps/client/src/app/components/transactions-table/transactions-table.component.ts index c5edc542..d7008d6a 100644 --- a/apps/client/src/app/components/transactions-table/transactions-table.component.ts +++ b/apps/client/src/app/components/transactions-table/transactions-table.component.ts @@ -21,9 +21,9 @@ import { MatDialog } from '@angular/material/dialog'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { ActivatedRoute, Router } from '@angular/router'; -import { OrderWithAccount } from '@ghostfolio/api/app/order/interfaces/order-with-account.type'; -import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper'; -import { format, parse, parseISO } from 'date-fns'; +import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper/config'; +import { OrderWithAccount } from '@ghostfolio/helper/types'; +import { format } from 'date-fns'; import { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/components/value/value.component.ts b/apps/client/src/app/components/value/value.component.ts index 875191d3..0ff93735 100644 --- a/apps/client/src/app/components/value/value.component.ts +++ b/apps/client/src/app/components/value/value.component.ts @@ -5,7 +5,7 @@ import { OnChanges, OnInit } from '@angular/core'; -import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper'; +import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper/config'; import { format, isDate } from 'date-fns'; import { isNumber } from 'lodash'; diff --git a/apps/client/src/app/core/auth.interceptor.ts b/apps/client/src/app/core/auth.interceptor.ts index f6e586f6..6bd3a041 100644 --- a/apps/client/src/app/core/auth.interceptor.ts +++ b/apps/client/src/app/core/auth.interceptor.ts @@ -1,8 +1,4 @@ -import { - HTTP_INTERCEPTORS, - HttpErrorResponse, - HttpEvent -} from '@angular/common/http'; +import { HTTP_INTERCEPTORS, HttpEvent } from '@angular/common/http'; import { HttpHandler, HttpInterceptor, @@ -11,7 +7,6 @@ import { import { Injectable } from '@angular/core'; import { Router } from '@angular/router'; import { Observable } from 'rxjs'; -import { tap } from 'rxjs/operators'; import { ImpersonationStorageService } from '../services/impersonation-storage.service'; import { TokenStorageService } from '../services/token-storage.service'; diff --git a/apps/client/src/app/pages/about/about-page.component.ts b/apps/client/src/app/pages/about/about-page.component.ts index 4a677a9e..eddb2f62 100644 --- a/apps/client/src/app/pages/about/about-page.component.ts +++ b/apps/client/src/app/pages/about/about-page.component.ts @@ -1,8 +1,8 @@ import { ChangeDetectorRef, Component, OnInit } from '@angular/core'; -import { User } from '@ghostfolio/api/app/user/interfaces/user.interface'; import { DataService } from '@ghostfolio/client/services/data.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; -import { baseCurrency } from '@ghostfolio/helper'; +import { baseCurrency } from '@ghostfolio/helper/config'; +import { User } from '@ghostfolio/helper/interfaces'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/pages/account/account-page.component.ts b/apps/client/src/app/pages/account/account-page.component.ts index e1bd7800..9b6c908a 100644 --- a/apps/client/src/app/pages/account/account-page.component.ts +++ b/apps/client/src/app/pages/account/account-page.component.ts @@ -1,13 +1,9 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; -import { Access } from '@ghostfolio/api/app/access/interfaces/access.interface'; -import { User } from '@ghostfolio/api/app/user/interfaces/user.interface'; import { DataService } from '@ghostfolio/client/services/data.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; -import { - DEFAULT_DATE_FORMAT, - hasPermission, - permissions -} from '@ghostfolio/helper'; +import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper/config'; +import { Access, User } from '@ghostfolio/helper/interfaces'; +import { hasPermission, permissions } from '@ghostfolio/helper/permissions'; import { Currency } from '@prisma/client'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/pages/accounts/accounts-page.component.ts b/apps/client/src/app/pages/accounts/accounts-page.component.ts index 8c9fa034..fe4d2f11 100644 --- a/apps/client/src/app/pages/accounts/accounts-page.component.ts +++ b/apps/client/src/app/pages/accounts/accounts-page.component.ts @@ -3,11 +3,11 @@ import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute, Router } from '@angular/router'; import { CreateAccountDto } from '@ghostfolio/api/app/account/create-account.dto'; import { UpdateAccountDto } from '@ghostfolio/api/app/account/update-account.dto'; -import { User } from '@ghostfolio/api/app/user/interfaces/user.interface'; import { DataService } from '@ghostfolio/client/services/data.service'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; -import { hasPermission, permissions } from '@ghostfolio/helper'; +import { User } from '@ghostfolio/helper/interfaces'; +import { hasPermission, permissions } from '@ghostfolio/helper/permissions'; import { Account as AccountModel, AccountType } from '@prisma/client'; import { DeviceDetectorService } from 'ngx-device-detector'; import { Subject, Subscription } from 'rxjs'; diff --git a/apps/client/src/app/pages/admin/admin-page.component.ts b/apps/client/src/app/pages/admin/admin-page.component.ts index d00a28d0..7dcad34c 100644 --- a/apps/client/src/app/pages/admin/admin-page.component.ts +++ b/apps/client/src/app/pages/admin/admin-page.component.ts @@ -1,11 +1,10 @@ import { ChangeDetectorRef, Component, OnInit } from '@angular/core'; -import { AdminData } from '@ghostfolio/api/app/admin/interfaces/admin-data.interface'; -import { User } from '@ghostfolio/api/app/user/interfaces/user.interface'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { CacheService } from '@ghostfolio/client/services/cache.service'; import { DataService } from '@ghostfolio/client/services/data.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; -import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper'; +import { DEFAULT_DATE_FORMAT } from '@ghostfolio/helper/config'; +import { AdminData, User } from '@ghostfolio/helper/interfaces'; import { formatDistanceToNow, isValid, parseISO, sub } from 'date-fns'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/pages/analysis/analysis-page.component.ts b/apps/client/src/app/pages/analysis/analysis-page.component.ts index e8b7498b..8b1cf2ae 100644 --- a/apps/client/src/app/pages/analysis/analysis-page.component.ts +++ b/apps/client/src/app/pages/analysis/analysis-page.component.ts @@ -1,11 +1,13 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; -import { PortfolioItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-item.interface'; -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; -import { User } from '@ghostfolio/api/app/user/interfaces/user.interface'; import { ToggleOption } from '@ghostfolio/client/components/toggle/interfaces/toggle-option.type'; import { DataService } from '@ghostfolio/client/services/data.service'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; +import { + PortfolioItem, + PortfolioPosition, + User +} from '@ghostfolio/helper/interfaces'; import { DeviceDetectorService } from 'ngx-device-detector'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/pages/home/home-page.component.ts b/apps/client/src/app/pages/home/home-page.component.ts index d91c3a7a..afe0500e 100644 --- a/apps/client/src/app/pages/home/home-page.component.ts +++ b/apps/client/src/app/pages/home/home-page.component.ts @@ -1,11 +1,6 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute, Router } from '@angular/router'; -import { DateRange } from '@ghostfolio/api/app/portfolio/interfaces/date-range.type'; -import { PortfolioOverview } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-overview.interface'; -import { PortfolioPerformance } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-performance.interface'; -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; -import { User } from '@ghostfolio/api/app/user/interfaces/user.interface'; import { LineChartItem } from '@ghostfolio/client/components/line-chart/interfaces/line-chart.interface'; import { PerformanceChartDialog } from '@ghostfolio/client/components/performance-chart-dialog/performance-chart-dialog.component'; import { ToggleOption } from '@ghostfolio/client/components/toggle/interfaces/toggle-option.type'; @@ -16,7 +11,14 @@ import { SettingsStorageService } from '@ghostfolio/client/services/settings-storage.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; -import { hasPermission, permissions } from '@ghostfolio/helper'; +import { + PortfolioOverview, + PortfolioPerformance, + PortfolioPosition, + User +} from '@ghostfolio/helper/interfaces'; +import { hasPermission, permissions } from '@ghostfolio/helper/permissions'; +import { DateRange } from '@ghostfolio/helper/types'; import { DeviceDetectorService } from 'ngx-device-detector'; import { Subject, Subscription } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/pages/pricing/pricing-page.component.ts b/apps/client/src/app/pages/pricing/pricing-page.component.ts index 62b2933b..525682b4 100644 --- a/apps/client/src/app/pages/pricing/pricing-page.component.ts +++ b/apps/client/src/app/pages/pricing/pricing-page.component.ts @@ -1,8 +1,8 @@ import { ChangeDetectorRef, Component, OnInit } from '@angular/core'; -import { User } from '@ghostfolio/api/app/user/interfaces/user.interface'; import { DataService } from '@ghostfolio/client/services/data.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; -import { baseCurrency } from '@ghostfolio/helper'; +import { baseCurrency } from '@ghostfolio/helper/config'; +import { User } from '@ghostfolio/helper/interfaces'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/pages/report/report-page.component.ts b/apps/client/src/app/pages/report/report-page.component.ts index 8687798f..aa71391f 100644 --- a/apps/client/src/app/pages/report/report-page.component.ts +++ b/apps/client/src/app/pages/report/report-page.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectorRef, Component, OnInit } from '@angular/core'; -import { PortfolioReportRule } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-report.interface'; import { DataService } from '@ghostfolio/client/services/data.service'; +import { PortfolioReportRule } from '@ghostfolio/helper/interfaces'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; diff --git a/apps/client/src/app/pages/transactions/transactions-page.component.ts b/apps/client/src/app/pages/transactions/transactions-page.component.ts index 1fbb1702..593e9ecc 100644 --- a/apps/client/src/app/pages/transactions/transactions-page.component.ts +++ b/apps/client/src/app/pages/transactions/transactions-page.component.ts @@ -3,11 +3,11 @@ import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute, Router } from '@angular/router'; import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto'; import { UpdateOrderDto } from '@ghostfolio/api/app/order/update-order.dto'; -import { User } from '@ghostfolio/api/app/user/interfaces/user.interface'; import { DataService } from '@ghostfolio/client/services/data.service'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; -import { hasPermission, permissions } from '@ghostfolio/helper'; +import { User } from '@ghostfolio/helper/interfaces'; +import { hasPermission, permissions } from '@ghostfolio/helper/permissions'; import { Order as OrderModel } from '@prisma/client'; import { DeviceDetectorService } from 'ngx-device-detector'; import { Subject, Subscription } from 'rxjs'; diff --git a/apps/client/src/app/pipes/symbol/symbol.pipe.ts b/apps/client/src/app/pipes/symbol/symbol.pipe.ts index 0c4c4a39..71af05ed 100644 --- a/apps/client/src/app/pipes/symbol/symbol.pipe.ts +++ b/apps/client/src/app/pipes/symbol/symbol.pipe.ts @@ -1,5 +1,5 @@ import { Pipe, PipeTransform } from '@angular/core'; -import { ghostfolioScraperApiSymbolPrefix } from '@ghostfolio/helper'; +import { ghostfolioScraperApiSymbolPrefix } from '@ghostfolio/helper/config'; @Pipe({ name: 'gfSymbol' }) export class SymbolPipe implements PipeTransform { diff --git a/apps/client/src/app/services/data.service.ts b/apps/client/src/app/services/data.service.ts index fb69eaf6..68feb384 100644 --- a/apps/client/src/app/services/data.service.ts +++ b/apps/client/src/app/services/data.service.ts @@ -1,26 +1,30 @@ +import {} from '@ghostfolio/helper/interfaces'; + import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; -import { Access } from '@ghostfolio/api/app/access/interfaces/access.interface'; import { CreateAccountDto } from '@ghostfolio/api/app/account/create-account.dto'; import { UpdateAccountDto } from '@ghostfolio/api/app/account/update-account.dto'; -import { AdminData } from '@ghostfolio/api/app/admin/interfaces/admin-data.interface'; -import { InfoItem } from '@ghostfolio/api/app/info/interfaces/info-item.interface'; import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto'; import { UpdateOrderDto } from '@ghostfolio/api/app/order/update-order.dto'; -import { PortfolioItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-item.interface'; -import { PortfolioOverview } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-overview.interface'; -import { PortfolioPerformance } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-performance.interface'; import { HistoricalDataItem, PortfolioPositionDetail } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position-detail.interface'; -import { PortfolioPosition } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position.interface'; -import { PortfolioReport } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-report.interface'; import { LookupItem } from '@ghostfolio/api/app/symbol/interfaces/lookup-item.interface'; import { SymbolItem } from '@ghostfolio/api/app/symbol/interfaces/symbol-item.interface'; import { UserItem } from '@ghostfolio/api/app/user/interfaces/user-item.interface'; -import { User } from '@ghostfolio/api/app/user/interfaces/user.interface'; import { UpdateUserSettingsDto } from '@ghostfolio/api/app/user/update-user-settings.dto'; +import { + Access, + AdminData, + InfoItem, + PortfolioItem, + PortfolioOverview, + PortfolioPerformance, + PortfolioPosition, + PortfolioReport, + User +} from '@ghostfolio/helper/interfaces'; import { Order as OrderModel } from '@prisma/client'; import { Account as AccountModel } from '@prisma/client'; import { parseISO } from 'date-fns'; diff --git a/libs/helper/src/index.ts b/libs/helper/src/index.ts deleted file mode 100644 index fe49f940..00000000 --- a/libs/helper/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './lib/config'; -export * from './lib/helper'; -export * from './lib/permissions'; diff --git a/apps/api/src/app/access/interfaces/access.interface.ts b/libs/helper/src/lib/interfaces/access.interface.ts similarity index 100% rename from apps/api/src/app/access/interfaces/access.interface.ts rename to libs/helper/src/lib/interfaces/access.interface.ts diff --git a/apps/api/src/app/admin/interfaces/admin-data.interface.ts b/libs/helper/src/lib/interfaces/admin-data.interface.ts similarity index 100% rename from apps/api/src/app/admin/interfaces/admin-data.interface.ts rename to libs/helper/src/lib/interfaces/admin-data.interface.ts diff --git a/libs/helper/src/lib/interfaces/index.ts b/libs/helper/src/lib/interfaces/index.ts new file mode 100644 index 00000000..eb84932e --- /dev/null +++ b/libs/helper/src/lib/interfaces/index.ts @@ -0,0 +1,29 @@ +import { Access } from './access.interface'; +import { AdminData } from './admin-data.interface'; +import { InfoItem } from './info-item.interface'; +import { PortfolioItem } from './portfolio-item.interface'; +import { PortfolioOverview } from './portfolio-overview.interface'; +import { PortfolioPerformance } from './portfolio-performance.interface'; +import { PortfolioPosition } from './portfolio-position.interface'; +import { PortfolioReportRule } from './portfolio-report-rule.interface'; +import { PortfolioReport } from './portfolio-report.interface'; +import { Position } from './position.interface'; +import { UserSettings } from './user-settings.interface'; +import { UserWithSettings } from './user-with-settings'; +import { User } from './user.interface'; + +export { + Access, + AdminData, + InfoItem, + PortfolioItem, + PortfolioOverview, + PortfolioPerformance, + PortfolioPosition, + PortfolioReport, + PortfolioReportRule, + Position, + User, + UserSettings, + UserWithSettings +}; diff --git a/apps/api/src/app/info/interfaces/info-item.interface.ts b/libs/helper/src/lib/interfaces/info-item.interface.ts similarity index 100% rename from apps/api/src/app/info/interfaces/info-item.interface.ts rename to libs/helper/src/lib/interfaces/info-item.interface.ts diff --git a/libs/helper/src/lib/interfaces/portfolio-item.interface.ts b/libs/helper/src/lib/interfaces/portfolio-item.interface.ts new file mode 100644 index 00000000..0891ad3a --- /dev/null +++ b/libs/helper/src/lib/interfaces/portfolio-item.interface.ts @@ -0,0 +1,9 @@ +import { Position } from '@ghostfolio/helper/interfaces'; + +export interface PortfolioItem { + date: string; + grossPerformancePercent: number; + investment: number; + positions: { [symbol: string]: Position }; + value: number; +} diff --git a/apps/api/src/app/portfolio/interfaces/portfolio-overview.interface.ts b/libs/helper/src/lib/interfaces/portfolio-overview.interface.ts similarity index 100% rename from apps/api/src/app/portfolio/interfaces/portfolio-overview.interface.ts rename to libs/helper/src/lib/interfaces/portfolio-overview.interface.ts diff --git a/apps/api/src/app/portfolio/interfaces/portfolio-performance.interface.ts b/libs/helper/src/lib/interfaces/portfolio-performance.interface.ts similarity index 100% rename from apps/api/src/app/portfolio/interfaces/portfolio-performance.interface.ts rename to libs/helper/src/lib/interfaces/portfolio-performance.interface.ts diff --git a/apps/api/src/app/portfolio/interfaces/portfolio-position.interface.ts b/libs/helper/src/lib/interfaces/portfolio-position.interface.ts similarity index 100% rename from apps/api/src/app/portfolio/interfaces/portfolio-position.interface.ts rename to libs/helper/src/lib/interfaces/portfolio-position.interface.ts diff --git a/apps/api/src/app/portfolio/interfaces/portfolio-report.interface.ts b/libs/helper/src/lib/interfaces/portfolio-report-rule.interface.ts similarity index 51% rename from apps/api/src/app/portfolio/interfaces/portfolio-report.interface.ts rename to libs/helper/src/lib/interfaces/portfolio-report-rule.interface.ts index cbec2eca..5ba8ccef 100644 --- a/apps/api/src/app/portfolio/interfaces/portfolio-report.interface.ts +++ b/libs/helper/src/lib/interfaces/portfolio-report-rule.interface.ts @@ -1,7 +1,3 @@ -export interface PortfolioReport { - rules: { [group: string]: PortfolioReportRule[] }; -} - export interface PortfolioReportRule { evaluation: string; name: string; diff --git a/libs/helper/src/lib/interfaces/portfolio-report.interface.ts b/libs/helper/src/lib/interfaces/portfolio-report.interface.ts new file mode 100644 index 00000000..a33a0aae --- /dev/null +++ b/libs/helper/src/lib/interfaces/portfolio-report.interface.ts @@ -0,0 +1,5 @@ +import { PortfolioReportRule } from './portfolio-report-rule.interface'; + +export interface PortfolioReport { + rules: { [group: string]: PortfolioReportRule[] }; +} diff --git a/apps/api/src/app/portfolio/interfaces/portfolio-item.interface.ts b/libs/helper/src/lib/interfaces/position.interface.ts similarity index 62% rename from apps/api/src/app/portfolio/interfaces/portfolio-item.interface.ts rename to libs/helper/src/lib/interfaces/position.interface.ts index 3c1dd3ae..4094a0e7 100644 --- a/apps/api/src/app/portfolio/interfaces/portfolio-item.interface.ts +++ b/libs/helper/src/lib/interfaces/position.interface.ts @@ -1,13 +1,5 @@ import { Currency } from '@prisma/client'; -export interface PortfolioItem { - date: string; - grossPerformancePercent: number; - investment: number; - positions: { [symbol: string]: Position }; - value: number; -} - export interface Position { averagePrice: number; currency: Currency; diff --git a/libs/helper/src/lib/interfaces/user-settings.interface.ts b/libs/helper/src/lib/interfaces/user-settings.interface.ts new file mode 100644 index 00000000..182845b7 --- /dev/null +++ b/libs/helper/src/lib/interfaces/user-settings.interface.ts @@ -0,0 +1,6 @@ +import { Currency } from '@prisma/client'; + +export interface UserSettings { + baseCurrency: Currency; + locale: string; +} diff --git a/apps/api/src/app/interfaces/user-with-settings.ts b/libs/helper/src/lib/interfaces/user-with-settings.ts similarity index 100% rename from apps/api/src/app/interfaces/user-with-settings.ts rename to libs/helper/src/lib/interfaces/user-with-settings.ts diff --git a/apps/api/src/app/user/interfaces/user.interface.ts b/libs/helper/src/lib/interfaces/user.interface.ts similarity index 54% rename from apps/api/src/app/user/interfaces/user.interface.ts rename to libs/helper/src/lib/interfaces/user.interface.ts index 27d4543d..e480bcd2 100644 --- a/apps/api/src/app/user/interfaces/user.interface.ts +++ b/libs/helper/src/lib/interfaces/user.interface.ts @@ -1,6 +1,7 @@ -import { Account, Currency } from '@prisma/client'; +import { Access } from '@ghostfolio/api/app/user/interfaces/access.interface'; +import { Account } from '@prisma/client'; -import { Access } from './access.interface'; +import { UserSettings } from './user-settings.interface'; export interface User { access: Access[]; @@ -14,8 +15,3 @@ export interface User { type: 'Trial'; }; } - -export interface UserSettings { - baseCurrency: Currency; - locale: string; -} diff --git a/apps/api/src/app/access/interfaces/access-with-grantee-user.type.ts b/libs/helper/src/lib/types/access-with-grantee-user.type.ts similarity index 100% rename from apps/api/src/app/access/interfaces/access-with-grantee-user.type.ts rename to libs/helper/src/lib/types/access-with-grantee-user.type.ts diff --git a/apps/api/src/app/portfolio/interfaces/date-range.type.ts b/libs/helper/src/lib/types/date-range.type.ts similarity index 100% rename from apps/api/src/app/portfolio/interfaces/date-range.type.ts rename to libs/helper/src/lib/types/date-range.type.ts diff --git a/apps/api/src/services/interfaces/granularity.type.ts b/libs/helper/src/lib/types/granularity.type.ts similarity index 100% rename from apps/api/src/services/interfaces/granularity.type.ts rename to libs/helper/src/lib/types/granularity.type.ts diff --git a/libs/helper/src/lib/types/index.ts b/libs/helper/src/lib/types/index.ts new file mode 100644 index 00000000..9d6d78b0 --- /dev/null +++ b/libs/helper/src/lib/types/index.ts @@ -0,0 +1,13 @@ +import { AccessWithGranteeUser } from './access-with-grantee-user.type'; +import { DateRange } from './date-range.type'; +import { Granularity } from './granularity.type'; +import { OrderWithAccount } from './order-with-account.type'; +import { RequestWithUser } from './request-with-user.type'; + +export { + AccessWithGranteeUser, + DateRange, + Granularity, + OrderWithAccount, + RequestWithUser +}; diff --git a/apps/api/src/app/order/interfaces/order-with-account.type.ts b/libs/helper/src/lib/types/order-with-account.type.ts similarity index 100% rename from apps/api/src/app/order/interfaces/order-with-account.type.ts rename to libs/helper/src/lib/types/order-with-account.type.ts diff --git a/apps/api/src/app/interfaces/request-with-user.type.ts b/libs/helper/src/lib/types/request-with-user.type.ts similarity index 51% rename from apps/api/src/app/interfaces/request-with-user.type.ts rename to libs/helper/src/lib/types/request-with-user.type.ts index 9e26b55b..a5876089 100644 --- a/apps/api/src/app/interfaces/request-with-user.type.ts +++ b/libs/helper/src/lib/types/request-with-user.type.ts @@ -1,3 +1,3 @@ -import { UserWithSettings } from './user-with-settings'; +import { UserWithSettings } from '@ghostfolio/helper/interfaces'; export type RequestWithUser = Request & { user: UserWithSettings }; diff --git a/tsconfig.base.json b/tsconfig.base.json index cc4def90..fac4a76a 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -18,7 +18,7 @@ "paths": { "@ghostfolio/api/*": ["apps/api/src/*"], "@ghostfolio/client/*": ["apps/client/src/app/*"], - "@ghostfolio/helper": ["libs/helper/src/index.ts"] + "@ghostfolio/helper/*": ["libs/helper/src/lib/*"] } }, "exclude": ["node_modules", "tmp"]