-
Notifications
You must be signed in to change notification settings - Fork 298
Expand file tree
/
Copy pathapp.module.ts
More file actions
123 lines (122 loc) · 4.88 KB
/
app.module.ts
File metadata and controls
123 lines (122 loc) · 4.88 KB
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { ThrottlerModule, ThrottlerGuard } from '@nestjs/throttler';
import { APP_GUARD } from '@nestjs/core';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { AttachmentsModule } from './attachments/attachments.module';
import { AuthModule } from './auth/auth.module';
import { CommentsModule } from './comments/comments.module';
import { PeopleModule } from './people/people.module';
import { DevicesModule } from './devices/devices.module';
import { DeviceAgentModule } from './device-agent/device-agent.module';
import { awsConfig } from './config/aws.config';
import { betterAuthConfig } from './config/better-auth.config';
import { HealthModule } from './health/health.module';
import { OrganizationModule } from './organization/organization.module';
import { PoliciesModule } from './policies/policies.module';
import { RisksModule } from './risks/risks.module';
import { TasksModule } from './tasks/tasks.module';
import { EvidenceExportModule } from './tasks/evidence-export/evidence-export.module';
import { VendorsModule } from './vendors/vendors.module';
import { ContextModule } from './context/context.module';
import { TrustPortalModule } from './trust-portal/trust-portal.module';
import { ControlTemplateModule } from './framework-editor/control-template/control-template.module';
import { FrameworkEditorFrameworkModule } from './framework-editor/framework/framework.module';
import { PolicyTemplateModule } from './framework-editor/policy-template/policy-template.module';
import { RequirementModule } from './framework-editor/requirement/requirement.module';
import { TaskTemplateModule } from './framework-editor/task-template/task-template.module';
import { FindingTemplateModule } from './finding-template/finding-template.module';
import { FindingsModule } from './findings/findings.module';
import { QuestionnaireModule } from './questionnaire/questionnaire.module';
import { VectorStoreModule } from './vector-store/vector-store.module';
import { KnowledgeBaseModule } from './knowledge-base/knowledge-base.module';
import { SOAModule } from './soa/soa.module';
import { IntegrationPlatformModule } from './integration-platform/integration-platform.module';
import { CloudSecurityModule } from './cloud-security/cloud-security.module';
import { BrowserbaseModule } from './browserbase/browserbase.module';
import { TaskManagementModule } from './task-management/task-management.module';
import { AssistantChatModule } from './assistant-chat/assistant-chat.module';
import { OrgChartModule } from './org-chart/org-chart.module';
import { TrainingModule } from './training/training.module';
import { EvidenceFormsModule } from './evidence-forms/evidence-forms.module';
import { FrameworksModule } from './frameworks/frameworks.module';
import { AuditModule } from './audit/audit.module';
import { ControlsModule } from './controls/controls.module';
import { RolesModule } from './roles/roles.module';
import { EmailModule } from './email/email.module';
import { SecretsModule } from './secrets/secrets.module';
import { SecurityPenetrationTestsModule } from './security-penetration-tests/security-penetration-tests.module';
import { StripeModule } from './stripe/stripe.module';
import { AdminOrganizationsModule } from './admin-organizations/admin-organizations.module';
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
// .env file is loaded manually in main.ts before NestJS starts
load: [awsConfig, betterAuthConfig],
validationOptions: {
allowUnknown: true,
abortEarly: true,
},
}),
ThrottlerModule.forRoot([
{
ttl: 60000, // 60 seconds
limit: 100, // 100 requests per minute per IP
},
]),
AuthModule,
OrganizationModule,
PeopleModule,
RisksModule,
VendorsModule,
ContextModule,
DevicesModule,
PoliciesModule,
DeviceAgentModule,
AttachmentsModule,
TasksModule,
EvidenceExportModule,
CommentsModule,
HealthModule,
TrustPortalModule,
ControlTemplateModule,
FrameworkEditorFrameworkModule,
PolicyTemplateModule,
RequirementModule,
TaskTemplateModule,
FindingTemplateModule,
FindingsModule,
QuestionnaireModule,
VectorStoreModule,
KnowledgeBaseModule,
SOAModule,
IntegrationPlatformModule,
CloudSecurityModule,
BrowserbaseModule,
TaskManagementModule,
AssistantChatModule,
TrainingModule,
OrgChartModule,
EvidenceFormsModule,
FrameworksModule,
RolesModule,
AuditModule,
ControlsModule,
EmailModule,
SecretsModule,
SecurityPenetrationTestsModule,
StripeModule,
AdminOrganizationsModule,
],
controllers: [AppController],
providers: [
AppService,
{
provide: APP_GUARD,
useClass: ThrottlerGuard,
},
],
})
export class AppModule {}