@breautek/storm
Version:
Object-Oriented REST API framework
57 lines (56 loc) • 1.71 kB
TypeScript
import { IDatabaseConfig } from './IDatabaseConfig';
import { LogLevel } from '@arashi/interfaces';
export interface ICloudwatchCredentials {
accessKeyId: string;
secretAccessKey: string;
}
export interface ICloudwatchStreamConfig {
group: string;
name: string;
}
export interface ICloudwatchConfig {
region: string;
credentials: ICloudwatchCredentials;
stream: ICloudwatchStreamConfig;
}
export interface IConfig {
bind?: string;
port?: number;
authentication_header?: string;
backend_authentication_header?: string;
backend_authentication_secret?: string;
shard?: number;
prometheus?: {
enabled?: boolean;
bind?: string;
port?: number;
};
log?: {
level?: LogLevel;
filters?: string[];
cloudwatch?: ICloudwatchConfig;
};
database?: {
query_timeout?: number;
main?: IDatabaseConfig<"MASTER">;
replicationNodes?: IDatabaseConfig[];
};
/**
* @since 9.2.1 - defaults to false
*
* Scheduled to default to true in 10.0.0.
* Scheduled to be removed completely in 11.0.0
*
* Breaking changes includes:
* - DECIMAL types returned as strings.
* Proper solution is to use a BigNumber library of some sort to
* handle large numbers safely.
* - JSON types are parsed and returned as actual objects as strings.
*
* When this setting is false, DECIMAL types are returned as JS numbers
* and JSON types are returned as strings, requiring the application to JSON parse the data.
*/
enableMySQL2BreakingChanges?: boolean;
request_size_limit?: number;
customConfig?: Record<string, any>;
}