mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-12 23:54:07 -08:00
401e626a64
* feat: added Onfleet nodes Added Onfleet nodes for working with different endpoints like: organizations, administrators, workers, hubs, teams, destinations, recipients, containers and webhooks. * style: fixed typos, arrays uniformity, unnecesary files * refactor: changed add to create in comments and labels * feat: added name field to onfleet trigger node * feat: added team endpoints to onfleet node Added team auto-dispatch and driver time estimate endpoints to Onfleet node * style: remove dots in descriptions and fixed some typos * feat: added fixes according to comments made on the n8n PR added new fixed collections, refactored the code according to comments made on the n8n pr * fix: fixed recipient and destination cretion * docs: added docstrings for format some functions added docstrings for new functions addded for formatting the destination and recipient objects * style: formatting the code according to n8n nodelinter * fix: typos and better descriptions * [INT-510] n8n: Address additional problems from n8n code review (#5) * Fixed some error creating a worker, moving some fields under additional fields collection * Fixed returned values for delete operations, making some changes for style code * Added operational error since required property is not working for dateTime fields * ⚡ Improvements to #2593 * ⚡ Improvements * 🐛 Fix issue with wrong interface * ⚡ Improvements * ⚡ Improvements * ⚡ Minor improvement Co-authored-by: Santiago Botero Ruiz <santiago.botero@devsavant.ai> Co-authored-by: ilsemaj <james.li.upenn@gmail.com> Co-authored-by: Santiago Botero Ruiz <39206812+YokySantiago@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
330 lines
5.7 KiB
TypeScript
330 lines
5.7 KiB
TypeScript
import {
|
|
INodeProperties
|
|
} from 'n8n-workflow';
|
|
|
|
export const recipientOperations: INodeProperties[] = [
|
|
{
|
|
displayName: 'Operation',
|
|
name: 'operation',
|
|
type: 'options',
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
'recipient',
|
|
],
|
|
},
|
|
},
|
|
options: [
|
|
{
|
|
name: 'Create',
|
|
value: 'create',
|
|
description: 'Create a new Onfleet recipient',
|
|
},
|
|
{
|
|
name: 'Get',
|
|
value: 'get',
|
|
description: 'Get a specific Onfleet recipient',
|
|
},
|
|
{
|
|
name: 'Update',
|
|
value: 'update',
|
|
description: 'Update an Onfleet recipient',
|
|
},
|
|
],
|
|
default: 'get',
|
|
},
|
|
];
|
|
|
|
const additionalRecipientFields: INodeProperties[] = [
|
|
{
|
|
displayName: 'Recipient Notes',
|
|
name: 'recipientNotes',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'Notes for this recipient: these are global notes that should not be task- or destination-specific',
|
|
required: false,
|
|
},
|
|
{
|
|
displayName: 'Skip Recipient SMS Notifications',
|
|
name: 'recipientSkipSMSNotifications',
|
|
type: 'boolean',
|
|
default: false,
|
|
description: 'Whether this recipient has requested to skip SMS notifications',
|
|
required: false,
|
|
},
|
|
];
|
|
|
|
const recipientName = {
|
|
displayName: 'Recipient Name',
|
|
name: 'recipientName',
|
|
type: 'string',
|
|
description: 'The recipient\'s complete name',
|
|
default: '',
|
|
} as INodeProperties;
|
|
|
|
const recipientPhone = {
|
|
displayName: 'Recipient Phone',
|
|
name: 'recipientPhone',
|
|
type: 'string',
|
|
description: 'A unique, valid phone number as per the organization\'s country if there\'s no leading + sign. If a phone number has a leading + sign, it will disregard the organization\'s country setting.',
|
|
default: '',
|
|
} as INodeProperties;
|
|
|
|
const updateFields: INodeProperties[] = [
|
|
{
|
|
...recipientName,
|
|
required: false,
|
|
},
|
|
{
|
|
displayName: 'Recipient Notes',
|
|
name: 'notes',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'Notes for this recipient: these are global notes that should not be task- or destination-specific',
|
|
},
|
|
{
|
|
...recipientPhone,
|
|
required: false,
|
|
},
|
|
{
|
|
displayName: 'Skip Recipient SMS Notifications',
|
|
name: 'skipSMSNotifications',
|
|
type: 'boolean',
|
|
default: false,
|
|
description: 'Whether this recipient has requested to skip SMS notifications',
|
|
},
|
|
];
|
|
|
|
export const recipientExternalField = {
|
|
displayName: 'Recipient',
|
|
name: 'recipient',
|
|
type: 'fixedCollection',
|
|
placeholder: 'Add Recipient',
|
|
default: {},
|
|
options: [
|
|
{
|
|
displayName: 'Recipient Properties',
|
|
name: 'recipientProperties',
|
|
default: {},
|
|
values: [
|
|
{
|
|
...recipientName,
|
|
required: true,
|
|
},
|
|
{
|
|
...recipientPhone,
|
|
required: true,
|
|
},
|
|
...additionalRecipientFields,
|
|
],
|
|
},
|
|
],
|
|
} as INodeProperties;
|
|
|
|
export const recipientFields: INodeProperties[] = [
|
|
{
|
|
displayName: 'Get By',
|
|
name: 'getBy',
|
|
type: 'options',
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
'recipient',
|
|
],
|
|
operation: [
|
|
'get',
|
|
],
|
|
},
|
|
},
|
|
options: [
|
|
{
|
|
name: 'ID',
|
|
value: 'id',
|
|
},
|
|
{
|
|
name: 'Phone',
|
|
value: 'phone',
|
|
},
|
|
{
|
|
name: 'Name',
|
|
value: 'name',
|
|
},
|
|
],
|
|
description: 'The variable that is used for looking up a recipient',
|
|
required: true,
|
|
default: 'id',
|
|
},
|
|
{
|
|
displayName: 'Recipient ID',
|
|
name: 'id',
|
|
type: 'string',
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
'recipient',
|
|
],
|
|
operation: [
|
|
'get',
|
|
],
|
|
getBy: [
|
|
'id',
|
|
],
|
|
},
|
|
},
|
|
default: '',
|
|
required: true,
|
|
description: 'The ID of the recipient object for lookup',
|
|
},
|
|
{
|
|
displayName: 'Recipient ID',
|
|
name: 'id',
|
|
type: 'string',
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
'recipient',
|
|
],
|
|
operation: [
|
|
'update',
|
|
],
|
|
},
|
|
},
|
|
default: '',
|
|
required: true,
|
|
description: 'The ID of the recipient object for lookup',
|
|
},
|
|
{
|
|
displayName: 'Name',
|
|
name: 'name',
|
|
type: 'string',
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
'recipient',
|
|
],
|
|
operation: [
|
|
'get',
|
|
],
|
|
getBy: [
|
|
'name',
|
|
],
|
|
},
|
|
},
|
|
default: '',
|
|
required: true,
|
|
description: 'The name of the recipient for lookup',
|
|
},
|
|
{
|
|
displayName: 'Phone',
|
|
name: 'phone',
|
|
type: 'string',
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
'recipient',
|
|
],
|
|
operation: [
|
|
'get',
|
|
],
|
|
getBy: [
|
|
'phone',
|
|
],
|
|
},
|
|
},
|
|
default: '',
|
|
required: true,
|
|
description: 'The phone of the recipient for lookup',
|
|
},
|
|
{
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
'recipient',
|
|
],
|
|
operation: [
|
|
'create',
|
|
],
|
|
},
|
|
},
|
|
...recipientName,
|
|
required: true,
|
|
},
|
|
{
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
'recipient',
|
|
],
|
|
operation: [
|
|
'create',
|
|
],
|
|
},
|
|
},
|
|
...recipientPhone,
|
|
required: true,
|
|
},
|
|
{
|
|
displayName: 'Additional Fields',
|
|
name: 'additionalFields',
|
|
type: 'collection',
|
|
placeholder: 'Add Field',
|
|
default: {},
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
'recipient',
|
|
],
|
|
operation: [
|
|
'create',
|
|
],
|
|
},
|
|
},
|
|
options: additionalRecipientFields,
|
|
},
|
|
{
|
|
displayName: 'Update Fields',
|
|
name: 'updateFields',
|
|
type: 'collection',
|
|
placeholder: 'Update Fields',
|
|
default: {},
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
'recipient',
|
|
],
|
|
operation: [
|
|
'update',
|
|
],
|
|
},
|
|
},
|
|
options: updateFields,
|
|
},
|
|
{
|
|
displayName: 'Options',
|
|
name: 'options',
|
|
type: 'collection',
|
|
placeholder: 'Add Field',
|
|
default: {},
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
'recipient',
|
|
],
|
|
operation: [
|
|
'create',
|
|
],
|
|
},
|
|
},
|
|
options: [
|
|
{
|
|
displayName: 'Skip Recipient Phone Number Validation',
|
|
name: 'recipientSkipPhoneNumberValidation',
|
|
type: 'boolean',
|
|
default: false,
|
|
description: 'Whether to skip validation for this recipient\'s phone number',
|
|
required: false,
|
|
},
|
|
],
|
|
},
|
|
];
|