dependencies Legend  Declarations  Module  Bootstrap  Providers  Exports cluster_AppModule cluster_AppModule_imports cluster_AppModule_providers (() => {    const cwd = process (() => {    const cwd = process AppModule AppModule (() => {    const cwd = process->AppModule AssessmentModule AssessmentModule AssessmentModule->AppModule CLAccountModule CLAccountModule CLAccountModule->AppModule CLAssessmentModule CLAssessmentModule CLAssessmentModule->AppModule CLAssessmentReportsModule CLAssessmentReportsModule CLAssessmentReportsModule->AppModule CLAuthModule CLAuthModule CLAuthModule->AppModule CLCommonModule CLCommonModule CLCommonModule->AppModule CLCompanyProfileModule CLCompanyProfileModule CLCompanyProfileModule->AppModule CLContactSupportModule CLContactSupportModule CLContactSupportModule->AppModule CLCourseModule CLCourseModule CLCourseModule->AppModule CLCourseReportsModule CLCourseReportsModule CLCourseReportsModule->AppModule CLDashboardModule CLDashboardModule CLDashboardModule->AppModule CLEmailModule CLEmailModule CLEmailModule->AppModule CLKnowledgeReviewModule CLKnowledgeReviewModule CLKnowledgeReviewModule->AppModule CLLearningGroupModule CLLearningGroupModule CLLearningGroupModule->AppModule CLLearningGroupReportsModule CLLearningGroupReportsModule CLLearningGroupReportsModule->AppModule CLLearningModule CLLearningModule CLLearningModule->AppModule CLMiddlewareModule CLMiddlewareModule CLMiddlewareModule->AppModule CLMyCourseModule CLMyCourseModule CLMyCourseModule->AppModule CLPackageModule CLPackageModule CLPackageModule->AppModule CLParticipantGroupModule CLParticipantGroupModule CLParticipantGroupModule->AppModule CLParticipantGroupReportsModule CLParticipantGroupReportsModule CLParticipantGroupReportsModule->AppModule CLParticipantModule CLParticipantModule CLParticipantModule->AppModule CLParticipantReportsModule CLParticipantReportsModule CLParticipantReportsModule->AppModule CLProfileModule CLProfileModule CLProfileModule->AppModule CLPromoCodeModule CLPromoCodeModule CLPromoCodeModule->AppModule CLReportsModule CLReportsModule CLReportsModule->AppModule CLSubscriptionModule CLSubscriptionModule CLSubscriptionModule->AppModule CLTestimonialModule CLTestimonialModule CLTestimonialModule->AppModule CompanyModule CompanyModule CompanyModule->AppModule ContactEnquiryModule ContactEnquiryModule ContactEnquiryModule->AppModule CourseModule CourseModule CourseModule->AppModule CourseModuleModule CourseModuleModule CourseModuleModule->AppModule CourseModulePageModule CourseModulePageModule CourseModulePageModule->AppModule DashboardModule DashboardModule DashboardModule->AppModule EmailModule EmailModule EmailModule->AppModule EmailTemplateModule EmailTemplateModule EmailTemplateModule->AppModule IntegrationModule IntegrationModule IntegrationModule->AppModule InvoiceModule InvoiceModule InvoiceModule->AppModule KnowledgeReviewModule KnowledgeReviewModule KnowledgeReviewModule->AppModule LearningGroupModule LearningGroupModule LearningGroupModule->AppModule MediaModule MediaModule MediaModule->AppModule PackageModule PackageModule PackageModule->AppModule ParticipantGroupModule ParticipantGroupModule ParticipantGroupModule->AppModule ParticipantModule ParticipantModule ParticipantModule->AppModule PromoCodeModule PromoCodeModule PromoCodeModule->AppModule RecallAssessEmailSenderModule RecallAssessEmailSenderModule RecallAssessEmailSenderModule->AppModule ReportLogModule ReportLogModule ReportLogModule->AppModule ReportModule ReportModule ReportModule->AppModule ScheduledEmailModule ScheduledEmailModule ScheduledEmailModule->AppModule StripeModule StripeModule StripeModule->AppModule SubscriptionModule SubscriptionModule SubscriptionModule->AppModule SystemLogModule SystemLogModule SystemLogModule->AppModule SystemLogSharedModule SystemLogSharedModule SystemLogSharedModule->AppModule SystemSettingModule SystemSettingModule SystemSettingModule->AppModule TestimonialModule TestimonialModule TestimonialModule->AppModule TimezoneModule TimezoneModule TimezoneModule->AppModule AuthConfigService AuthConfigService AuthConfigService->AppModule InitService InitService InitService->AppModule RecallAssessGlobalExceptionLogWriterService RecallAssessGlobalExceptionLogWriterService RecallAssessGlobalExceptionLogWriterService->AppModule RecallAssessGlobalExceptionLogWriterService->AppModule SubscriptionExpiryScheduleService SubscriptionExpiryScheduleService SubscriptionExpiryScheduleService->AppModule SystemLogStatusCodeInterceptor SystemLogStatusCodeInterceptor SystemLogStatusCodeInterceptor->AppModule
import { AssessmentModule } from "@api/admin/assessment/assessment.module";
import { CompanyModule } from "@api/admin/company/company.module";
import { ContactEnquiryModule } from "@api/admin/contact-enquiry/contact-enquiry.module";
import { CourseModule } from "@api/admin/course/course.module";
import { CourseModuleModule } from "@api/admin/course-module/course-module.module";
import { CourseModulePageModule } from "@api/admin/course-module-page/course-module-page.module";
import { DashboardModule } from "@api/admin/dashboard/dashboard.module";
import { EmailTemplateModule } from "@api/admin/email-template/email-template.module";
import { InvoiceModule } from "@api/admin/invoice/invoice.module";
import { KnowledgeReviewModule } from "@api/admin/knowledge-review/knowledge-review.module";
import { LearningGroupModule } from "@api/admin/learning-group/learning-group.module";
import { PackageModule } from "@api/admin/package/package.module";
import { ParticipantModule } from "@api/admin/participant/participant.module";
import { ParticipantGroupModule } from "@api/admin/participant-group/participant-group.module";
import { PromoCodeModule } from "@api/admin/promo-code/promo-code.module";
import { ReportModule } from "@api/admin/report/report.module";
import { ReportLogModule } from "@api/admin/report-log/report-log.module";
import { SubscriptionModule } from "@api/admin/subscription/subscription.module";
import { SystemLogModule } from "@api/admin/system-log/system-log.module";
import { SystemSettingModule } from "@api/admin/system-setting/system-setting.module";
import { TestimonialModule } from "@api/admin/testimonial/testimonial.module";
import { CLAccountModule } from "@api/client/account/account.module";
import { CLAssessmentModule } from "@api/client/assessment/assessment.module";
import { CLAuthModule } from "@api/client/auth/auth.module";
import { CLCommonModule } from "@api/client/common/common.module";
import { CLCompanyProfileModule } from "@api/client/company-profile/company-profile.module";
import { CLContactSupportModule } from "@api/client/contact-support/contact-support.module";
import { CLCourseModule } from "@api/client/course/course.module";
import { CLDashboardModule } from "@api/client/dashboard/dashboard.module";
import { CLEmailModule } from "@api/client/email/email.module";
import { CLKnowledgeReviewModule } from "@api/client/knowledge-review/knowledge-review.module";
import { CLLearningModule } from "@api/client/learning/learning.module";
import { CLLearningGroupModule } from "@api/client/learning-group/learning-group.module";
import { CLMyCourseModule } from "@api/client/my-course/my-course.module";
import { CLPackageModule } from "@api/client/package/package.module";
import { CLParticipantModule } from "@api/client/participant/participant.module";
import { CLParticipantGroupModule } from "@api/client/participant-group/participant-group.module";
import { CLProfileModule } from "@api/client/profile/profile.module";
import { CLPromoCodeModule } from "@api/client/promo-code/promo-code.module";
import { CLSubscriptionModule } from "@api/client/subscription/subscription.module";
import { CLTestimonialModule } from "@api/client/testimonial/testimonial.module";
import { IntegrationModule } from "@api/integration/integration.module";
import { EmailModule } from "@api/shared/email/email.module";
import { RecallAssessEmailSenderModule } from "@api/shared/email/recallassess-email-sender.module";
import { MediaModule } from "@api/shared/media/media.module";
import { CLMiddlewareModule } from "@api/shared/middlewares";
import { ScheduledEmailModule } from "@api/shared/scheduled-email/scheduled-email.module";
import { StripeModule } from "@api/shared/stripe/stripe.module";
import { SystemLogStatusCodeInterceptor } from "@api/shared/system-log/interceptors/system-log-status-code.interceptor";
import { SystemLogSharedModule } from "@api/shared/system-log/system-log-shared.module";
import { TimezoneModule } from "@api/shared/timezone/timezone.module";
import {
  BNEST_GLOBAL_EXCEPTION_LOG_WRITER,
  BNestNavigationAdminModule,
  BNestUserModule,
  BNestValuelistModule,
} from "@bish-nest/core";
import { BNestAuthModule } from "@bish-nest/core/auth";
import { BNestCommonModule } from "@bish-nest/core/common";
import { GlobalExceptionFilter } from "@bish-nest/core/exception-filters/global-exception.filter";
import { BNestGlobalModule } from "@bish-nest/core/global";
import { ContentInterceptor } from "@bish-nest/core/interceptors/content.interceptor";
import { BNestLoggingInterceptor } from "@bish-nest/core/interceptors/logging.interceptor";
import { BNestExtractDataFromRequestModule } from "@bish-nest/core/middlewares/extract-data-from-request.module";
import { BNestAppRequestContext } from "@bish-nest/core/request-context/app-request-context";
import { RequestContextModule } from "@medibloc/nestjs-request-context";
import { Module } from "@nestjs/common";
import { ConfigModule } from "@nestjs/config";
import { APP_INTERCEPTOR } from "@nestjs/core";
import { EventEmitterModule } from "@nestjs/event-emitter";
import { existsSync } from "fs";
import { join } from "path";
import { CLAssessmentReportsModule } from "./api/client/reports/assessment-reports.module";
import { CLCourseReportsModule } from "./api/client/reports/course-reports.module";
import { CLLearningGroupReportsModule } from "./api/client/reports/learning-group-reports.module";
import { CLParticipantGroupReportsModule } from "./api/client/reports/participant-group-reports.module";
import { CLParticipantReportsModule } from "./api/client/reports/participant-reports.module";
import { CLReportsModule } from "./api/client/reports/reports.module";
import { RecallAssessGlobalExceptionLogWriterService } from "./common/adapters/recallassess-global-exception-log-writer.service";
import { InitService } from "./common/init.service";
import { AuthConfigService } from "./config/auth-config.service";
import { adminNavigationConfig } from "./config/navigation";
import { SubscriptionExpiryScheduleService } from "./jobs/subscription-expiry-schedule.service";

@Module({
  imports: [
    (() => {
      const cwd = process.cwd();
      const envFiles = [".env", "apps/recallassess/recallassess-api/docker/.env", "docker/.env"]
        .map((p) => join(cwd, p))
        .filter((p) => existsSync(p));
      return ConfigModule.forRoot({
        isGlobal: true,
        envFilePath: envFiles.length > 0 ? envFiles : undefined,
      });
    })(),
    EventEmitterModule.forRoot({
      // Set this to `true` to use wildcards
      wildcard: false,
      // The delimiter used to segment namespaces
      delimiter: ".",
      // Set this to `true` if you want to emit the newListener event
      newListener: false,
      // Set this to `true` if you want to emit the removeListener event
      removeListener: false,
      // The maximum amount of listeners that can be assigned to an event
      maxListeners: 10,
      // Show event name in memory leak message when more than maximum amount of listeners is assigned
      verboseMemoryLeak: false,
      // Disable throwing uncaughtException if an error event is emitted and it has no listeners
      ignoreErrors: false,
    }),
    RequestContextModule.forRoot({
      contextClass: BNestAppRequestContext,
      isGlobal: true,
    }),
    BNestExtractDataFromRequestModule,
    CLMiddlewareModule,

    RecallAssessEmailSenderModule,
    BNestGlobalModule,
    BNestAuthModule,
    BNestNavigationAdminModule.forRoot(adminNavigationConfig),
    BNestCommonModule,
    ReportModule,
    SystemLogSharedModule,
    CompanyModule,
    ContactEnquiryModule,
    DashboardModule,
    BNestValuelistModule,

    BNestUserModule,
    MediaModule,
    TimezoneModule,
    ScheduledEmailModule,
    StripeModule,
    CLAccountModule,
    ParticipantModule,
    CourseModule,
    CourseModuleModule,
    CourseModulePageModule,
    AssessmentModule,
    PackageModule,
    SubscriptionModule,
    InvoiceModule,
    PromoCodeModule,
    KnowledgeReviewModule,
    TestimonialModule,
    EmailTemplateModule,
    ReportLogModule,
    SystemLogModule,
    SystemSettingModule,
    ParticipantGroupModule,
    LearningGroupModule,
    EmailModule,

    // Client modules
    CLAuthModule,
    CLCommonModule,
    CLContactSupportModule,
    CLCompanyProfileModule,
    CLCourseModule,
    CLDashboardModule,
    CLMyCourseModule,
    CLLearningGroupModule,
    CLLearningGroupReportsModule,
    CLAssessmentModule,
    CLAssessmentReportsModule,
    CLParticipantModule,
    CLParticipantReportsModule,
    CLParticipantGroupModule,
    CLParticipantGroupReportsModule,
    CLCourseReportsModule,
    CLReportsModule,
    CLLearningModule,
    CLKnowledgeReviewModule,
    CLPackageModule,
    CLPromoCodeModule,
    CLProfileModule,
    CLTestimonialModule,
    CLSubscriptionModule,
    CLEmailModule,

    // Integration modules
    IntegrationModule,
  ],
  controllers: [],
  providers: [
    AuthConfigService,
    InitService,
    GlobalExceptionFilter,
    RecallAssessGlobalExceptionLogWriterService,
    {
      provide: BNEST_GLOBAL_EXCEPTION_LOG_WRITER,
      useExisting: RecallAssessGlobalExceptionLogWriterService,
    },
    {
      provide: APP_INTERCEPTOR,
      useClass: SystemLogStatusCodeInterceptor,
    },
    {
      provide: APP_INTERCEPTOR,
      useClass: BNestLoggingInterceptor,
    },
    {
      provide: APP_INTERCEPTOR,
      useClass: ContentInterceptor,
    },
    SubscriptionExpiryScheduleService,
  ],
  exports: [],
})
export class AppModule {}

results matching ""

    No results matching ""