n8n-nodes-instantly-dev
Version:
n8n community node for Instantly API v2 - DEV TESTING VERSION
43 lines • 2.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AnalyticsOperations = void 0;
const generic_functions_1 = require("../../generic.functions");
const resourceLocatorHelpers_1 = require("../functions/resourceLocatorHelpers");
const dateHelpers_1 = require("../functions/dateHelpers");
/**
* Analytics operations handler
*/
class AnalyticsOperations {
/**
* Get campaign analytics with date filtering
*/
static async getCampaignAnalytics(context, itemIndex) {
const returnAll = context.getNodeParameter('returnAll', itemIndex, false);
// Get date parameters and format them for the API
const startDateInput = context.getNodeParameter('startDate', itemIndex, '');
const endDateInput = context.getNodeParameter('endDate', itemIndex, '');
// Build query parameters object
const queryParams = {};
// Add date parameters if provided, using the robust date formatter
const formattedStartDate = (0, dateHelpers_1.formatDateForApi)(startDateInput);
const formattedEndDate = (0, dateHelpers_1.formatDateForApi)(endDateInput);
if (formattedStartDate) {
queryParams.start_date = formattedStartDate;
}
if (formattedEndDate) {
queryParams.end_date = formattedEndDate;
}
if (returnAll) {
// Get analytics for all campaigns with date filtering
return await generic_functions_1.instantlyApiRequest.call(context, 'GET', '/api/v2/campaigns/analytics', {}, queryParams);
}
else {
// Get analytics for specific campaign with date filtering
const campaignId = (0, resourceLocatorHelpers_1.getCampaignId)(context, itemIndex);
queryParams.id = campaignId;
return await generic_functions_1.instantlyApiRequest.call(context, 'GET', '/api/v2/campaigns/analytics', {}, queryParams);
}
}
}
exports.AnalyticsOperations = AnalyticsOperations;
//# sourceMappingURL=AnalyticsOperations.js.map