import { DyFM_allEnvironmentFlags, DyFM_EnvironmentFlag, DyFM_Log } from '@futdevpro/fsm-dynamo'; import { DyNTS_Environment_Settings } from '../_models/interfaces/environment-settings.interface'; import * as dotenv from 'dotenv'; export function DyNTS_getEnvironment_settings(): DyNTS_Environment_Settings { dotenv.config() let env = process.env.ENV ?? process.env.NODE_ENV ?? process.env.ENVIRONMENT ?? DyFM_EnvironmentFlag.local; env = env.toLocaleLowerCase(); if (!DyFM_allEnvironmentFlags.includes(env as DyFM_EnvironmentFlag)) { DyFM_Log.error(`Unknown environment: "${env}", it will be set to "local"`); env = DyFM_EnvironmentFlag.local; } return { environment: DyFM_allEnvironmentFlags.includes(process.env.ENV as DyFM_EnvironmentFlag) ? process.env.ENV as DyFM_EnvironmentFlag : DyFM_EnvironmentFlag.local, discord: { guildId: process.env.DISCORD_GUILD_ID, token: process.env.DISCORD_BOT_TOKEN, clientId: process.env.DISCORD_BOT_CLIENT_ID, oauth2Url: process.env.DISCORD_BOT_OAUTH2_URL, }, mongoUri: process.env.MONGO_URL || process.env.MONGO_URI, openAi: { apiKey: process.env.OPENAI_API_KEY, organization: process.env.OPENAI_ORGANIZATION, project: process.env.OPENAI_PROJECT, ttsApiKey: process.env.OPENAI_TTS_API_KEY, }, /* elevenLabs: { apiKey: process.env.ELEVENLABS_API_KEY, }, clickup: { apiKey: process.env.CLICKUP_API_KEY, workspaceId: process.env.CLICKUP_WORKSPACE_ID, spaceId: process.env.CLICKUP_SPACE_ID, listId: process.env.CLICKUP_LIST_ID, }, */ } }