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