@mbc-cqrs-serverless/core
Version:
CQRS and event base core
52 lines (51 loc) • 1.84 kB
TypeScript
import { ClassConstructor } from 'class-transformer';
export { BUILTIN_NOTIFICATION_TRANSPORT_ENV, parseNotificationTransports, validateBuiltinNotificationTransportEnv, } from './notification-env.validation';
export declare enum Environment {
Local = "local",
Development = "dev",
Production = "prod",
Staging = "stg"
}
export declare class EnvironmentVariables {
NODE_ENV: Environment;
APP_NAME: string;
APP_PORT: number;
EVENT_SOURCE_DISABLED: boolean;
LOG_LEVEL: string;
DYNAMODB_ENDPOINT: string;
DYNAMODB_REGION: string;
ATTRIBUTE_LIMIT_SIZE: number;
S3_ENDPOINT: string;
S3_REGION: string;
S3_BUCKET_NAME: string;
SFN_ENDPOINT: string;
SFN_REGION: string;
SFN_COMMAND_ARN: string;
SNS_ENDPOINT: string;
SNS_REGION: string;
/**
* Comma-separated list of active notification transport names.
* Supported built-in values: 'appsync-graphql' | 'appsync-event'
* Defaults to 'appsync-graphql' when not set.
*
* Examples:
* NOTIFICATION_TRANSPORTS=appsync-graphql
* NOTIFICATION_TRANSPORTS=appsync-event
* NOTIFICATION_TRANSPORTS=appsync-graphql,appsync-event
*/
NOTIFICATION_TRANSPORTS: string;
APPSYNC_ENDPOINT: string;
APPSYNC_EVENTS_ENDPOINT: string;
/**
* Channel namespace name — must match the pre-created namespace in the
* AppSync Event API (segment 1 of every channel path).
* Defaults to 'default'.
*/
APPSYNC_EVENTS_NAMESPACE: string;
SES_ENDPOINT: string;
SES_REGION: string;
SES_FROM_EMAIL: string;
REQUEST_BODY_SIZE_LIMIT: string;
RYW_SESSION_TTL_MINUTES: number;
}
export declare function getValidateConfig<T extends EnvironmentVariables>(cls?: ClassConstructor<T>): (config: Record<string, unknown>) => EnvironmentVariables;