mirror of
https://github.com/n8n-io/n8n.git
synced 2025-02-21 02:56:40 -08:00
488 lines
8.7 KiB
TypeScript
488 lines
8.7 KiB
TypeScript
import { capitalizeInitial } from '../GenericFunctions';
|
|
import { CamelCaseResource } from '../types';
|
|
|
|
export const billingAddress = {
|
|
displayName: 'Billing Address',
|
|
name: 'Billing_Address',
|
|
type: 'fixedCollection',
|
|
default: {},
|
|
placeholder: 'Add Billing Address Field',
|
|
options: [
|
|
{
|
|
displayName: 'Billing Address Fields',
|
|
name: 'address_fields',
|
|
values: [
|
|
{
|
|
displayName: 'City',
|
|
name: 'Billing_City',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Country',
|
|
name: 'Billing_Country',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'State',
|
|
name: 'Billing_State',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Street',
|
|
name: 'Billing_Street',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Zip Code',
|
|
name: 'Billing_Code',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
|
|
export const shippingAddress = {
|
|
displayName: 'Shipping Address',
|
|
name: 'Shipping_Address',
|
|
type: 'fixedCollection',
|
|
default: {},
|
|
placeholder: 'Add Shipping Address Field',
|
|
options: [
|
|
{
|
|
displayName: 'Shipping Address Fields',
|
|
name: 'address_fields',
|
|
values: [
|
|
{
|
|
displayName: 'City',
|
|
name: 'Shipping_City',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Country',
|
|
name: 'Shipping_Country',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'State',
|
|
name: 'Shipping_State',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Street',
|
|
name: 'Shipping_Street',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Zip Code',
|
|
name: 'Shipping_Code',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
|
|
export const mailingAddress = {
|
|
displayName: 'Mailing Address',
|
|
name: 'Mailing_Address',
|
|
type: 'fixedCollection',
|
|
default: {},
|
|
placeholder: 'Add Mailing Address Field',
|
|
options: [
|
|
{
|
|
displayName: 'Mailing Address Fields',
|
|
name: 'address_fields',
|
|
values: [
|
|
{
|
|
displayName: 'City',
|
|
name: 'Mailing_City',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Country',
|
|
name: 'Mailing_Country',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'State',
|
|
name: 'Mailing_State',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Street',
|
|
name: 'Mailing_Street',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Zip Code',
|
|
name: 'Mailing_Zip',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
|
|
export const otherAddress = {
|
|
displayName: 'Other Address',
|
|
name: 'Other_Address',
|
|
type: 'fixedCollection',
|
|
default: {},
|
|
placeholder: 'Add Other Address Field',
|
|
options: [
|
|
{
|
|
displayName: 'Other Address Fields',
|
|
name: 'address_fields',
|
|
values: [
|
|
{
|
|
displayName: 'City',
|
|
name: 'Other_City',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'State',
|
|
name: 'Other_State',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Street',
|
|
name: 'Other_Street',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Zip Code',
|
|
name: 'Other_Zip',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
|
|
export const address = {
|
|
displayName: 'Address',
|
|
name: 'Address',
|
|
type: 'fixedCollection',
|
|
default: {},
|
|
placeholder: 'Add Address Field',
|
|
options: [
|
|
{
|
|
displayName: 'Address Fields',
|
|
name: 'address_fields',
|
|
values: [
|
|
{
|
|
displayName: 'City',
|
|
name: 'City',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Country',
|
|
name: 'Country',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'State',
|
|
name: 'State',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Street',
|
|
name: 'Street',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Zip Code',
|
|
name: 'Zip_Code',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
|
|
export const makeProductDetails = (resource: CamelCaseResource) => ({
|
|
displayName: 'Products',
|
|
name: 'Product_Details',
|
|
type: 'collection',
|
|
typeOptions: {
|
|
multipleValues: true,
|
|
multipleValueButtonText: 'Add Product',
|
|
},
|
|
default: {},
|
|
placeholder: 'Add Field',
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
resource,
|
|
],
|
|
operation: [
|
|
'create',
|
|
'upsert',
|
|
],
|
|
},
|
|
},
|
|
options: [
|
|
{
|
|
displayName: 'List Price',
|
|
name: 'list_price',
|
|
type: 'number',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Net Total',
|
|
name: 'net_total',
|
|
type: 'number',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Product ID',
|
|
name: 'id',
|
|
type: 'options',
|
|
default: [],
|
|
typeOptions: {
|
|
loadOptionsMethod: 'getProducts',
|
|
},
|
|
},
|
|
{
|
|
displayName: 'Product Description',
|
|
name: 'product_description',
|
|
type: 'string',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Quantity',
|
|
name: 'quantity',
|
|
type: 'number',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Quantity in Stock',
|
|
name: 'quantity_in_stock',
|
|
type: 'number',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Tax',
|
|
name: 'Tax',
|
|
type: 'number',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Total',
|
|
name: 'total',
|
|
type: 'number',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Total After Discount',
|
|
name: 'total_after_discount',
|
|
type: 'number',
|
|
default: '',
|
|
},
|
|
{
|
|
displayName: 'Unit Price',
|
|
name: 'unit_price',
|
|
type: 'number',
|
|
default: '',
|
|
},
|
|
],
|
|
});
|
|
|
|
export const makeGetAllFields = (resource: CamelCaseResource) => {
|
|
const loadOptionsMethod = `get${capitalizeInitial(resource)}Fields`;
|
|
|
|
return [
|
|
{
|
|
displayName: 'Return All',
|
|
name: 'returnAll',
|
|
type: 'boolean',
|
|
default: false,
|
|
description: 'Return all results.',
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
resource,
|
|
],
|
|
operation: [
|
|
'getAll',
|
|
],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
displayName: 'Limit',
|
|
name: 'limit',
|
|
type: 'number',
|
|
default: 5,
|
|
description: 'The number of results to return.',
|
|
typeOptions: {
|
|
minValue: 1,
|
|
maxValue: 1000,
|
|
},
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
resource,
|
|
],
|
|
operation: [
|
|
'getAll',
|
|
],
|
|
returnAll: [
|
|
false,
|
|
],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
displayName: 'Options',
|
|
name: 'options',
|
|
type: 'collection',
|
|
placeholder: 'Add Option',
|
|
default: {},
|
|
displayOptions: {
|
|
show: {
|
|
resource: [
|
|
resource,,
|
|
],
|
|
operation: [
|
|
'getAll',
|
|
],
|
|
},
|
|
},
|
|
options: [
|
|
{
|
|
displayName: 'Approved',
|
|
name: 'approved',
|
|
type: 'boolean',
|
|
default: true,
|
|
description: 'Retrieve only approved leads. Defaults to true.',
|
|
},
|
|
{
|
|
displayName: 'Converted',
|
|
name: 'converted',
|
|
type: 'boolean',
|
|
default: false,
|
|
description: 'Retrieve only converted leads. Defaults to false.',
|
|
},
|
|
{
|
|
displayName: 'Fields',
|
|
name: 'fields',
|
|
type: 'multiOptions',
|
|
typeOptions: {
|
|
loadOptionsMethod,
|
|
},
|
|
default: [],
|
|
description: 'Return only these fields.',
|
|
},
|
|
{
|
|
displayName: 'Include Child',
|
|
name: 'include_child',
|
|
type: 'boolean',
|
|
default: false,
|
|
description: 'Retrieve only leads from child territories.',
|
|
},
|
|
{
|
|
displayName: 'Sort By',
|
|
name: 'sort_by',
|
|
type: 'options',
|
|
typeOptions: {
|
|
loadOptionsMethod,
|
|
},
|
|
default: [],
|
|
description: 'Field to sort leads by.',
|
|
},
|
|
{
|
|
displayName: 'Sort Order',
|
|
name: 'sort_order',
|
|
type: 'options',
|
|
options: [
|
|
{
|
|
name: 'Ascending',
|
|
value: 'asc',
|
|
},
|
|
{
|
|
name: 'Descending',
|
|
value: 'desc',
|
|
},
|
|
],
|
|
default: 'desc',
|
|
description: 'Ascending or descending order sort order.',
|
|
},
|
|
{
|
|
displayName: 'Territory ID',
|
|
name: 'territory_id',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'Retrieve only leads from this territory.',
|
|
},
|
|
],
|
|
},
|
|
];
|
|
};
|
|
|
|
export const makeCustomFieldsFixedCollection = (resource: CamelCaseResource) => {
|
|
const loadOptionsMethod = `getCustom${capitalizeInitial(resource)}Fields`;
|
|
|
|
return {
|
|
displayName: 'Custom Fields',
|
|
name: 'customFields',
|
|
placeholder: 'Add Custom Field',
|
|
type: 'fixedCollection',
|
|
typeOptions: {
|
|
multipleValues: true,
|
|
},
|
|
description: 'Filter by custom fields.',
|
|
default: {},
|
|
options: [
|
|
{
|
|
name: 'customFields',
|
|
displayName: 'Custom Field',
|
|
values: [
|
|
{
|
|
displayName: 'Field ID',
|
|
name: 'fieldId',
|
|
type: 'options',
|
|
typeOptions: {
|
|
loadOptionsMethod,
|
|
},
|
|
default: '',
|
|
description: 'Custom field to set a value to.',
|
|
},
|
|
{
|
|
displayName: 'Value',
|
|
name: 'value',
|
|
type: 'string',
|
|
default: '',
|
|
description: 'Value to set on custom field.',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
};
|