UNPKG

@prass/botpress-native

Version:

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

44 lines (41 loc) 1.59 kB
import { prepareHeaders } from '../../utils/prepareHeaders.js'; import { handleError } from '../../utils/errorHandler.js'; import { z } from 'zod'; const ListMessagesParamsSchema = z.object({ conversationId: z.string().nonempty("Conversation ID is required"), nextToken: z.string().optional(), }); /** * Retrieves a list of messages for a specific conversation from the Botpress API. * * @param this - The Botpress instance context * @param params - Parameters for listing messages * @param params.conversationId - The unique identifier of the conversation * @param params.nextToken - Optional pagination token for fetching next set of messages * @returns Promise resolving to the messages response containing message array and metadata */ async function handleListMessages({ conversationId, nextToken }) { if (!this.userKey) { throw new Error(this.errors.userNotCreated); } const { conversationId: cid, nextToken: nxt } = ListMessagesParamsSchema.parse({ conversationId, nextToken }); try { const url = this.ChatApiBaseUrl.getUrl(["conversations", cid, "messages"], { nextToken: nxt, }); const { data } = await this.axiosInstance.request({ url, method: "GET", headers: prepareHeaders({ "x-user-key": this.userKey, }), timeout: this.config.timeout, }); return data; } catch (err) { return handleError(err, "ListMessages"); } } export { handleListMessages }; //# sourceMappingURL=listMessages.js.map