mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-20 11:22:15 +00:00
✨ 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 * ⚡ 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>
This commit is contained in:
184
packages/nodes-base/nodes/Onfleet/interfaces.ts
Normal file
184
packages/nodes-base/nodes/Onfleet/interfaces.ts
Normal file
@@ -0,0 +1,184 @@
|
||||
export interface OnfleetRecipient {
|
||||
name?: string;
|
||||
phone?: string;
|
||||
notes?: string;
|
||||
skipSMSNotifications?: boolean;
|
||||
skipPhoneNumberValidation?: boolean;
|
||||
}
|
||||
|
||||
export interface OnfleetDestinationAddress {
|
||||
name?: string;
|
||||
number?: string;
|
||||
street?: string;
|
||||
apartment?: string;
|
||||
city?: string;
|
||||
state?: string;
|
||||
postalCode?: string;
|
||||
country?: string;
|
||||
unparsed?: string;
|
||||
}
|
||||
|
||||
export interface OnfleetDestinationOptions {
|
||||
language?: string;
|
||||
}
|
||||
|
||||
export interface OnfleetDestination {
|
||||
address: OnfleetDestinationAddress;
|
||||
location?: [number, number];
|
||||
notes?: string;
|
||||
options?: OnfleetDestinationOptions;
|
||||
}
|
||||
|
||||
export interface OnfleetTask {
|
||||
merchant?: string;
|
||||
executor?: string;
|
||||
destination: OnfleetDestination;
|
||||
recipients: OnfleetRecipient[];
|
||||
completeAfter?: number;
|
||||
completeBefore?: number;
|
||||
pickupTask?: boolean;
|
||||
notes?: string;
|
||||
quantity?: number;
|
||||
serviceTime?: number;
|
||||
}
|
||||
|
||||
export interface OnfleetTaskUpdate {
|
||||
merchant?: string;
|
||||
executor?: string;
|
||||
completeAfter?: number;
|
||||
completeBefore?: number;
|
||||
pickupTask?: boolean;
|
||||
notes?: string;
|
||||
quantity?: number;
|
||||
serviceTime?: number;
|
||||
}
|
||||
|
||||
export interface OnfleetListTaskFilters {
|
||||
from?: number;
|
||||
to?: number;
|
||||
lastId?: string;
|
||||
state?: string;
|
||||
worker?: string;
|
||||
completeBeforeBefore?: number;
|
||||
completeAfterAfter?: number;
|
||||
dependencies?: string;
|
||||
}
|
||||
|
||||
export interface OnfleetCloneOverrideTaskOptions {
|
||||
completeAfter?: number;
|
||||
completeBefore?: number;
|
||||
destination?: OnfleetDestination;
|
||||
notes?: string;
|
||||
pickupTask?: boolean;
|
||||
recipients?: OnfleetRecipient[];
|
||||
serviceTime?: number;
|
||||
}
|
||||
|
||||
export interface OnfleetCloneTaskOptions {
|
||||
includeMetadata?: boolean;
|
||||
includeBarcodes?: boolean;
|
||||
includeDependencies?: boolean;
|
||||
overrides?: OnfleetCloneOverrideTaskOptions;
|
||||
}
|
||||
|
||||
export interface OnfleetCloneTask {
|
||||
options?: OnfleetCloneTaskOptions;
|
||||
}
|
||||
|
||||
export interface OnfleetTaskCompletionDetails {
|
||||
success: boolean;
|
||||
notes?: string;
|
||||
}
|
||||
|
||||
export interface OnfleetTaskComplete {
|
||||
completionDetails: OnfleetTaskCompletionDetails;
|
||||
}
|
||||
|
||||
export interface OnfleetAdmins {
|
||||
name?: string;
|
||||
email?: string;
|
||||
phone?: string;
|
||||
isReadOnly?: boolean;
|
||||
}
|
||||
|
||||
export interface OnfleetHubs extends OnfleetDestination {
|
||||
name?: string;
|
||||
teams?: string[];
|
||||
}
|
||||
|
||||
export interface OnfleetVehicle {
|
||||
type?: string;
|
||||
description?: string;
|
||||
licensePlate?: string;
|
||||
color?: string;
|
||||
}
|
||||
|
||||
export interface OnfleetWorker {
|
||||
name?: string;
|
||||
phone?: string;
|
||||
vehicle?: OnfleetVehicle;
|
||||
teams?: string[];
|
||||
capacity?: number;
|
||||
displayName?: string;
|
||||
}
|
||||
|
||||
export interface OnfleetWorkerFilter {
|
||||
[key: string]: string | undefined;
|
||||
filter?: string;
|
||||
teams?: string;
|
||||
states?: string;
|
||||
phones?: string;
|
||||
analytics?: string;
|
||||
}
|
||||
|
||||
export interface OnfleetWorkerScheduleEntry {
|
||||
date?: string;
|
||||
timezone?: string;
|
||||
shifts?: [[number, number]];
|
||||
}
|
||||
|
||||
export interface OnfleetWebhook {
|
||||
url?: string;
|
||||
name?: string;
|
||||
trigger?: number;
|
||||
threshold?: number;
|
||||
}
|
||||
|
||||
export interface OnfleetTeams {
|
||||
name?: string;
|
||||
workers?: string[];
|
||||
managers?: string[];
|
||||
hub?: string;
|
||||
enableSelfAssignment?: boolean;
|
||||
}
|
||||
|
||||
export interface OnfleetWorkerSchedule {
|
||||
entries: OnfleetWorkerScheduleEntry[];
|
||||
}
|
||||
|
||||
export interface OnfleetWebhookMapping {
|
||||
key: number;
|
||||
name: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
export interface OnfleetWebhooksMapping {
|
||||
[key: string]: OnfleetWebhookMapping;
|
||||
}
|
||||
|
||||
export interface OnfleetWorkerEstimates {
|
||||
dropoffLocation?: string;
|
||||
pickupLocation?: string;
|
||||
pickupTime?: number;
|
||||
restrictedVehicleTypes?: string;
|
||||
serviceTime?: number;
|
||||
}
|
||||
|
||||
export interface OnfleetTeamAutoDispatch {
|
||||
maxTasksPerRoute?: number;
|
||||
taskTimeWindow?: [number, number];
|
||||
scheduleTimeWindow?: [number, number];
|
||||
serviceTime?: number;
|
||||
routeEnd?: string;
|
||||
maxAllowedDelay?: number;
|
||||
}
|
||||
Reference in New Issue
Block a user