import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { GamesModule } from './games/games.module'; import { UsersModule } from './users/users.module'; import { EventEmitterModule } from '@nestjs/event-emitter'; import { TypeOrmModule } from '@nestjs/typeorm'; import { User } from './users/entities/user.entity'; import { Game } from './games/entities/game.entity'; import { Topic } from './word/entities/topic.entity'; import { Word } from './word/entities/word.entity'; import { Player } from './games/entities/player.entity'; import { ConceptInTurn } from './games/entities/concept_in_turn.entity'; import { ConfigService } from '@nestjs/config'; import { WordModule } from './word/words.module'; import { Message } from './games/entities/message.entity'; import { LobbyModule } from './lobby/lobby.module'; import { Concept } from './concept/entities/concept.entity'; import { ConceptModule } from './concept/concept.module'; import { ConceptType } from './concept/entities/concepttype.entity'; const configService = new ConfigService(); @Module({ imports: [ EventEmitterModule.forRoot(), ConfigModule.forRoot({ envFilePath: '.env', isGlobal: true, }), TypeOrmModule.forRoot({ type: 'postgres', host: configService.get('PG_HOST'), // url: process.env.PG_ENDPOINT, password: configService.get('PG_PASSWORD'), username: configService.get('PG_USER'), database: 'concept', synchronize: configService.get('DEV_MODE') == 'true', entities: [ User, Player, Game, Message, Concept, ConceptType, ConceptInTurn, Topic, Word, ], }), LobbyModule, GamesModule, UsersModule, WordModule, ConceptModule, ], }) export class AppModule {}