Files
dcrouter/ts/sms/config/sms.config.ts

109 lines
1.8 KiB
TypeScript
Raw Normal View History

2025-05-28 11:39:54 +00:00
/**
* SMS service configuration interface
*/
export interface ISmsConfig {
/**
* API token for the gateway service
*/
apiGatewayApiToken: string;
/**
* Default sender ID or phone number
*/
defaultSender?: string;
/**
* SMS rate limiting
*/
rateLimit?: {
/**
* Whether rate limiting is enabled
*/
enabled?: boolean;
/**
* Maximum requests per period
*/
maxPerPeriod?: number;
/**
* Period duration in milliseconds
*/
periodMs?: number;
/**
* Whether to apply rate limit per key
*/
perKey?: boolean;
/**
* Number of burst tokens
*/
burstTokens?: number;
/**
* Maximum messages per recipient per day
*/
maxPerRecipientPerDay?: number;
};
/**
* SMS provider configuration
*/
provider?: {
/**
* Provider type
*/
type?: 'gateway' | 'twilio' | 'other';
/**
* Provider-specific configuration
*/
config?: Record<string, any>;
/**
* Fallback provider configuration
*/
fallback?: {
/**
* Whether to use fallback provider
*/
enabled?: boolean;
/**
* Provider type
*/
type?: 'gateway' | 'twilio' | 'other';
/**
* Provider-specific configuration
*/
config?: Record<string, any>;
};
};
/**
* Verification code settings
*/
verification?: {
/**
* Code length
*/
codeLength?: number;
/**
* Code expiration time in seconds
*/
expirationSeconds?: number;
/**
* Maximum number of attempts
*/
maxAttempts?: number;
/**
* Cooldown period in seconds
*/
cooldownSeconds?: number;
};
}