Spaces:
Sleeping
Sleeping
File size: 2,547 Bytes
8a24f2c 9a951d7 6f49b87 9a951d7 53dc52c 910c878 9ffaa46 6fb7573 86063f3 9a951d7 8a24f2c 9a951d7 fbcc12a 0a4025a fbcc12a 8a24f2c 6f49b87 9a951d7 53dc52c 910c878 9ffaa46 6fb7573 86063f3 8a24f2c 9a951d7 8a24f2c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { UsersModule } from './modules/users/users.module';
import { AuthModule } from './modules/auth/auth.module';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { ProfileModule } from './modules/profile/profile.module';
import { OnboardingModule } from './modules/onboarding/onboarding.module';
import { ResumeModule } from './modules/resume/resume.module';
import { ScheduleModule } from '@nestjs/schedule';
import { ScraperModule } from './modules/scraper/scraper.module';
import { JobsModule } from './modules/jobs/jobs.module';
import { CoursesModule } from './modules/courses/courses.module';
import { MockInterviewModule } from './modules/mock-interview/mock-interview.module';
import { DocumentGenerationModule } from './modules/document-generation/document-generation.module';
import { ApplicationsModule } from './modules/applications/applications.module';
import { VerificationModule } from './modules/verification/verification.module';
import { CampaignsModule } from './modules/campaigns/campaigns.module';
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
envFilePath: '.env',
}),
TypeOrmModule.forRootAsync({
inject: [ConfigService],
useFactory: (config: ConfigService) => {
const isProd = config.get<string>('NODE_ENV') === 'production';
return {
type: 'postgres',
host: config.get<string>('DB_HOST'),
port: config.get<number>('DB_PORT'),
username: config.get<string>('DB_USERNAME'),
password: config.get<string>('DB_PASSWORD'),
database: config.get<string>('DB_NAME') || config.get<string>('DB_DATABASE'),
entities: [__dirname + '/modules/**/*.entity{.ts,.js}'],
synchronize: true, // Enabled for automatic table creation
logging: config.get<string>('NODE_ENV') === 'development',
ssl: isProd ? { rejectUnauthorized: false } : false,
};
},
}),
UsersModule,
AuthModule,
ProfileModule,
OnboardingModule,
ResumeModule,
ScraperModule,
ScheduleModule.forRoot(),
JobsModule,
CoursesModule,
MockInterviewModule,
DocumentGenerationModule,
ApplicationsModule,
VerificationModule,
CampaignsModule,
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
|