first commit
This commit is contained in:
86
myteamwallet_backend/src/app.module.ts
Normal file
86
myteamwallet_backend/src/app.module.ts
Normal file
@@ -0,0 +1,86 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { UsersModule } from './users/users.module';
|
||||
import { FilesModule } from './files/files.module';
|
||||
import { AuthModule } from './auth/auth.module';
|
||||
import databaseConfig from './config/database.config';
|
||||
import authConfig from './config/auth.config';
|
||||
import appConfig from './config/app.config';
|
||||
import mailConfig from './config/mail.config';
|
||||
import fileConfig from './config/file.config';
|
||||
import * as path from 'path';
|
||||
import { MailerModule } from '@nestjs-modules/mailer';
|
||||
import { ConfigModule, ConfigService } from '@nestjs/config';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { I18nModule } from 'nestjs-i18n/dist/i18n.module';
|
||||
import { HeaderResolver } from 'nestjs-i18n';
|
||||
import { TypeOrmConfigService } from './database/typeorm-config.service';
|
||||
import { MailConfigService } from './mail/mail-config.service';
|
||||
import { ForgotModule } from './forgot/forgot.module';
|
||||
import { MailModule } from './mail/mail.module';
|
||||
import { DataSource } from 'typeorm';
|
||||
import { PlayersModule } from './players/players.module';
|
||||
import { TeamsModule } from './teams/teams.module';
|
||||
import { TransactionsModule } from './transactions/transactions.module';
|
||||
import { TeamSettingsModule } from './team-settings/team-settings.module';
|
||||
import { TeamWalletTransactionsModule } from './team-wallet-transactions/team-wallet-transactions.module';
|
||||
import { ServeStaticModule } from '@nestjs/serve-static';
|
||||
import { join } from 'path';
|
||||
import { LoggingModule } from './database/logging/logging.module';
|
||||
import { TranslateModule } from './translate/translate.module';
|
||||
import { PenaltyModule } from './penalty/penalty.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
ConfigModule.forRoot({
|
||||
isGlobal: true,
|
||||
load: [databaseConfig, authConfig, appConfig, mailConfig, fileConfig],
|
||||
envFilePath: ['.env'],
|
||||
}),
|
||||
TypeOrmModule.forRootAsync({
|
||||
useClass: TypeOrmConfigService,
|
||||
dataSourceFactory: async (options) => {
|
||||
const dataSource = await new DataSource(options).initialize();
|
||||
return dataSource;
|
||||
},
|
||||
}),
|
||||
MailerModule.forRootAsync({
|
||||
useClass: MailConfigService,
|
||||
}),
|
||||
I18nModule.forRootAsync({
|
||||
useFactory: (configService: ConfigService) => ({
|
||||
fallbackLanguage: configService.get('app.fallbackLanguage'),
|
||||
loaderOptions: { path: path.join(__dirname, '/i18n/'), watch: true },
|
||||
}),
|
||||
resolvers: [
|
||||
{
|
||||
use: HeaderResolver,
|
||||
useFactory: (configService: ConfigService) => {
|
||||
return [configService.get('app.headerLanguage')];
|
||||
},
|
||||
inject: [ConfigService],
|
||||
},
|
||||
],
|
||||
imports: [ConfigModule],
|
||||
inject: [ConfigService],
|
||||
}),
|
||||
ServeStaticModule.forRoot({
|
||||
rootPath: join(__dirname, '../client'),
|
||||
exclude: ['*/api*'],
|
||||
}),
|
||||
UsersModule,
|
||||
FilesModule,
|
||||
AuthModule,
|
||||
ForgotModule,
|
||||
MailModule,
|
||||
PlayersModule,
|
||||
TeamsModule,
|
||||
TransactionsModule,
|
||||
TeamSettingsModule,
|
||||
TeamWalletTransactionsModule,
|
||||
LoggingModule,
|
||||
TranslateModule,
|
||||
PenaltyModule,
|
||||
],
|
||||
providers: [],
|
||||
})
|
||||
export class AppModule {}
|
||||
Reference in New Issue
Block a user