twilly
Version:
Node.js Twilio API abstraction layer for Express applications
29 lines (28 loc) • 1.19 kB
TypeScript
import { Response } from 'express';
import { TwilioWebhookRequest } from './TwilioWebhookRequest';
import { SmsCookie } from '../SmsCookie';
import { Action, Message } from '../Actions';
export interface TwilioControllerArgs {
accountSid: string;
authToken: string;
cookieKey?: string;
messagingServiceSid: string;
sendOnExit?: string;
}
export default class TwilioController {
static isValidString(s: string): boolean;
static typeCheckArguments(args: TwilioControllerArgs): void;
private readonly cookieKey;
private readonly messagingServiceSid;
private readonly sendOnExit;
private readonly twilio;
constructor({ accountSid, authToken, cookieKey, messagingServiceSid, sendOnExit, }: TwilioControllerArgs);
private sendSmsMessage;
clearSmsCookie(res: Response): void;
getSmsCookieFromRequest(req: TwilioWebhookRequest): SmsCookie;
handleAction(req: TwilioWebhookRequest, action: Action): Promise<void>;
sendEmptyResponse(res: Response): void;
sendMessageNotification(msg: Message): Promise<void>;
sendSmsResponse(res: Response, msg: string): void;
setSmsCookie(res: Response, payload: SmsCookie): void;
}