Files

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