UNPKG

zcatalyst-integ-cliq

Version:

Node.js SDK for integrating Zoho Catalyst with Zoho Cliq

44 lines (43 loc) 2.28 kB
import { Access, Chat, Environment, Location, FormRequestParam, FormTarget, MessageObject, User, ButtonObject, WidgetTarget } from '../common.js'; import HandlerResponse from '../response-objects/handler-response.js'; import FormChangeResponse from '../response-objects/form-change-response.js'; import FormDynamicFieldResponse from '../response-objects/form-dynamic-field-response.js'; import WidgetResponse from '../response-objects/widget-response.js'; import Form from '../response-objects/form.js'; interface FunctionRequest { name: string; user: User; chat: Chat; access: Access; environment: Environment; message: MessageObject; } interface ButtonFunctionRequest extends FunctionRequest { arguments: Record<string, unknown>; target: ButtonObject; location: Location; event: string; } interface FormFunctionRequest extends FunctionRequest { form: FormRequestParam; target: FormTarget; params?: Record<string, string>; } interface WidgetFunctionRequest extends Omit<FunctionRequest, 'chat' | 'message'> { target: WidgetTarget; arguments: Record<string, unknown>; } export default class FunctionHandler { buttonFunctionHandler(handler: (req: ButtonFunctionRequest, res: HandlerResponse, ...args: Array<unknown>) => Promise<unknown>): void; formSubmitHandler(handler: (req: FormFunctionRequest, res: HandlerResponse, ...args: Array<unknown>) => Promise<unknown>): void; formChangeHandler(handler: (req: FormFunctionRequest, res: FormChangeResponse, ...args: Array<unknown>) => Promise<typeof res | undefined>): void; formDynamicFieldHandler(handler: (req: FormFunctionRequest, res: FormDynamicFieldResponse, ...args: Array<unknown>) => Promise<typeof res | undefined>): void; formViewHandler(handler: (req: FormFunctionRequest, res: Form, ...args: Array<unknown>) => Promise<typeof res | undefined>): void; widgetButtonHandler(handler: (req: WidgetFunctionRequest, res: WidgetResponse, ...args: Array<unknown>) => Promise<typeof res | undefined>): void; newHandlerResponse(): HandlerResponse; newFormChangeResponse(): FormChangeResponse; newFormDynamicFieldResponse(): FormDynamicFieldResponse; newFormViewResponse(): Form; newWidgetResponse(): WidgetResponse; } export {};