@prass/botpress-native
Version:
A simple and powerful SDK for integrating Botpress Chat API with React Native,
44 lines (41 loc) • 1.59 kB
JavaScript
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