diff --git a/apps/api/src/app.module.ts b/apps/api/src/app.module.ts index 2fa7293..0c020b6 100644 --- a/apps/api/src/app.module.ts +++ b/apps/api/src/app.module.ts @@ -1,6 +1,8 @@ import { Module } from '@nestjs/common'; +import { ConfigModule } from '@nestjs/config'; import { APP_GUARD } from '@nestjs/core'; import { ThrottlerModule } from '@nestjs/throttler'; +import * as Joi from 'joi'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { HealthModule } from './health/health.module'; @@ -12,6 +14,23 @@ import { WorkerModule } from './modules/worker/worker.module'; @Module({ imports: [ + ConfigModule.forRoot({ + isGlobal: true, + validationSchema: Joi.object({ + PORT: Joi.number().default(3000), + JWT_SECRET: Joi.string().required(), + STELLAR_NETWORK: Joi.string().valid('TESTNET', 'PUBLIC').required(), + STELLAR_HORIZON_URL: Joi.string().uri().required(), + TREASURY_WALLET_ADDRESS: Joi.string().required(), + SUPPORTED_ASSETS: Joi.string().required(), + DATABASE_URL: Joi.string().uri(), + REDIS_URL: Joi.string().uri(), + }), + validationOptions: { + allowUnknown: true, + abortEarly: true, + }, + }), HealthModule, TreasuryModule, AuthModule,