UNPKG

@kaia-team/n8n-nodes-kaia

Version:
146 lines 4.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.answerRatingsApiProperties = void 0; exports.handleAnswerRatingsApi = handleAnswerRatingsApi; const n8n_workflow_1 = require("n8n-workflow"); const utils_1 = require("../utils"); /** * Answer Ratings API Properties * Properties specific to the answerRatings API resource */ exports.answerRatingsApiProperties = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['answerRatings'], }, }, options: [ { name: 'List', value: 'list', action: 'List answer ratings', }, { name: 'Read', value: 'read', action: 'Read an answer rating', }, ], default: 'list', }, { displayName: 'Answer Rating ID', name: 'answerRatingId', type: 'string', default: '', displayOptions: { show: { resource: ['answerRatings'], operation: ['read'], }, }, required: true, }, { displayName: 'Start Date', name: 'start_date', type: 'dateTime', default: '', displayOptions: { show: { resource: ['answerRatings'], operation: ['list'], }, }, }, { displayName: 'End Date', name: 'end_date', type: 'dateTime', default: '', displayOptions: { show: { resource: ['answerRatings'], operation: ['list'], }, }, }, { displayName: 'Status', name: 'status', type: 'options', options: [ { name: 'All', value: 'all' }, { name: 'Positive', value: 'positive' }, { name: 'Unknown', value: '?' }, ], default: 'all', displayOptions: { show: { resource: ['answerRatings'], operation: ['list'], }, }, }, { displayName: 'User ID', name: 'user_id', type: 'string', default: '', displayOptions: { show: { resource: ['answerRatings'], operation: ['list'], }, }, }, ]; /** * Answer Ratings API Handler * Handles requests to the answerRatings API */ async function handleAnswerRatingsApi(executeFunctions, itemIndex, adminUrl, adminToken) { const operation = executeFunctions.getNodeParameter('operation', itemIndex); const additionalFields = executeFunctions.getNodeParameter('additionalFields', itemIndex, {}); const headers = (0, utils_1.createHeaders)(adminToken, additionalFields); if (operation === 'list') { const qs = {}; const startDate = executeFunctions.getNodeParameter('start_date', itemIndex, ''); if (startDate) qs.start_date = startDate; const endDate = executeFunctions.getNodeParameter('end_date', itemIndex, ''); if (endDate) qs.end_date = endDate; const status = executeFunctions.getNodeParameter('status', itemIndex, 'all'); if (status !== 'all') qs.status = status; const userId = executeFunctions.getNodeParameter('user_id', itemIndex, ''); if (userId) qs.user_id = userId; const response = await executeFunctions.helpers.httpRequest({ method: 'GET', url: `${adminUrl}/answer_ratings.json`, headers, qs, }); // response is an array of answer ratings. we need to return each item in the array as an item to n8n. return executeFunctions.helpers.returnJsonArray(response); } else if (operation === 'read') { let answerRatingId = executeFunctions.getNodeParameter('answerRatingId', itemIndex); answerRatingId = (0, utils_1.extractIdFromUrlOrId)(answerRatingId, 'answer_ratings'); const response = await executeFunctions.helpers.httpRequest({ method: 'GET', url: `${adminUrl}/answer_ratings/${answerRatingId}.json`, headers, }); return response; } throw new n8n_workflow_1.NodeOperationError(executeFunctions.getNode(), `Unknown answer ratings operation: ${operation}`); } //# sourceMappingURL=answerRatingsApi.js.map