UNPKG

@mbc-cqrs-serverless/core

Version:
52 lines (51 loc) 1.84 kB
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;