2021-04-13 21:53:58 +02:00
|
|
|
import { join } from 'path';
|
|
|
|
|
2021-06-14 16:09:40 +02:00
|
|
|
import { AuthDeviceModule } from '@ghostfolio/api/app/auth-device/auth-device.module';
|
2021-04-13 21:53:58 +02:00
|
|
|
import { Module } from '@nestjs/common';
|
|
|
|
import { ConfigModule } from '@nestjs/config';
|
|
|
|
import { ScheduleModule } from '@nestjs/schedule';
|
|
|
|
import { ServeStaticModule } from '@nestjs/serve-static';
|
|
|
|
|
2021-04-18 19:06:54 +02:00
|
|
|
import { ConfigurationService } from '../services/configuration.service';
|
2021-04-13 21:53:58 +02:00
|
|
|
import { CronService } from '../services/cron.service';
|
|
|
|
import { DataGatheringService } from '../services/data-gathering.service';
|
|
|
|
import { DataProviderService } from '../services/data-provider.service';
|
|
|
|
import { AlphaVantageService } from '../services/data-provider/alpha-vantage/alpha-vantage.service';
|
2021-04-19 22:25:52 +02:00
|
|
|
import { GhostfolioScraperApiService } from '../services/data-provider/ghostfolio-scraper-api/ghostfolio-scraper-api.service';
|
2021-04-13 21:53:58 +02:00
|
|
|
import { RakutenRapidApiService } from '../services/data-provider/rakuten-rapid-api/rakuten-rapid-api.service';
|
|
|
|
import { YahooFinanceService } from '../services/data-provider/yahoo-finance/yahoo-finance.service';
|
|
|
|
import { ExchangeRateDataService } from '../services/exchange-rate-data.service';
|
|
|
|
import { PrismaService } from '../services/prisma.service';
|
|
|
|
import { AccessModule } from './access/access.module';
|
2021-05-01 12:30:52 +02:00
|
|
|
import { AccountModule } from './account/account.module';
|
2021-04-13 21:53:58 +02:00
|
|
|
import { AdminModule } from './admin/admin.module';
|
|
|
|
import { AppController } from './app.controller';
|
|
|
|
import { AuthModule } from './auth/auth.module';
|
|
|
|
import { CacheModule } from './cache/cache.module';
|
|
|
|
import { ExperimentalModule } from './experimental/experimental.module';
|
|
|
|
import { InfoModule } from './info/info.module';
|
|
|
|
import { OrderModule } from './order/order.module';
|
|
|
|
import { PortfolioModule } from './portfolio/portfolio.module';
|
|
|
|
import { RedisCacheModule } from './redis-cache/redis-cache.module';
|
2021-06-21 20:03:36 +02:00
|
|
|
import { SubscriptionModule } from './subscription/subscription.module';
|
2021-04-13 21:53:58 +02:00
|
|
|
import { SymbolModule } from './symbol/symbol.module';
|
|
|
|
import { UserModule } from './user/user.module';
|
|
|
|
|
|
|
|
@Module({
|
|
|
|
imports: [
|
|
|
|
AdminModule,
|
|
|
|
AccessModule,
|
2021-05-01 12:30:52 +02:00
|
|
|
AccountModule,
|
2021-06-14 16:09:40 +02:00
|
|
|
AuthDeviceModule,
|
2021-04-13 21:53:58 +02:00
|
|
|
AuthModule,
|
|
|
|
CacheModule,
|
|
|
|
ConfigModule.forRoot(),
|
|
|
|
ExperimentalModule,
|
|
|
|
InfoModule,
|
|
|
|
OrderModule,
|
|
|
|
PortfolioModule,
|
|
|
|
RedisCacheModule,
|
|
|
|
ScheduleModule.forRoot(),
|
|
|
|
ServeStaticModule.forRoot({
|
|
|
|
serveStaticOptions: {
|
|
|
|
/*etag: false // Disable etag header to fix PWA
|
|
|
|
setHeaders: (res, path) => {
|
|
|
|
if (path.includes('ngsw.json')) {
|
|
|
|
// Disable cache (https://stackoverflow.com/questions/22632593/how-to-disable-webpage-caching-in-expressjs-nodejs/39775595)
|
|
|
|
// https://gertjans.home.xs4all.nl/javascript/cache-control.html#no-cache
|
|
|
|
res.set('Cache-Control', 'no-cache, no-store, must-revalidate');
|
|
|
|
}
|
|
|
|
}*/
|
|
|
|
},
|
|
|
|
rootPath: join(__dirname, '..', 'client'),
|
|
|
|
exclude: ['/api*']
|
|
|
|
}),
|
2021-06-21 20:03:36 +02:00
|
|
|
SubscriptionModule,
|
2021-04-13 21:53:58 +02:00
|
|
|
SymbolModule,
|
|
|
|
UserModule
|
|
|
|
],
|
|
|
|
controllers: [AppController],
|
|
|
|
providers: [
|
|
|
|
AlphaVantageService,
|
2021-04-18 19:06:54 +02:00
|
|
|
ConfigurationService,
|
2021-04-13 21:53:58 +02:00
|
|
|
CronService,
|
|
|
|
DataGatheringService,
|
|
|
|
DataProviderService,
|
|
|
|
ExchangeRateDataService,
|
2021-04-19 22:25:52 +02:00
|
|
|
GhostfolioScraperApiService,
|
2021-04-13 21:53:58 +02:00
|
|
|
PrismaService,
|
|
|
|
RakutenRapidApiService,
|
|
|
|
YahooFinanceService
|
|
|
|
]
|
|
|
|
})
|
|
|
|
export class AppModule {}
|