UNPKG

@prass/botpress-native

Version:

A simple and powerful SDK for integrating Botpress Chat API with React Native,

47 lines (44 loc) 1.6 kB
import { prepareHeaders } from '../../utils/prepareHeaders.js'; import { prepareData } from '../../utils/prepareData.js'; import { handleError } from '../../utils/errorHandler.js'; import { z } from 'zod'; const CreateEventParamsSchema = z.object({ conversationId: z.string().nonempty("Conversation ID is required"), payload: z.array(z.any()).nonempty("Payload is required"), }); /** * Internal handler for creating a new event in a conversation. * @param this - Botpress instance context * @param params - Parameters containing conversationId and payload * @returns Promise resolving to the created event’s details * @throws Error if user key or conversation ID is missing, or if API call fails */ async function handleCreateEvent({ conversationId, payload }) { if (!this.userKey) throw new Error(this.errors.userNotCreated); const { conversationId: cid, payload: pld } = CreateEventParamsSchema.parse({ conversationId, payload, }); try { const url = this.ChatApiBaseUrl.getUrl(["events"]); const { data } = await this.axiosInstance.request({ url, method: "POST", headers: prepareHeaders({ "x-user-key": this.userKey, }), data: prepareData({ conversationId: cid, payload: pld, }), timeout: this.config.timeout, }); return data; } catch (err) { return handleError(err, "CreateEvent"); } } export { handleCreateEvent }; //# sourceMappingURL=createEvent.js.map