From 0d58df7ce77acaddb657216a03782c9fed2d935d Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Thu, 22 Oct 2026 11:59:03 +0200 Subject: [PATCH] Task/move asset / cache / info / logo controllers to endpoints (#8269) Move asset, cache, info and logo controllers to endpoints --- .../api/src/app/activities/activities.module.ts | 2 -- apps/api/src/app/app.module.ts | 8 +++----- apps/api/src/app/asset/asset.module.ts | 17 ----------------- .../asset-profiles/asset-profiles.module.ts | 3 ++- .../asset-profiles}/asset.controller.ts | 3 ++- .../{ => endpoints}/cache/cache.controller.ts | 0 .../app/{ => endpoints}/cache/cache.module.ts | 0 .../app/{ => endpoints}/info/info.controller.ts | 0 .../src/app/{ => endpoints}/info/info.module.ts | 0 .../app/{ => endpoints}/info/info.service.ts | 0 .../app/{ => endpoints}/logo/get-logo.dto.ts | 0 .../app/{ => endpoints}/logo/logo.controller.ts | 0 .../src/app/{ => endpoints}/logo/logo.module.ts | 0 .../app/{ => endpoints}/logo/logo.service.ts | 0 apps/api/src/app/import/import.module.ts | 2 -- 15 files changed, 7 insertions(+), 28 deletions(-) delete mode 100644 apps/api/src/app/asset/asset.module.ts rename apps/api/src/app/{asset => endpoints/asset-profiles}/asset.controller.ts (92%) rename apps/api/src/app/{ => endpoints}/cache/cache.controller.ts (100%) rename apps/api/src/app/{ => endpoints}/cache/cache.module.ts (100%) rename apps/api/src/app/{ => endpoints}/info/info.controller.ts (100%) rename apps/api/src/app/{ => endpoints}/info/info.module.ts (100%) rename apps/api/src/app/{ => endpoints}/info/info.service.ts (100%) rename apps/api/src/app/{ => endpoints}/logo/get-logo.dto.ts (100%) rename apps/api/src/app/{ => endpoints}/logo/logo.controller.ts (100%) rename apps/api/src/app/{ => endpoints}/logo/logo.module.ts (100%) rename apps/api/src/app/{ => endpoints}/logo/logo.service.ts (100%) diff --git a/apps/api/src/app/activities/activities.module.ts b/apps/api/src/app/activities/activities.module.ts index 869a4d3650..6eb437af87 100644 --- a/apps/api/src/app/activities/activities.module.ts +++ b/apps/api/src/app/activities/activities.module.ts @@ -1,6 +1,5 @@ import { AccountBalanceService } from '@ghostfolio/api/app/account-balance/account-balance.service'; import { AccountService } from '@ghostfolio/api/app/account/account.service'; -import { CacheModule } from '@ghostfolio/api/app/cache/cache.module'; import { RedactValuesInResponseModule } from '@ghostfolio/api/interceptors/redact-values-in-response/redact-values-in-response.module'; import { TransformDataSourceInRequestModule } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.module'; import { TransformDataSourceInResponseModule } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.module'; @@ -29,7 +28,6 @@ import { ActivitiesService } from './activities.service'; ApiModule, AssetProfileSplitModule, BenchmarkModule, - CacheModule, DataGatheringQueueModule, DataProviderModule, ExchangeRateDataModule, diff --git a/apps/api/src/app/app.module.ts b/apps/api/src/app/app.module.ts index 7cfba8455c..3d262814fe 100644 --- a/apps/api/src/app/app.module.ts +++ b/apps/api/src/app/app.module.ts @@ -40,17 +40,18 @@ import { AccountModule } from './account/account.module'; import { ActivitiesModule } from './activities/activities.module'; import { AdminModule } from './admin/admin.module'; import { AppController } from './app.controller'; -import { AssetModule } from './asset/asset.module'; import { AuthModule } from './auth/auth.module'; -import { CacheModule } from './cache/cache.module'; import { AiModule } from './endpoints/ai/ai.module'; import { ApiKeysModule } from './endpoints/api-keys/api-keys.module'; import { AssetProfilesModule } from './endpoints/asset-profiles/asset-profiles.module'; import { AssetsModule } from './endpoints/assets/assets.module'; import { AuthDevicesModule } from './endpoints/auth-devices/auth-devices.module'; import { BenchmarksModule } from './endpoints/benchmarks/benchmarks.module'; +import { CacheModule } from './endpoints/cache/cache.module'; import { GhostfolioModule } from './endpoints/data-providers/ghostfolio/ghostfolio.module'; import { ExchangeRatesModule } from './endpoints/exchange-rates/exchange-rates.module'; +import { InfoModule } from './endpoints/info/info.module'; +import { LogoModule } from './endpoints/logo/logo.module'; import { MarketDataModule } from './endpoints/market-data/market-data.module'; import { McpModule } from './endpoints/mcp/mcp.module'; import { PlatformsModule } from './endpoints/platforms/platforms.module'; @@ -61,8 +62,6 @@ import { WatchlistModule } from './endpoints/watchlist/watchlist.module'; import { ExportModule } from './export/export.module'; import { HealthModule } from './health/health.module'; import { ImportModule } from './import/import.module'; -import { InfoModule } from './info/info.module'; -import { LogoModule } from './logo/logo.module'; import { PortfolioModule } from './portfolio/portfolio.module'; import { SubscriptionModule } from './subscription/subscription.module'; import { SymbolModule } from './symbol/symbol.module'; @@ -78,7 +77,6 @@ import { UserModule } from './user/user.module'; AiModule, ApiKeysModule, AssetProfilesModule, - AssetModule, AssetsModule, AuthDevicesModule, AuthModule, diff --git a/apps/api/src/app/asset/asset.module.ts b/apps/api/src/app/asset/asset.module.ts deleted file mode 100644 index 311c8694f5..0000000000 --- a/apps/api/src/app/asset/asset.module.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { AssetProfilesModule } from '@ghostfolio/api/app/endpoints/asset-profiles/asset-profiles.module'; -import { TransformDataSourceInRequestModule } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.module'; -import { TransformDataSourceInResponseModule } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.module'; - -import { Module } from '@nestjs/common'; - -import { AssetController } from './asset.controller'; - -@Module({ - controllers: [AssetController], - imports: [ - AssetProfilesModule, - TransformDataSourceInRequestModule, - TransformDataSourceInResponseModule - ] -}) -export class AssetModule {} diff --git a/apps/api/src/app/endpoints/asset-profiles/asset-profiles.module.ts b/apps/api/src/app/endpoints/asset-profiles/asset-profiles.module.ts index 9df342f5f6..d065b9ab4b 100644 --- a/apps/api/src/app/endpoints/asset-profiles/asset-profiles.module.ts +++ b/apps/api/src/app/endpoints/asset-profiles/asset-profiles.module.ts @@ -15,9 +15,10 @@ import { Module } from '@nestjs/common'; import { AssetProfilesController } from './asset-profiles.controller'; import { AssetProfilesService } from './asset-profiles.service'; +import { AssetController } from './asset.controller'; @Module({ - controllers: [AssetProfilesController], + controllers: [AssetController, AssetProfilesController], exports: [AssetProfilesService], imports: [ ActivitiesModule, diff --git a/apps/api/src/app/asset/asset.controller.ts b/apps/api/src/app/endpoints/asset-profiles/asset.controller.ts similarity index 92% rename from apps/api/src/app/asset/asset.controller.ts rename to apps/api/src/app/endpoints/asset-profiles/asset.controller.ts index 352d3e18b1..ea7e9b798d 100644 --- a/apps/api/src/app/asset/asset.controller.ts +++ b/apps/api/src/app/endpoints/asset-profiles/asset.controller.ts @@ -1,4 +1,3 @@ -import { AssetProfilesService } from '@ghostfolio/api/app/endpoints/asset-profiles/asset-profiles.service'; import { TransformDataSourceInRequestInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.interceptor'; import { TransformDataSourceInResponseInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor'; import type { AssetResponse } from '@ghostfolio/common/interfaces'; @@ -7,6 +6,8 @@ import { Controller, Get, Param, UseInterceptors } from '@nestjs/common'; import { DataSource } from '@prisma/client'; import { pick } from 'lodash-es'; +import { AssetProfilesService } from './asset-profiles.service'; + @Controller('asset') export class AssetController { public constructor( diff --git a/apps/api/src/app/cache/cache.controller.ts b/apps/api/src/app/endpoints/cache/cache.controller.ts similarity index 100% rename from apps/api/src/app/cache/cache.controller.ts rename to apps/api/src/app/endpoints/cache/cache.controller.ts diff --git a/apps/api/src/app/cache/cache.module.ts b/apps/api/src/app/endpoints/cache/cache.module.ts similarity index 100% rename from apps/api/src/app/cache/cache.module.ts rename to apps/api/src/app/endpoints/cache/cache.module.ts diff --git a/apps/api/src/app/info/info.controller.ts b/apps/api/src/app/endpoints/info/info.controller.ts similarity index 100% rename from apps/api/src/app/info/info.controller.ts rename to apps/api/src/app/endpoints/info/info.controller.ts diff --git a/apps/api/src/app/info/info.module.ts b/apps/api/src/app/endpoints/info/info.module.ts similarity index 100% rename from apps/api/src/app/info/info.module.ts rename to apps/api/src/app/endpoints/info/info.module.ts diff --git a/apps/api/src/app/info/info.service.ts b/apps/api/src/app/endpoints/info/info.service.ts similarity index 100% rename from apps/api/src/app/info/info.service.ts rename to apps/api/src/app/endpoints/info/info.service.ts diff --git a/apps/api/src/app/logo/get-logo.dto.ts b/apps/api/src/app/endpoints/logo/get-logo.dto.ts similarity index 100% rename from apps/api/src/app/logo/get-logo.dto.ts rename to apps/api/src/app/endpoints/logo/get-logo.dto.ts diff --git a/apps/api/src/app/logo/logo.controller.ts b/apps/api/src/app/endpoints/logo/logo.controller.ts similarity index 100% rename from apps/api/src/app/logo/logo.controller.ts rename to apps/api/src/app/endpoints/logo/logo.controller.ts diff --git a/apps/api/src/app/logo/logo.module.ts b/apps/api/src/app/endpoints/logo/logo.module.ts similarity index 100% rename from apps/api/src/app/logo/logo.module.ts rename to apps/api/src/app/endpoints/logo/logo.module.ts diff --git a/apps/api/src/app/logo/logo.service.ts b/apps/api/src/app/endpoints/logo/logo.service.ts similarity index 100% rename from apps/api/src/app/logo/logo.service.ts rename to apps/api/src/app/endpoints/logo/logo.service.ts diff --git a/apps/api/src/app/import/import.module.ts b/apps/api/src/app/import/import.module.ts index f972448863..00a386b6e2 100644 --- a/apps/api/src/app/import/import.module.ts +++ b/apps/api/src/app/import/import.module.ts @@ -1,6 +1,5 @@ import { AccountModule } from '@ghostfolio/api/app/account/account.module'; import { ActivitiesModule } from '@ghostfolio/api/app/activities/activities.module'; -import { CacheModule } from '@ghostfolio/api/app/cache/cache.module'; import { PortfolioModule } from '@ghostfolio/api/app/portfolio/portfolio.module'; import { TransformDataSourceInRequestModule } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.module'; import { TransformDataSourceInResponseModule } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.module'; @@ -28,7 +27,6 @@ import { ImportService } from './import.service'; AccountModule, ActivitiesModule, ApiModule, - CacheModule, ConfigurationModule, DataGatheringQueueModule, DataProviderModule,