Spaces:
Running
Running
File size: 2,949 Bytes
f78b36a 683d259 9d53e35 0addeca c35b446 f78b36a c35b446 4bdd2f7 395abdc 27e706d f78b36a 08512dc f78b36a 683d259 9d53e35 0addeca c35b446 4bdd2f7 27e706d f78b36a | 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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | import { Module } from "@nestjs/common";
import { ConfigModule, ConfigService } from "@nestjs/config";
import { ThrottlerModule, ThrottlerGuard } from "@nestjs/throttler";
import { APP_GUARD } from "@nestjs/core";
import { ScheduleModule } from "@nestjs/schedule";
import { DatabaseModule } from "./database/database.module";
import { AuthModule } from "./auth/auth.module";
import { UserProfileModule } from "./user-profile/user-profile.module";
import { BloodPressureModule } from "./blood-pressure/blood-pressure.module";
import { SymptomsModule } from "./symptoms/symptoms.module";
import { CarePriorityModule } from "./care-priority/care-priority.module";
import { NotificationsModule } from "./notifications/notifications.module";
import { EducationModule } from "./education/education.module";
import { ClinicFinderModule } from "./clinic-finder/clinic-finder.module";
import { MonitoringEngineModule } from "./monitoring-engine/monitoring-engine.module";
import { EmailModule } from "./email/email.module";
import { ContactUsModule } from "./contact-us/contact-us.module";
import { AppointmentsModule } from "./appointments/appointments.module";
import { HealthWorkerModule } from "./health-worker/health-worker.module";
import { OrganizationsModule } from "./organizations/organizations.module";
import { FacilitiesModule } from "./facilities/facilities.module";
import { AdminHealthWorkersModule } from "./admin-health-workers/admin-health-workers.module";
import { PatientsModule } from "./patients/patients.module";
import { AppController } from "./app.controller";
import { HealthController } from "./health.controller";
import { ReferralModule } from "./referral/referral.module";
import { EmergencyModule } from "./emergency/emergency.module";
import { AncVisitModule } from "./anc-visit/anc-visit.module";
import { OcrModule } from "./ocr/ocr.module";
import { RiskModule } from "./risk/risk.module";
@Module({
imports: [
// Configuration
ConfigModule.forRoot({
isGlobal: true,
envFilePath: ".env",
}),
// Scheduling
ScheduleModule.forRoot(),
// Throttling
ThrottlerModule.forRoot([
{
ttl: 60000,
limit: 20,
},
]),
// Database (Prisma) - Global module
DatabaseModule,
// Domain modules
AuthModule,
UserProfileModule,
BloodPressureModule,
SymptomsModule,
CarePriorityModule,
NotificationsModule,
EducationModule,
ClinicFinderModule,
MonitoringEngineModule,
EmailModule,
ContactUsModule,
AppointmentsModule,
HealthWorkerModule,
OrganizationsModule,
FacilitiesModule,
AdminHealthWorkersModule,
PatientsModule,
ReferralModule,
EmergencyModule,
AncVisitModule,
OcrModule,
RiskModule,
],
controllers: [AppController, HealthController],
providers: [
{
provide: APP_GUARD,
useClass: ThrottlerGuard,
},
],
})
export class AppModule {}
|