n8n/packages/nodes-base/nodes/Zoho/descriptions/SharedFields.ts
2021-06-01 16:48:27 +02:00

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.',
},
],
},
],
};
};