twilio
Version:
A Twilio helper library
75 lines (74 loc) • 2.03 kB
TypeScript
export interface TaskRouterCapabilityOptions {
accountSid: string;
authToken: string;
workspaceSid: string;
channelId: string;
friendlyName?: string;
ttl?: number;
version?: string;
}
export interface PolicyOptions {
/** Policy URL */
url?: string;
/** HTTP Method */
method?: string;
/** Request query filter allowances */
queryFilter?: object;
/** Request post filter allowances */
postFilter?: object;
/** Allow the policy */
allow?: boolean;
}
export interface PolicyPayload {
url: string;
method: string;
query_filter: object;
post_filter: object;
allow: boolean;
}
/**
* Create a new Policy
*/
export declare class Policy {
url: string;
method: string;
queryFilter: object;
postFilter: object;
allow: boolean;
/**
* Create a new Policy instance
*
* @param options - ...
* @param options.url - Policy URL
* @param options.method - HTTP Method
* @param options.queryFilter - Request query filter allowances
* @param options.postFilter - Request post filter allowances
* @param options.allowed - Allow the policy
*/
constructor(options?: PolicyOptions);
payload(): PolicyPayload;
}
export default class TaskRouterCapability {
accountSid: string;
authToken: string;
workspaceSid: string;
channelId: string;
ttl: number;
version: string;
policies: Policy[];
friendlyName?: string;
/**
* @param options - ...
* @param options.accountSid - account sid
* @param options.authToken - auth token
* @param options.workspaceSid - workspace sid
* @param options.channelId - taskrouter channel id
* @param options.friendlyName - friendly name for the jwt
* @param options.ttl - time to live
* @param options.version - taskrouter version
*/
constructor(options: TaskRouterCapabilityOptions);
static Policy: typeof Policy;
addPolicy(policy: Policy): void;
toJwt(): string;
}