MicProtocol / apps /api /dist /app.module.js
Benaah's picture
Upload folder using huggingface_hub
303c85f verified
Raw History Blame Contribute Delete
10.6 kB
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AppModule = void 0;
const common_1 = require("@nestjs/common");
const config_1 = require("@nestjs/config");
const bullmq_1 = require("@nestjs/bullmq");
const throttler_1 = require("@nestjs/throttler");
const throttler_storage_redis_1 = require("@nest-lab/throttler-storage-redis");
const core_1 = require("@nestjs/core");
const ioredis_1 = __importDefault(require("ioredis"));
const prisma_module_1 = require("./prisma/prisma.module");
const common_module_1 = require("./common/common.module");
const admin_module_1 = require("./admin/admin.module");
const audit_module_1 = require("./audit/audit.module");
const redis_module_1 = require("./redis/redis.module");
const trpc_module_1 = require("./trpc/trpc.module");
const auth_module_1 = require("./auth/auth.module");
const guest_module_1 = require("./guest/guest.module");
const outreach_module_1 = require("./outreach/outreach.module");
const scheduling_module_1 = require("./scheduling/scheduling.module");
const assets_module_1 = require("./assets/assets.module");
const analytics_module_1 = require("./analytics/analytics.module");
const content_studio_module_1 = require("./content-studio/content-studio.module");
const websocket_module_1 = require("./websocket/websocket.module");
const queue_module_1 = require("./queue/queue.module");
const health_module_1 = require("./health/health.module");
const workspace_module_1 = require("./workspace/workspace.module");
const podcast_module_1 = require("./podcast/podcast.module");
const cache_module_1 = require("./common/cache/cache.module");
const rate_limit_module_1 = require("./common/rate-limit/rate-limit.module");
const file_security_module_1 = require("./common/file-security/file-security.module");
const events_module_1 = require("./events/events.module");
const network_module_1 = require("./network/network.module");
const recording_module_1 = require("./recording/recording.module");
const users_module_1 = require("./users/users.module");
const notifications_module_1 = require("./notifications/notifications.module");
const portal_module_1 = require("./portal/portal.module");
const diary_module_1 = require("./diary/diary.module");
const billing_module_1 = require("./billing/billing.module");
const wallet_module_1 = require("./wallet/wallet.module");
const reconciliation_module_1 = require("./reconciliation/reconciliation.module");
const settings_module_1 = require("./settings/settings.module");
const integrations_module_1 = require("./integrations/integrations.module");
const livekit_module_1 = require("./livekit/livekit.module");
const ai_module_1 = require("./ai/ai.module");
const crm_module_1 = require("./crm/crm.module");
const chat_module_1 = require("./chat/chat.module");
const tasks_module_1 = require("./tasks/tasks.module");
const tracing_module_1 = require("./common/tracing/tracing.module");
const workspace_verification_module_1 = require("./verification/workspace-verification.module");
const outbound_webhook_module_1 = require("./webhooks/outbound-webhook.module");
const env_validation_1 = require("./common/config/env.validation");
let AppModule = class AppModule {
};
exports.AppModule = AppModule;
exports.AppModule = AppModule = __decorate([
(0, common_1.Module)({
imports: [
common_module_1.CommonModule,
tracing_module_1.TracingModule,
config_1.ConfigModule.forRoot({
isGlobal: true,
envFilePath: [".env.local", ".env", "../../.env.local", "../../.env"],
cache: true,
validate: env_validation_1.validate,
}),
throttler_1.ThrottlerModule.forRootAsync({
inject: [config_1.ConfigService],
useFactory: (configService) => {
const ttl = configService.get("RATE_LIMIT_TTL", 60);
const limit = configService.get("RATE_LIMIT_MAX", 100);
const redisUrl = configService.get("REDIS_URL");
let redisConnection;
if (redisUrl) {
redisConnection = new ioredis_1.default(redisUrl, { maxRetriesPerRequest: null, enableReadyCheck: false });
}
else {
redisConnection = new ioredis_1.default({
host: configService.get("REDIS_HOST") || "localhost",
port: parseInt(configService.get("REDIS_PORT") || "6379", 10),
password: configService.get("REDIS_PASSWORD"),
username: configService.get("REDIS_USERNAME"),
maxRetriesPerRequest: null,
enableReadyCheck: false,
});
}
return {
throttlers: [
{
name: "short",
ttl: 1000,
limit: 10,
},
{
name: "medium",
ttl: ttl * 1000,
limit,
},
{
name: "long",
ttl: 3600000,
limit: 1000,
},
],
storage: new throttler_storage_redis_1.ThrottlerStorageRedisService(redisConnection),
};
},
}),
bullmq_1.BullModule.forRootAsync({
inject: [config_1.ConfigService],
useFactory: (configService) => {
const redisUrl = configService.get("REDIS_URL");
let connectionParams = {};
if (redisUrl) {
const parsedUrl = new URL(redisUrl);
connectionParams = {
host: parsedUrl.hostname,
port: parseInt(parsedUrl.port || "6379", 10),
username: parsedUrl.username ? decodeURIComponent(parsedUrl.username) : undefined,
password: parsedUrl.password ? decodeURIComponent(parsedUrl.password) : undefined,
tls: redisUrl.startsWith("rediss://") ? { rejectUnauthorized: false } : undefined,
};
}
else {
connectionParams = {
host: configService.get("REDIS_HOST") || "localhost",
port: parseInt(configService.get("REDIS_PORT") || "6379", 10),
password: configService.get("REDIS_PASSWORD"),
username: configService.get("REDIS_USERNAME"),
tls: configService.get("REDIS_TLS") === "true" ? {} : undefined,
};
}
return {
connection: connectionParams,
defaultJobOptions: {
attempts: 3,
backoff: {
type: "exponential",
delay: 1000,
},
removeOnComplete: {
age: 86400,
count: 100,
},
removeOnFail: {
age: 604800,
},
},
};
},
}),
admin_module_1.AdminModule,
audit_module_1.AuditModule,
cache_module_1.CacheModule,
health_module_1.HealthModule,
prisma_module_1.PrismaModule,
redis_module_1.RedisModule,
rate_limit_module_1.RateLimitModule,
file_security_module_1.FileSecurityModule,
events_module_1.EventsModule,
trpc_module_1.TrpcModule,
websocket_module_1.WebsocketModule,
outbound_webhook_module_1.OutboundWebhookModule,
queue_module_1.QueueModule,
auth_module_1.AuthModule,
workspace_module_1.WorkspaceModule,
workspace_verification_module_1.WorkspaceVerificationModule,
podcast_module_1.PodcastModule,
guest_module_1.GuestModule,
outreach_module_1.OutreachModule,
scheduling_module_1.SchedulingModule,
assets_module_1.AssetsModule,
analytics_module_1.AnalyticsModule,
content_studio_module_1.ContentStudioModule,
network_module_1.NetworkModule,
recording_module_1.RecordingModule,
users_module_1.UsersModule,
notifications_module_1.NotificationsModule,
portal_module_1.PortalModule,
diary_module_1.DiaryModule,
billing_module_1.BillingModule,
wallet_module_1.WalletModule,
reconciliation_module_1.ReconciliationModule,
settings_module_1.SettingsModule,
integrations_module_1.IntegrationsModule,
livekit_module_1.LivekitModule,
ai_module_1.AIModule,
crm_module_1.CrmModule,
chat_module_1.ChatModule,
tasks_module_1.TasksModule,
],
providers: [
{
provide: core_1.APP_GUARD,
useClass: throttler_1.ThrottlerGuard,
},
],
})
], AppModule);
//# sourceMappingURL=app.module.js.map