1import { Module } from "@nestjs/common";
2import { APP_GUARD, APP_INTERCEPTOR } from "@nestjs/core";
3import { HealthModule } from "./modules/health/health.module.js";
4import { AuthModule } from "./modules/auth/auth.module.js";
5import { UsersModule } from "./modules/users/users.module.js";
6import { SessionsModule } from "./modules/sessions/sessions.module.js";
7import { WorkspacesModule } from "./modules/workspaces/workspaces.module.js";
8import { TeamsModule } from "./modules/teams/teams.module.js";
9import { PagesModule } from "./modules/pages/pages.module.js";
10import { TasksModule } from "./modules/tasks/tasks.module.js";
11import { BlocksModule } from "./modules/blocks/blocks.module.js";
12import { DatabasesModule } from "./modules/databases/databases.module.js";
13import { FilesModule } from "./modules/files/files.module.js";
14import { CommentsModule } from "./modules/comments/comments.module.js";
15import { SearchModule } from "./modules/search/search.module.js";
16import { NotificationsModule } from "./modules/notifications/notifications.module.js";
17import { ShareModule } from "./modules/share/share.module.js";
18import { ApiKeysModule } from "./modules/api-keys/api-keys.module.js";
19import { AuditModule } from "./modules/audit/audit.module.js";
20import { WebhooksModule } from "./modules/webhooks/webhooks.module.js";
21import { AutomationsModule } from "./modules/automations/automations.module.js";
22import { AiModule } from "./modules/ai/ai.module.js";
23import { IntegrationsModule } from "./modules/integrations/integrations.module.js";
24import { OauthModule } from "./modules/oauth/oauth.module.js";
25import { FormsModule } from "./modules/forms/forms.module.js";
26import { OrgsModule } from "./modules/orgs/orgs.module.js";
27import { SsoModule } from "./modules/sso/sso.module.js";
28import { ScimModule } from "./modules/scim/scim.module.js";
29import { OrgModule } from "./modules/org/org.module.js";
30import { InternalBlocksModule } from "./modules/internal/internal.module.js";
31import { DocsModule } from "./modules/docs/docs.module.js";
32import { CoreModule } from "./common/core.module.js";
33import { AuthGuard } from "./common/guards/auth.guard.js";
34import { RateLimitGuard } from "./common/guards/rate-limit.guard.js";
35import { IdempotencyInterceptor } from "./common/middleware/idempotency.js";
36import { BigIntSerializationInterceptor } from "./common/interceptors/bigint-serialization.interceptor.js";
37import { ActorContextInterceptor } from "./common/interceptors/actor-context.interceptor.js";
38
39
51@Module({
52 imports: [
53 CoreModule,
54 HealthModule,
55 AuthModule,
56 UsersModule,
57 SessionsModule,
58 WorkspacesModule,
59 TeamsModule,
60 PagesModule,
61 TasksModule,
62 BlocksModule,
63 DatabasesModule,
64 FilesModule,
65 CommentsModule,
66 SearchModule,
67 NotificationsModule,
68 ShareModule,
69 ApiKeysModule,
70 AuditModule,
71 WebhooksModule,
72 AutomationsModule,
73 AiModule,
74 IntegrationsModule,
75 OauthModule,
76 FormsModule,
77 OrgsModule,
78 SsoModule,
79 ScimModule,
80 OrgModule,
81 InternalBlocksModule,
82 DocsModule,
83 ],
84 providers: [
85 AuthGuard,
86 RateLimitGuard,
87 ActorContextInterceptor,
88 IdempotencyInterceptor,
89 BigIntSerializationInterceptor,
90 { provide: APP_GUARD, useExisting: AuthGuard },
91 { provide: APP_GUARD, useExisting: RateLimitGuard },
92
93
94
95
96
97
98
99 { provide: APP_INTERCEPTOR, useExisting: ActorContextInterceptor },
100 { provide: APP_INTERCEPTOR, useExisting: IdempotencyInterceptor },
101 { provide: APP_INTERCEPTOR, useExisting: BigIntSerializationInterceptor },
102 ],
103})
104export class AppModule {}
105