:sparkles: Add Onfleet Node & Trigger (#2845)
* 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
* :zap: Improvements to #2593
* :zap: Improvements
* :bug: Fix issue with wrong interface
* :zap: Improvements
* :zap: Improvements
* :zap: 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>
2022-02-28 00:48:17 -08:00
import {
INodeProperties
} from 'n8n-workflow' ;
import {
webhookMapping ,
} from '../WebhookMapping' ;
export const webhookOperations : INodeProperties [ ] = [
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
2022-05-20 14:47:24 -07:00
noDataExpression : true ,
:sparkles: Add Onfleet Node & Trigger (#2845)
* 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
* :zap: Improvements to #2593
* :zap: Improvements
* :bug: Fix issue with wrong interface
* :zap: Improvements
* :zap: Improvements
* :zap: 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>
2022-02-28 00:48:17 -08:00
displayOptions : {
show : {
resource : [
'webhook' ,
] ,
} ,
} ,
options : [
{
name : 'Create' ,
value : 'create' ,
description : 'Create a new Onfleet webhook' ,
} ,
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete an Onfleet webhook' ,
} ,
{
name : 'Get All' ,
value : 'getAll' ,
description : 'Get all Onfleet webhooks' ,
} ,
] ,
default : 'getAll' ,
} ,
] ;
const urlField = {
displayName : 'URL' ,
name : 'url' ,
type : 'string' ,
default : '' ,
description : 'The URL that Onfleet should issue a request against as soon as the trigger condition is met. It must be HTTPS and have a valid certificate.' ,
} as INodeProperties ;
const nameField = {
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
description : 'A name for the webhook for identification' ,
} as INodeProperties ;
const triggerField = {
displayName : 'Trigger' ,
name : 'trigger' ,
type : 'options' ,
options : Object.entries ( webhookMapping ) . map ( ( [ key , value ] ) = > {
return {
name : value.name ,
value : value.key ,
} ;
} ) ,
default : '' ,
description : 'The number corresponding to the trigger condition on which the webhook should fire' ,
} as INodeProperties ;
const thresholdField = {
displayName : 'Threshold' ,
name : 'threshold' ,
type : 'number' ,
default : 0 ,
description : 'For trigger Task Eta, the time threshold in seconds; for trigger Task Arrival, the distance threshold in meters' ,
} as INodeProperties ;
export const webhookFields : INodeProperties [ ] = [
{
displayName : 'Webhook ID' ,
name : 'id' ,
type : 'string' ,
displayOptions : {
show : {
resource : [
'webhook' ,
] ,
operation : [
'delete' ,
] ,
} ,
} ,
default : '' ,
required : true ,
description : 'The ID of the webhook object for lookup' ,
} ,
{
. . . urlField ,
displayOptions : {
show : {
resource : [
'webhook' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
required : true ,
} ,
{
. . . nameField ,
displayOptions : {
show : {
resource : [
'webhook' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
required : true ,
} ,
{
. . . triggerField ,
displayOptions : {
show : {
resource : [
'webhook' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
required : true ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'webhook' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
options : [
thresholdField ,
] ,
} ,
] ;