| Server IP : 65.108.144.40 / Your IP : 216.73.217.165 Web Server : Apache/2.4.52 (Ubuntu) System : Linux ubuntu-8gb-hel1-1 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64 User : dev ( 1000) PHP Version : 8.2.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/dev/webapps/fivewishes-bridge/src/ |
Upload File : |
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import Joi from 'joi';
import { AuthModule } from './auth/auth.module';
import { HealthController } from './health.controller';
import { MultipassModule } from './multipass/multipass.module';
import { ShopifyModule } from './shopify/shopify.module';
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
validationSchema: Joi.object({
NODE_ENV: Joi.string().valid('development', 'test', 'production').default('development'),
PORT: Joi.number().port().default(3000),
BASE_URL: Joi.string().uri().required(),
SHOPIFY_STORE_DOMAIN: Joi.string().required(),
SHOPIFY_API_VERSION: Joi.string().default('2025-10'),
SHOPIFY_API_KEY: Joi.string().required(),
SHOPIFY_API_SECRET: Joi.string().required(),
SHOPIFY_SCOPES: Joi.string().required(),
SHOPIFY_MULTIPASS_SECRET: Joi.string().min(10).required(),
TOKEN_ENCRYPTION_KEY: Joi.string().required(),
TOKENS_FILE: Joi.string().default('.local/shopify-tokens.enc.json'),
KEYCLOAK_ISSUER: Joi.string().uri().required(),
KEYCLOAK_CLIENT_ID: Joi.string().required(),
KEYCLOAK_CLIENT_SECRET: Joi.string().required(),
LOG_KEYCLOAK_CLAIMS: Joi.boolean().truthy('true').falsy('false').default(false),
LOG_B2B_DEBUG: Joi.boolean().truthy('true').falsy('false').default(false),
STATE_SIGNING_SECRET: Joi.string().min(16).required(),
ENABLE_B2B: Joi.boolean().truthy('true').falsy('false').default(false),
}),
}),
AuthModule,
ShopifyModule,
MultipassModule,
],
controllers: [HealthController],
})
export class AppModule {}