126 lines
3.6 KiB
TypeScript
126 lines
3.6 KiB
TypeScript
import { NodeConnectionTypes, type INodeType, type INodeTypeDescription } from 'n8n-workflow';
|
|
import { provisioningDescription } from './resources/provisioning';
|
|
import { cloudStorageDescription } from './resources/cloud-storage';
|
|
import { customerAddressesDescription } from './resources/customer-addresses';
|
|
import { customersDescription } from './resources/customers';
|
|
import { enumApiDescription } from './resources/enum-api';
|
|
import { eventsDescription } from './resources/events';
|
|
import { ordersDescription } from './resources/orders';
|
|
import { deliveryNoteDescription } from './resources/delivery-note';
|
|
import { invoiceDescription } from './resources/invoice';
|
|
import { productsDescription } from './resources/products';
|
|
import { shipmentsDescription } from './resources/shipments';
|
|
import { webhooksDescription } from './resources/webhooks';
|
|
|
|
export class Billbee implements INodeType {
|
|
description: INodeTypeDescription = {
|
|
displayName: 'Billbee',
|
|
name: 'N8nDevBillbee',
|
|
icon: { light: 'file:./billbee.png', dark: 'file:./billbee.dark.png' },
|
|
group: ['input'],
|
|
version: 1,
|
|
subtitle: '={{\$parameter["operation"] + ": " + \$parameter["resource"]}}',
|
|
description: 'Billbee REST API documentation for external application integration.',
|
|
defaults: { name: 'Billbee' },
|
|
usableAsTool: true,
|
|
inputs: [NodeConnectionTypes.Main],
|
|
outputs: [NodeConnectionTypes.Main],
|
|
credentials: [
|
|
{
|
|
name: 'N8nDevBillbeeApi',
|
|
required: true,
|
|
},
|
|
],
|
|
requestDefaults: {
|
|
baseURL: '={{\$credentials.url}}',
|
|
headers: {
|
|
Accept: 'application/json',
|
|
'Content-Type': 'application/json',
|
|
},
|
|
},
|
|
properties: [
|
|
{
|
|
"displayName": "Resource",
|
|
"name": "resource",
|
|
"type": "options",
|
|
"noDataExpression": true,
|
|
"options": [
|
|
{
|
|
"name": "Provisioning",
|
|
"value": "Provisioning",
|
|
"description": ""
|
|
},
|
|
{
|
|
"name": "Cloud Storage",
|
|
"value": "Cloud Storage",
|
|
"description": ""
|
|
},
|
|
{
|
|
"name": "Customer Addresses",
|
|
"value": "Customer Addresses",
|
|
"description": ""
|
|
},
|
|
{
|
|
"name": "Customers",
|
|
"value": "Customers",
|
|
"description": ""
|
|
},
|
|
{
|
|
"name": "Enum API",
|
|
"value": "Enum API",
|
|
"description": ""
|
|
},
|
|
{
|
|
"name": "Events",
|
|
"value": "Events",
|
|
"description": ""
|
|
},
|
|
{
|
|
"name": "Orders",
|
|
"value": "Orders",
|
|
"description": ""
|
|
},
|
|
{
|
|
"name": "Delivery Note",
|
|
"value": "Delivery Note",
|
|
"description": ""
|
|
},
|
|
{
|
|
"name": "Invoice",
|
|
"value": "Invoice",
|
|
"description": ""
|
|
},
|
|
{
|
|
"name": "Products",
|
|
"value": "Products",
|
|
"description": ""
|
|
},
|
|
{
|
|
"name": "Shipments",
|
|
"value": "Shipments",
|
|
"description": ""
|
|
},
|
|
{
|
|
"name": "Webhooks",
|
|
"value": "Webhooks",
|
|
"description": ""
|
|
}
|
|
],
|
|
"default": ""
|
|
},
|
|
...provisioningDescription,
|
|
...cloudStorageDescription,
|
|
...customerAddressesDescription,
|
|
...customersDescription,
|
|
...enumApiDescription,
|
|
...eventsDescription,
|
|
...ordersDescription,
|
|
...deliveryNoteDescription,
|
|
...invoiceDescription,
|
|
...productsDescription,
|
|
...shipmentsDescription,
|
|
...webhooksDescription
|
|
],
|
|
};
|
|
}
|