added disabled functioality

This commit is contained in:
Boki 2025-06-22 12:35:32 -04:00
parent fabf42dc7f
commit d8ae0cb3c5
16 changed files with 147 additions and 75 deletions

View file

@ -3,7 +3,7 @@ import { z } from 'zod';
import { EnvLoader } from './loaders/env.loader';
import { FileLoader } from './loaders/file.loader';
import { ConfigError, ConfigValidationError } from './errors';
import {
import type {
ConfigLoader,
ConfigManagerOptions,
ConfigSchema,

View file

@ -2,7 +2,8 @@
import { EnvLoader } from './loaders/env.loader';
import { FileLoader } from './loaders/file.loader';
import { ConfigManager } from './config-manager';
import { AppConfig, appConfigSchema } from './schemas';
import type { AppConfig } from './schemas';
import { appConfigSchema } from './schemas';
// Create singleton instance
let configInstance: ConfigManager<AppConfig> | null = null;

View file

@ -1,6 +1,6 @@
import { readFileSync } from 'fs';
import { ConfigLoaderError } from '../errors';
import { ConfigLoader } from '../types';
import type { ConfigLoader } from '../types';
export interface EnvLoaderOptions {
convertCase?: boolean;

View file

@ -1,7 +1,7 @@
import { existsSync, readFileSync } from 'fs';
import { join } from 'path';
import { ConfigLoaderError } from '../errors';
import { ConfigLoader } from '../types';
import type { ConfigLoader } from '../types';
export class FileLoader implements ConfigLoader {
readonly priority = 50; // Medium priority

View file

@ -2,6 +2,7 @@ import { z } from 'zod';
// PostgreSQL configuration
export const postgresConfigSchema = z.object({
enabled: z.boolean().default(true),
host: z.string().default('localhost'),
port: z.number().default(5432),
database: z.string(),
@ -15,6 +16,7 @@ export const postgresConfigSchema = z.object({
// QuestDB configuration
export const questdbConfigSchema = z.object({
enabled: z.boolean().default(true),
host: z.string().default('localhost'),
ilpPort: z.number().default(9009),
httpPort: z.number().default(9000),
@ -28,6 +30,7 @@ export const questdbConfigSchema = z.object({
// MongoDB configuration
export const mongodbConfigSchema = z.object({
enabled: z.boolean().default(true),
uri: z.string().url().optional(),
host: z.string().default('localhost'),
port: z.number().default(27017),
@ -41,6 +44,7 @@ export const mongodbConfigSchema = z.object({
// Dragonfly/Redis configuration
export const dragonflyConfigSchema = z.object({
enabled: z.boolean().default(true),
host: z.string().default('localhost'),
port: z.number().default(6379),
password: z.string().optional(),