import type { INodeProperties } from 'n8n-workflow'; export const campaignOperations: INodeProperties[] = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, default: 'getAll', options: [ { name: 'Get Many', value: 'getAll', action: 'Get many campaigns', }, { name: 'Get Stats', value: 'getStats', action: 'Get campaign stats', }, ], displayOptions: { show: { resource: ['campaign'], }, }, }, ]; export const campaignFields: INodeProperties[] = [ // ---------------------------------- // campaign: getAll // ---------------------------------- { displayName: 'Return All', name: 'returnAll', type: 'boolean', default: false, description: 'Whether to return all results or only up to a given limit', displayOptions: { show: { resource: ['campaign'], operation: ['getAll'], }, }, }, { displayName: 'Limit', name: 'limit', type: 'number', default: 5, description: 'Max number of results to return', typeOptions: { minValue: 1, maxValue: 1000, }, displayOptions: { show: { resource: ['campaign'], operation: ['getAll'], returnAll: [false], }, }, }, { displayName: 'Filters', name: 'filters', type: 'collection', placeholder: 'Add Filter', default: {}, displayOptions: { show: { resource: ['campaign'], operation: ['getAll'], }, }, options: [ { displayName: 'Version', name: 'version', type: 'string', default: 'v2', }, ], }, // ---------------------------------- // campaign: getStats // ---------------------------------- { displayName: 'Campaign Name or ID', name: 'campaignId', type: 'options', required: true, default: [], typeOptions: { loadOptionsMethod: 'getCampaigns', }, description: 'ID of the campaign to get stats for. Choose from the list, or specify an ID using an expression.', displayOptions: { show: { resource: ['campaign'], operation: ['getStats'], }, }, }, { displayName: 'Start Date', name: 'startDate', type: 'dateTime', default: '', required: true, placeholder: 'e.g. 2024-09-03 00:00:00Z', displayOptions: { show: { resource: ['campaign'], operation: ['getStats'], }, }, }, { displayName: 'End Date', name: 'endDate', type: 'dateTime', default: '', placeholder: 'e.g. 2024-09-03 00:00:00Z', required: true, displayOptions: { show: { resource: ['campaign'], operation: ['getStats'], }, }, }, { displayName: 'Timezone', name: 'timezone', type: 'string', default: '', required: true, placeholder: 'e.g. Europe/Paris', displayOptions: { show: { resource: ['campaign'], operation: ['getStats'], }, }, }, ];