@webuildbots/webuildbots-sdk
Version:
webuildbots sdk
66 lines (65 loc) • 1.6 kB
TypeScript
/// <reference types="node" />
import Block from './block';
import User from './user';
import WBBEvent from './wbb-event';
import { DeepPartial } from '../helpers/helpers-types';
import { MediaUseCase } from '../const/media-use-case-enums';
export interface WebhookResponse {
profiling?: any;
unsetFunctionForm?: boolean;
tryAgain?: boolean;
errBlockPointer?: BlockPointer;
botResponse: ResponseUnit[];
followUp?: FollowUpParams;
fileLinkBlock?: FileLinkBlockParams;
}
export interface Client {
system: {
name: string;
serviceDeskEmail?: string;
timezone?: string;
};
}
export interface JWTPayload {
bodyMd5Hash: string;
}
export interface WebhookRequest {
client: Client;
user: User;
inputEvent: WBBEvent;
functionBlock: Block;
formValue: any;
args?: any;
}
export interface BlockPointer {
id: string;
args?: any;
}
export interface ResponseUnit {
type: ResponseUnitType;
block?: DeepPartial<Block>;
blockPointer?: BlockPointer;
}
export declare enum ResponseUnitType {
BLOCK = "block",
BLOCK_POINTER = "block-pointer"
}
export interface FunctionFailureParams {
errorBP: BlockPointer;
tryAgain?: boolean;
resetForm?: boolean;
}
export interface FollowUpParams {
block: BlockPointer;
schedule: Date;
viaEmail?: boolean;
blockArgs?: Record<string, any>;
cancelExisting?: boolean;
}
export interface FileLinkBlockParams {
blockId: string;
args?: Record<string, any>;
clientName: string;
mediaOptions?: MediaUseCase;
file?: Buffer;
}