Something went wrong. Try again.
because I got bored of customising my CV for every job
Something went wrong. Try again.
3.9 kB · 110 lines
TypeScript
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111import { AuthorizationModule, EventsModule, UserModule } from "@cv/core";import { AuthModule } from "@cv/auth";import { FileStorageModule } from "@cv/file-storage";import { BaseModule, DatabaseModule, ResendModule, TemplateModule,} from "@cv/core";import { ApolloDriver, type ApolloDriverConfig } from "@nestjs/apollo";import { Module } from "@nestjs/common";import { ConfigModule, ConfigService } from "@nestjs/config";import { GraphQLModule } from "@nestjs/graphql";import { JwtModule } from "@nestjs/jwt";import type { Request, Response } from "express";import { AppConfigModule } from "@/config/config.module";import { validate } from "@/config/env.validation";import { FileStorageConfig } from "@/config/file-storage.config";import { AdminModule } from "./admin/admin.module";import { AiCallLogModule } from "./admin/ai-call-log.module";import { AppModule as AppModuleComponent } from "./app/app.module";import { ApplicationStatusModule } from "./application/application-status/application-status.module";import { ApplicationModule } from "./application/application.module";import { AuthenticationModule } from "./authentication/authentication.module";import { CurrentUserModule } from "./current-user/current-user.module";import { CVParserModule } from "./cv-parser/cv-parser.module";import { CVTemplateModule } from "./cv-template/cv-template.module";import { DataImportModule } from "./data-import/data-import.module";import { SeedModule } from "./database/seed/seed.module";import { EducationModule } from "./education/education.module";import { CompanyModule } from "./job-experience/company/company.module";import { EmploymentModule } from "./job-experience/employment/employment.module";import { LevelModule } from "./job-experience/level/level.module";import { RoleModule } from "./job-experience/role/role.module";import { SkillModule } from "./job-experience/skill/skill.module";import { OnboardingModule } from "./onboarding/onboarding.module";import { OrganizationModule } from "./organization/organization.module";import { ProfileModule } from "./profile/profile.module";import { UserAiSettingsModule } from "./user-settings/user-ai-settings.module";import { ProjectQMessengerModule } from "./messenger/messenger.module";import { JobTypeModule } from "./vacancies/job-type/job-type.module";import { VacancyModule } from "./vacancies/vacancy.module";
@Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, validate, }), JwtModule.registerAsync({ global: true, imports: [ConfigModule], useFactory: async (configService: ConfigService) => { const secret = configService.getOrThrow<string>("JWT_SECRET"); return { secret, signOptions: { expiresIn: "24h" }, }; }, inject: [ConfigService], }), GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, autoSchemaFile: true, sortSchema: true, context: ({ req, res }: { req: Request; res: Response }) => ({ req, res, }), }), FileStorageModule.forRootAsync({ useClass: FileStorageConfig, }), EventsModule, AiCallLogModule, AppConfigModule, BaseModule, DatabaseModule, ResendModule, TemplateModule, AuthModule, AuthorizationModule, AuthenticationModule, CurrentUserModule, UserModule, AppModuleComponent, SkillModule, CompanyModule, RoleModule, LevelModule, EmploymentModule, OrganizationModule, JobTypeModule, VacancyModule, ApplicationStatusModule, ApplicationModule, CVParserModule, CVTemplateModule, DataImportModule, ProjectQMessengerModule, EducationModule, SeedModule, UserAiSettingsModule, OnboardingModule, ProfileModule, AdminModule, ], providers: [],})export class AppModule {}