2021-09-05 10:24:56 -07:00
import {
INodeProperties ,
} from 'n8n-workflow' ;
2021-12-03 00:44:16 -08:00
export const productOperations : INodeProperties [ ] = [
2021-09-05 10:24:56 -07:00
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'product' ,
] ,
} ,
} ,
options : [
{
name : 'Create' ,
value : 'create' ,
description : 'Create a product' ,
} ,
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete a product' ,
} ,
{
name : 'Get' ,
value : 'get' ,
description : 'Retrieve a product' ,
} ,
{
name : 'Get All' ,
value : 'getAll' ,
description : 'Retrieve all products' ,
} ,
{
name : 'Update' ,
value : 'update' ,
description : 'Update a product' ,
} ,
] ,
default : 'create' ,
} ,
2021-12-03 00:44:16 -08:00
] ;
2021-09-05 10:24:56 -07:00
2021-12-03 00:44:16 -08:00
export const productFields : INodeProperties [ ] = [
2021-09-05 10:24:56 -07:00
// ----------------------------------------
// product: create
// ----------------------------------------
{
displayName : 'Asset Type Name/ID' ,
name : 'assetTypeId' ,
type : 'options' ,
description : 'Choose from the list or specify an ID. You can also specify the ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
required : true ,
default : '' ,
typeOptions : {
2021-12-03 00:44:16 -08:00
loadOptionsMethod : 'getAssetTypes' ,
2021-09-05 10:24:56 -07:00
} ,
displayOptions : {
show : {
resource : [
'product' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
} ,
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
resource : [
'product' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'product' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
options : [
{
displayName : 'Description' ,
name : 'description' ,
type : 'string' ,
default : '' ,
description : 'HTML supported' ,
} ,
{
displayName : 'Manufacturer' ,
name : 'manufacturer' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Mode of Procurement' ,
name : 'mode_of_procurement' ,
type : 'options' ,
default : 'Buy' ,
options : [
{
name : 'Buy' ,
value : 'Buy' ,
} ,
{
name : 'Lease' ,
value : 'Lease' ,
} ,
{
name : 'Both' ,
value : 'Both' ,
} ,
] ,
} ,
{
displayName : 'Status' ,
name : 'status' ,
type : 'options' ,
default : 'In Production' ,
options : [
{
name : 'In Production' ,
value : 'In Production' ,
} ,
{
name : 'In Pipeline' ,
value : 'In Pipeline' ,
} ,
{
name : 'Retired' ,
value : 'Retired' ,
} ,
] ,
} ,
] ,
} ,
// ----------------------------------------
// product: delete
// ----------------------------------------
{
displayName : 'Product ID' ,
name : 'productId' ,
description : 'ID of the product to delete' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
resource : [
'product' ,
] ,
operation : [
'delete' ,
] ,
} ,
} ,
} ,
// ----------------------------------------
// product: get
// ----------------------------------------
{
displayName : 'Product ID' ,
name : 'productId' ,
description : 'ID of the product to retrieve' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
resource : [
'product' ,
] ,
operation : [
'get' ,
] ,
} ,
} ,
} ,
// ----------------------------------------
// product: getAll
// ----------------------------------------
{
displayName : 'Return All' ,
name : 'returnAll' ,
type : 'boolean' ,
default : false ,
description : 'Whether to return all results or only up to a given limit' ,
displayOptions : {
show : {
resource : [
'product' ,
] ,
operation : [
'getAll' ,
] ,
} ,
} ,
} ,
{
displayName : 'Limit' ,
name : 'limit' ,
type : 'number' ,
default : 50 ,
description : 'How many results to return' ,
typeOptions : {
minValue : 1 ,
} ,
displayOptions : {
show : {
resource : [
'product' ,
] ,
operation : [
'getAll' ,
] ,
returnAll : [
false ,
] ,
} ,
} ,
} ,
// ----------------------------------------
// product: update
// ----------------------------------------
{
displayName : 'Product ID' ,
name : 'productId' ,
description : 'ID of the product to update' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
resource : [
'product' ,
] ,
operation : [
'update' ,
] ,
} ,
} ,
} ,
{
displayName : 'Update Fields' ,
name : 'updateFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'product' ,
] ,
operation : [
'update' ,
] ,
} ,
} ,
options : [
{
displayName : 'Asset Type Name/ID' ,
name : 'asset_type_id' ,
type : 'options' ,
description : 'Choose from the list or specify an ID. You can also specify the ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
default : '' ,
typeOptions : {
2021-12-03 00:44:16 -08:00
loadOptionsMethod : 'getAssetTypes' ,
2021-09-05 10:24:56 -07:00
} ,
} ,
{
displayName : 'Description' ,
name : 'description' ,
type : 'string' ,
default : '' ,
description : 'HTML supported' ,
} ,
{
displayName : 'Manufacturer' ,
name : 'manufacturer' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Mode of Procurement' ,
name : 'mode_of_procurement' ,
type : 'options' ,
default : 'Buy' ,
options : [
{
name : 'Buy' ,
value : 'Buy' ,
} ,
{
name : 'Lease' ,
value : 'Lease' ,
} ,
{
name : 'Both' ,
value : 'Both' ,
} ,
] ,
} ,
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Status' ,
name : 'status' ,
type : 'options' ,
default : 'In Production' ,
options : [
{
name : 'In Production' ,
value : 'In Production' ,
} ,
{
name : 'In Pipeline' ,
value : 'In Pipeline' ,
} ,
{
name : 'Retired' ,
value : 'Retired' ,
} ,
] ,
} ,
] ,
} ,
2021-12-03 00:44:16 -08:00
] ;