UNPKG

@prass/botpress-native

Version:

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

47 lines (44 loc) 1.54 kB
import { prepareHeaders } from '../../utils/prepareHeaders.js'; import { handleError } from '../../utils/errorHandler.js'; import { z } from 'zod'; const AddParticipantParamsSchema = z.object({ conversationId: z.string().nonempty("Conversation ID is required"), userId: z.string().nonempty("User ID is required"), }); /** * Internal handler for adding a participant to a conversation. * @param this - Botpress instance context * @param params - Parameters containing conversationId and userId * @returns Promise resolving to the added participant details * @throws Error if prerequisites are missing or API call fails */ async function handleAddParticipant({ conversationId: cid, userId: uid }) { if (!this.userKey) throw new Error(this.errors.userNotCreated); const { conversationId, userId } = AddParticipantParamsSchema.parse({ conversationId: cid, userId: uid, }); try { const url = this.ChatApiBaseUrl.getUrl([ "conversations", conversationId, "participants", ]); const { data } = await this.axiosInstance.request({ url, method: "POST", headers: prepareHeaders({ "x-user-key": this.userKey, }), timeout: this.config.timeout, data: { userId }, }); return data; } catch (e) { return handleError(e, "AddParticipant"); } } export { handleAddParticipant }; //# sourceMappingURL=addParticipant.js.map