fix: 修复TypeScript配置错误并更新项目文档
详细说明: - 修复了@n8n/config包的TypeScript配置错误 - 移除了不存在的jest-expect-message类型引用 - 清理了所有TypeScript构建缓存 - 更新了可行性分析文档,添加了技术实施方案 - 更新了Agent prompt文档 - 添加了会展策划工作流文档 - 包含了n8n-chinese-translation子项目 - 添加了exhibition-demo展示系统框架
This commit is contained in:
13
n8n-n8n-1.109.2/packages/nodes-base/README 2.md
Executable file
13
n8n-n8n-1.109.2/packages/nodes-base/README 2.md
Executable file
@@ -0,0 +1,13 @@
|
||||

|
||||
|
||||
# n8n-nodes-base
|
||||
|
||||
The nodes which are included by default in n8n
|
||||
|
||||
```
|
||||
npm install n8n-nodes-base -g
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
You can find the license information [here](https://github.com/n8n-io/n8n/blob/master/README.md#license)
|
||||
10
n8n-n8n-1.109.2/packages/nodes-base/jest.config 2.js
Executable file
10
n8n-n8n-1.109.2/packages/nodes-base/jest.config 2.js
Executable file
@@ -0,0 +1,10 @@
|
||||
// Avoid tests failing because of difference between local and GitHub actions timezone
|
||||
process.env.TZ = 'UTC';
|
||||
|
||||
/** @type {import('jest').Config} */
|
||||
module.exports = {
|
||||
...require('../../jest.config'),
|
||||
collectCoverageFrom: ['credentials/**/*.ts', 'nodes/**/*.ts', 'utils/**/*.ts'],
|
||||
globalSetup: '<rootDir>/test/globalSetup.ts',
|
||||
setupFilesAfterEnv: ['jest-expect-message', '<rootDir>/test/setup.ts'],
|
||||
};
|
||||
@@ -1,137 +0,0 @@
|
||||
import { NodeTestHarness } from '@nodes-testing/node-test-harness';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import { DateTime } from 'luxon';
|
||||
import { NodeOperationError, type IExecuteFunctions } from 'n8n-workflow';
|
||||
|
||||
import { Wait } from '../Wait.node';
|
||||
|
||||
describe('Execute Wait Node', () => {
|
||||
let timer: NodeJS.Timeout;
|
||||
const { clearInterval, setInterval } = global;
|
||||
const nextDay = DateTime.now().startOf('day').plus({ days: 1 });
|
||||
|
||||
beforeAll(() => {
|
||||
timer = setInterval(() => jest.advanceTimersByTime(1000), 10);
|
||||
jest.useFakeTimers().setSystemTime(new Date('2025-01-01'));
|
||||
});
|
||||
|
||||
afterAll(() => {
|
||||
clearInterval(timer);
|
||||
jest.useRealTimers();
|
||||
});
|
||||
|
||||
test.each([
|
||||
{ value: 'invalid_date', isValid: false },
|
||||
{
|
||||
value: nextDay.toISO(),
|
||||
isValid: true,
|
||||
expectedWaitTill: nextDay.toJSDate(),
|
||||
},
|
||||
{
|
||||
value: nextDay.toISO({ includeOffset: true }),
|
||||
isValid: true,
|
||||
expectedWaitTill: nextDay.toUTC().toJSDate(),
|
||||
},
|
||||
{
|
||||
value: nextDay.toJSDate(),
|
||||
isValid: true,
|
||||
expectedWaitTill: nextDay.toJSDate(),
|
||||
},
|
||||
{
|
||||
value: nextDay,
|
||||
isValid: true,
|
||||
expectedWaitTill: nextDay.toJSDate(),
|
||||
},
|
||||
])(
|
||||
'Test Wait Node with specificTime $value and isValid $isValid',
|
||||
async ({ value, isValid, expectedWaitTill }) => {
|
||||
const putExecutionToWaitSpy = jest.fn();
|
||||
const waitNode = new Wait();
|
||||
const executeFunctionsMock = mock<IExecuteFunctions>({
|
||||
getNodeParameter: jest.fn().mockImplementation((paramName: string) => {
|
||||
if (paramName === 'resume') return 'specificTime';
|
||||
if (paramName === 'dateTime') return value;
|
||||
}),
|
||||
getTimezone: jest.fn().mockReturnValue('UTC'),
|
||||
putExecutionToWait: putExecutionToWaitSpy,
|
||||
getInputData: jest.fn(),
|
||||
getNode: jest.fn(),
|
||||
});
|
||||
|
||||
if (isValid) {
|
||||
await expect(waitNode.execute(executeFunctionsMock)).resolves.not.toThrow();
|
||||
expect(putExecutionToWaitSpy).toHaveBeenCalledWith(expectedWaitTill);
|
||||
} else {
|
||||
await expect(waitNode.execute(executeFunctionsMock)).rejects.toThrow(NodeOperationError);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
describe('Validation', () => {
|
||||
describe('Time interval', () => {
|
||||
it.each([
|
||||
{
|
||||
unit: 'seconds',
|
||||
amount: 300,
|
||||
expectedWaitTill: () => DateTime.now().plus({ seconds: 300 }).toJSDate(),
|
||||
},
|
||||
{
|
||||
unit: 'minutes',
|
||||
amount: 2,
|
||||
expectedWaitTill: () => DateTime.now().plus({ minutes: 2 }).toJSDate(),
|
||||
},
|
||||
{
|
||||
unit: 'hours',
|
||||
amount: 1,
|
||||
expectedWaitTill: () => DateTime.now().plus({ hours: 1 }).toJSDate(),
|
||||
},
|
||||
{
|
||||
unit: 'days',
|
||||
amount: 10,
|
||||
expectedWaitTill: () => DateTime.now().plus({ days: 10 }).toJSDate(),
|
||||
},
|
||||
{
|
||||
unit: 'seconds',
|
||||
amount: -10,
|
||||
error: 'Invalid wait amount. It must be a positive number.',
|
||||
},
|
||||
{
|
||||
unit: 'years',
|
||||
amount: 10,
|
||||
error: "Invalid wait unit. Valid units are 'seconds', 'minutes', 'hours', or 'days'.",
|
||||
},
|
||||
{
|
||||
unit: 'minutes',
|
||||
amount: 'test',
|
||||
error: 'Invalid wait amount. It must be a positive number.',
|
||||
},
|
||||
])(
|
||||
'Validate wait unit: $unit, amount: $amount',
|
||||
async ({ unit, amount, expectedWaitTill, error }) => {
|
||||
const putExecutionToWaitSpy = jest.fn();
|
||||
const waitNode = new Wait();
|
||||
const executeFunctionsMock = mock<IExecuteFunctions>({
|
||||
getNodeParameter: jest.fn().mockImplementation((paramName: string) => {
|
||||
if (paramName === 'resume') return 'timeInterval';
|
||||
if (paramName === 'amount') return amount;
|
||||
if (paramName === 'unit') return unit;
|
||||
}),
|
||||
getTimezone: jest.fn().mockReturnValue('UTC'),
|
||||
putExecutionToWait: putExecutionToWaitSpy,
|
||||
getInputData: jest.fn(),
|
||||
getNode: jest.fn(),
|
||||
});
|
||||
|
||||
if (!error) {
|
||||
await expect(waitNode.execute(executeFunctionsMock)).resolves.not.toThrow();
|
||||
expect(putExecutionToWaitSpy).toHaveBeenCalledWith(expectedWaitTill?.());
|
||||
} else {
|
||||
await expect(waitNode.execute(executeFunctionsMock)).rejects.toThrowError(error);
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
new NodeTestHarness().setupTests();
|
||||
});
|
||||
@@ -1,162 +0,0 @@
|
||||
{
|
||||
"name": "[Unit Test] Wait Node",
|
||||
"nodes": [
|
||||
{
|
||||
"parameters": {},
|
||||
"id": "76e5dcfd-fdc7-472f-8832-bccc0eb122c0",
|
||||
"name": "When clicking \"Execute Workflow\"",
|
||||
"type": "n8n-nodes-base.manualTrigger",
|
||||
"typeVersion": 1,
|
||||
"position": [120, 420]
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"amount": 42,
|
||||
"unit": "seconds"
|
||||
},
|
||||
"id": "37f2c758-6fb2-43ce-86ae-ca11ec957cbd",
|
||||
"name": "Wait",
|
||||
"type": "n8n-nodes-base.wait",
|
||||
"typeVersion": 1,
|
||||
"position": [560, 420],
|
||||
"webhookId": "35edc971-c3e4-48cf-835d-4d73a4fd1fd8"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"number": [
|
||||
{
|
||||
"value1": "={{ parseInt($json.afterTimestamp) }}",
|
||||
"operation": "largerEqual",
|
||||
"value2": "={{ parseInt($json.startTimestamp) + 42 }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"id": "c5c53934-2677-4adf-a4df-b32f3b0642a2",
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"typeVersion": 1,
|
||||
"position": [960, 420]
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"keepOnlySet": true,
|
||||
"values": {
|
||||
"boolean": [
|
||||
{
|
||||
"name": "success",
|
||||
"value": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"id": "a78417b6-d3f5-4bbc-916a-d4b9d46961cc",
|
||||
"name": "Set1",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"typeVersion": 1,
|
||||
"position": [1180, 400]
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"value": "={{ $now }}",
|
||||
"dataPropertyName": "afterTimestamp",
|
||||
"toFormat": "X",
|
||||
"options": {}
|
||||
},
|
||||
"id": "94f042ea-49d5-44ea-9ccf-93dac8d27d4a",
|
||||
"name": "After",
|
||||
"type": "n8n-nodes-base.dateTime",
|
||||
"typeVersion": 1,
|
||||
"position": [760, 420]
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"value": "={{ $now }}",
|
||||
"dataPropertyName": "startTimestamp",
|
||||
"toFormat": "X",
|
||||
"options": {}
|
||||
},
|
||||
"id": "43f8a396-1bf7-484e-962c-120f677dfa51",
|
||||
"name": "Before",
|
||||
"type": "n8n-nodes-base.dateTime",
|
||||
"typeVersion": 1,
|
||||
"position": [360, 420]
|
||||
}
|
||||
],
|
||||
"pinData": {
|
||||
"Set1": [
|
||||
{
|
||||
"json": {
|
||||
"success": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"connections": {
|
||||
"When clicking \"Execute Workflow\"": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Before",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Wait": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "After",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"After": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Before": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Wait",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"versionId": "8ed794a0-5c04-4b8a-9a49-02c2c7f8003f",
|
||||
"id": "500",
|
||||
"meta": {
|
||||
"instanceId": "8c8c5237b8e37b006a7adce87f4369350c58e41f3ca9de16196d3197f69eabcd"
|
||||
},
|
||||
"tags": []
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"parameters": {
|
||||
"httpMethod": "POST",
|
||||
"path": "test",
|
||||
"options": {
|
||||
"binaryData": false
|
||||
}
|
||||
},
|
||||
"id": "ec188f16-b2c5-44e3-bd83-259a94f15c94",
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"typeVersion": 1,
|
||||
"webhookId": "a59a3be7-6d43-47e7-951d-86b8172c2006"
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [[]]
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"mode": "webhook",
|
||||
"input": {
|
||||
"json": {
|
||||
"headers": {
|
||||
"host": "localhost:5678",
|
||||
"user-agent": "curl/8.2.0",
|
||||
"accept": "*/*",
|
||||
"content-length": "137",
|
||||
"content-type": "multipart/form-data; boundary=--boundary"
|
||||
},
|
||||
"params": { "path": "test" },
|
||||
"query": {},
|
||||
"body": { "a": ["b"] }
|
||||
}
|
||||
}
|
||||
},
|
||||
"pinData": {
|
||||
"Webhook": [
|
||||
{
|
||||
"json": {
|
||||
"headers": {
|
||||
"host": "localhost:5678",
|
||||
"user-agent": "curl/8.2.0",
|
||||
"accept": "*/*",
|
||||
"content-length": "137",
|
||||
"content-type": "multipart/form-data; boundary=--boundary"
|
||||
},
|
||||
"params": { "path": "test" },
|
||||
"query": {},
|
||||
"body": {
|
||||
"a": ["b"]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,137 +0,0 @@
|
||||
import { NodeTestHarness } from '@nodes-testing/node-test-harness';
|
||||
import type { Request, Response } from 'express';
|
||||
import fs from 'fs/promises';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import type { IWebhookFunctions } from 'n8n-workflow';
|
||||
|
||||
import { Webhook } from '../Webhook.node';
|
||||
|
||||
jest.mock('fs/promises');
|
||||
const mockFs = jest.mocked(fs);
|
||||
|
||||
describe('Test Webhook Node', () => {
|
||||
new NodeTestHarness().setupTests();
|
||||
|
||||
describe('handleFormData', () => {
|
||||
const node = new Webhook();
|
||||
const context = mock<IWebhookFunctions>({
|
||||
nodeHelpers: mock(),
|
||||
});
|
||||
context.getNodeParameter.calledWith('options').mockReturnValue({});
|
||||
context.getNode.calledWith().mockReturnValue({
|
||||
type: 'n8n-nodes-base.webhook',
|
||||
typeVersion: 1.1,
|
||||
} as any);
|
||||
const req = mock<Request>();
|
||||
req.contentType = 'multipart/form-data';
|
||||
context.getRequestObject.mockReturnValue(req);
|
||||
|
||||
it('should handle when no files are present', async () => {
|
||||
req.body = {
|
||||
files: {},
|
||||
};
|
||||
const returnData = await node.webhook(context);
|
||||
expect(returnData.workflowData?.[0][0].binary).toBeUndefined();
|
||||
expect(context.nodeHelpers.copyBinaryFile).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should handle when files are present', async () => {
|
||||
req.body = {
|
||||
files: { file1: { filepath: '/tmp/test.txt' } },
|
||||
};
|
||||
const returnData = await node.webhook(context);
|
||||
expect(returnData.workflowData?.[0][0].binary).not.toBeUndefined();
|
||||
expect(context.nodeHelpers.copyBinaryFile).toHaveBeenCalled();
|
||||
expect(mockFs.rm).toHaveBeenCalledWith('/tmp/test.txt', { force: true });
|
||||
});
|
||||
});
|
||||
|
||||
describe('streaming response mode', () => {
|
||||
const node = new Webhook();
|
||||
const context = mock<IWebhookFunctions>({
|
||||
nodeHelpers: mock(),
|
||||
});
|
||||
const req = mock<Request>();
|
||||
const res = mock<Response>();
|
||||
|
||||
beforeEach(() => {
|
||||
jest.clearAllMocks();
|
||||
context.getRequestObject.mockReturnValue(req);
|
||||
context.getResponseObject.mockReturnValue(res);
|
||||
context.getChildNodes.mockReturnValue([]);
|
||||
context.getNode.mockReturnValue({
|
||||
type: 'n8n-nodes-base.webhook',
|
||||
typeVersion: 2,
|
||||
name: 'Webhook',
|
||||
} as any);
|
||||
context.getNodeParameter.mockImplementation((paramName: string) => {
|
||||
if (paramName === 'options') return {};
|
||||
if (paramName === 'responseMode') return 'streaming';
|
||||
return undefined;
|
||||
});
|
||||
req.headers = {};
|
||||
req.params = {};
|
||||
req.query = {};
|
||||
req.body = { message: 'test' };
|
||||
Object.defineProperty(req, 'ips', { value: [], configurable: true });
|
||||
Object.defineProperty(req, 'ip', { value: '127.0.0.1', configurable: true });
|
||||
res.writeHead.mockImplementation(() => res);
|
||||
res.flushHeaders.mockImplementation(() => undefined);
|
||||
});
|
||||
|
||||
it('should enable streaming when responseMode is "streaming"', async () => {
|
||||
const result = await node.webhook(context);
|
||||
|
||||
// Verify streaming headers are set
|
||||
expect(res.writeHead).toHaveBeenCalledWith(200, {
|
||||
'Content-Type': 'application/json; charset=utf-8',
|
||||
'Transfer-Encoding': 'chunked',
|
||||
'Cache-Control': 'no-cache',
|
||||
Connection: 'keep-alive',
|
||||
});
|
||||
expect(res.flushHeaders).toHaveBeenCalled();
|
||||
|
||||
// Verify response structure for streaming
|
||||
expect(result).toEqual({
|
||||
noWebhookResponse: true,
|
||||
workflowData: expect.any(Array),
|
||||
});
|
||||
});
|
||||
|
||||
it('should not enable streaming when responseMode is not "streaming"', async () => {
|
||||
context.getNodeParameter.mockImplementation((paramName: string) => {
|
||||
if (paramName === 'options') return {};
|
||||
if (paramName === 'responseMode') return 'onReceived';
|
||||
return undefined;
|
||||
});
|
||||
|
||||
const result = await node.webhook(context);
|
||||
|
||||
// Verify streaming headers are NOT set
|
||||
expect(res.writeHead).not.toHaveBeenCalled();
|
||||
expect(res.flushHeaders).not.toHaveBeenCalled();
|
||||
|
||||
// Verify normal response structure
|
||||
expect(result).toEqual({
|
||||
webhookResponse: undefined,
|
||||
workflowData: expect.any(Array),
|
||||
});
|
||||
});
|
||||
|
||||
it('should handle multipart form data with streaming enabled', async () => {
|
||||
req.contentType = 'multipart/form-data';
|
||||
req.body = {
|
||||
data: { message: 'Hello' },
|
||||
files: {},
|
||||
};
|
||||
|
||||
const result = await node.webhook(context);
|
||||
|
||||
// For multipart form data, streaming is handled in handleFormData method
|
||||
// The current implementation returns normal workflowData for form data
|
||||
expect(result).toEqual({
|
||||
workflowData: expect.any(Array),
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -1,474 +0,0 @@
|
||||
import jwt from 'jsonwebtoken';
|
||||
import { ApplicationError, type IWebhookFunctions } from 'n8n-workflow';
|
||||
|
||||
import type { WebhookParameters } from '../utils';
|
||||
import {
|
||||
checkResponseModeConfiguration,
|
||||
configuredOutputs,
|
||||
getResponseCode,
|
||||
getResponseData,
|
||||
isIpWhitelisted,
|
||||
setupOutputConnection,
|
||||
validateWebhookAuthentication,
|
||||
} from '../utils';
|
||||
|
||||
jest.mock('jsonwebtoken', () => ({
|
||||
verify: jest.fn(),
|
||||
}));
|
||||
|
||||
describe('Webhook Utils', () => {
|
||||
describe('getResponseCode', () => {
|
||||
it('should return the response code if it exists', () => {
|
||||
const parameters: WebhookParameters = {
|
||||
responseCode: 404,
|
||||
httpMethod: '',
|
||||
responseMode: '',
|
||||
responseData: '',
|
||||
};
|
||||
const responseCode = getResponseCode(parameters);
|
||||
expect(responseCode).toBe(404);
|
||||
});
|
||||
|
||||
it('should return the custom response code if it exists', () => {
|
||||
const parameters: WebhookParameters = {
|
||||
options: {
|
||||
responseCode: {
|
||||
values: {
|
||||
responseCode: 200,
|
||||
customCode: 201,
|
||||
},
|
||||
},
|
||||
},
|
||||
httpMethod: '',
|
||||
responseMode: '',
|
||||
responseData: '',
|
||||
};
|
||||
const responseCode = getResponseCode(parameters);
|
||||
expect(responseCode).toBe(201);
|
||||
});
|
||||
|
||||
it('should return the default response code if no response code is provided', () => {
|
||||
const parameters: WebhookParameters = {
|
||||
httpMethod: '',
|
||||
responseMode: '',
|
||||
responseData: '',
|
||||
};
|
||||
const responseCode = getResponseCode(parameters);
|
||||
expect(responseCode).toBe(200);
|
||||
});
|
||||
});
|
||||
|
||||
describe('getResponseData', () => {
|
||||
it('should return the response data if it exists', () => {
|
||||
const parameters: WebhookParameters = {
|
||||
responseData: 'Hello World',
|
||||
httpMethod: '',
|
||||
responseMode: '',
|
||||
};
|
||||
const responseData = getResponseData(parameters);
|
||||
expect(responseData).toBe('Hello World');
|
||||
});
|
||||
|
||||
it('should return the options response data if response mode is "onReceived"', () => {
|
||||
const parameters: WebhookParameters = {
|
||||
responseMode: 'onReceived',
|
||||
options: {
|
||||
responseData: 'Hello World',
|
||||
},
|
||||
httpMethod: '',
|
||||
responseData: '',
|
||||
};
|
||||
const responseData = getResponseData(parameters);
|
||||
expect(responseData).toBe('Hello World');
|
||||
});
|
||||
|
||||
it('should return "noData" if options noResponseBody is true', () => {
|
||||
const parameters: WebhookParameters = {
|
||||
responseMode: 'onReceived',
|
||||
options: {
|
||||
noResponseBody: true,
|
||||
},
|
||||
httpMethod: '',
|
||||
responseData: '',
|
||||
};
|
||||
const responseData = getResponseData(parameters);
|
||||
expect(responseData).toBe('noData');
|
||||
});
|
||||
|
||||
it('should return undefined if no response data is provided', () => {
|
||||
const parameters: WebhookParameters = {
|
||||
responseMode: 'onReceived',
|
||||
httpMethod: '',
|
||||
responseData: '',
|
||||
};
|
||||
const responseData = getResponseData(parameters);
|
||||
expect(responseData).toBeUndefined();
|
||||
});
|
||||
});
|
||||
|
||||
describe('configuredOutputs', () => {
|
||||
it('should return an array with a single output if httpMethod is not an array', () => {
|
||||
const parameters: WebhookParameters = {
|
||||
httpMethod: 'GET',
|
||||
responseMode: '',
|
||||
responseData: '',
|
||||
};
|
||||
const outputs = configuredOutputs(parameters);
|
||||
expect(outputs).toEqual([
|
||||
{
|
||||
type: 'main',
|
||||
displayName: 'GET',
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
it('should return an array of outputs if httpMethod is an array', () => {
|
||||
const parameters: WebhookParameters = {
|
||||
httpMethod: ['GET', 'POST'],
|
||||
responseMode: '',
|
||||
responseData: '',
|
||||
};
|
||||
const outputs = configuredOutputs(parameters);
|
||||
expect(outputs).toEqual([
|
||||
{
|
||||
type: 'main',
|
||||
displayName: 'GET',
|
||||
},
|
||||
{
|
||||
type: 'main',
|
||||
displayName: 'POST',
|
||||
},
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('setupOutputConnection', () => {
|
||||
it('should return a function that sets the webhookUrl and executionMode in the output data', () => {
|
||||
const ctx: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('GET'),
|
||||
getNodeWebhookUrl: jest.fn().mockReturnValue('https://example.com/webhook/'),
|
||||
getMode: jest.fn().mockReturnValue('manual'),
|
||||
};
|
||||
const method = 'GET';
|
||||
const additionalData = {
|
||||
jwtPayload: {
|
||||
userId: '123',
|
||||
},
|
||||
};
|
||||
const outputData = {
|
||||
json: {},
|
||||
};
|
||||
const setupOutput = setupOutputConnection(ctx as IWebhookFunctions, method, additionalData);
|
||||
const result = setupOutput(outputData);
|
||||
expect(result).toEqual([
|
||||
[
|
||||
{
|
||||
json: {
|
||||
webhookUrl: 'https://example.com/webhook-test/',
|
||||
executionMode: 'test',
|
||||
jwtPayload: { userId: '123' },
|
||||
},
|
||||
},
|
||||
],
|
||||
]);
|
||||
});
|
||||
|
||||
it('should return a function that sets the webhookUrl and executionMode in the output data for multiple methods', () => {
|
||||
const ctx: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue(['GET', 'POST']),
|
||||
getNodeWebhookUrl: jest.fn().mockReturnValue('https://example.com/webhook/'),
|
||||
getMode: jest.fn().mockReturnValue('manual'),
|
||||
};
|
||||
const method = 'POST';
|
||||
const additionalData = {
|
||||
jwtPayload: {
|
||||
userId: '123',
|
||||
},
|
||||
};
|
||||
const outputData = {
|
||||
json: {},
|
||||
};
|
||||
const setupOutput = setupOutputConnection(ctx as IWebhookFunctions, method, additionalData);
|
||||
const result = setupOutput(outputData);
|
||||
expect(result).toEqual([
|
||||
[],
|
||||
[
|
||||
{
|
||||
json: {
|
||||
webhookUrl: 'https://example.com/webhook-test/',
|
||||
executionMode: 'test',
|
||||
jwtPayload: { userId: '123' },
|
||||
},
|
||||
},
|
||||
],
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('isIpWhitelisted', () => {
|
||||
it('should return true if whitelist is undefined', () => {
|
||||
expect(isIpWhitelisted(undefined, ['192.168.1.1'], '192.168.1.1')).toBe(true);
|
||||
});
|
||||
|
||||
it('should return true if whitelist is an empty string', () => {
|
||||
expect(isIpWhitelisted('', ['192.168.1.1'], '192.168.1.1')).toBe(true);
|
||||
});
|
||||
|
||||
it('should return true if ip is in the whitelist', () => {
|
||||
expect(isIpWhitelisted('192.168.1.1', ['192.168.1.2'], '192.168.1.1')).toBe(true);
|
||||
});
|
||||
|
||||
it('should return true if any ip in ips is in the whitelist', () => {
|
||||
expect(isIpWhitelisted('192.168.1.1', ['192.168.1.1', '192.168.1.2'])).toBe(true);
|
||||
});
|
||||
|
||||
it('should return false if ip and ips are not in the whitelist', () => {
|
||||
expect(isIpWhitelisted('192.168.1.3', ['192.168.1.1', '192.168.1.2'], '192.168.1.4')).toBe(
|
||||
false,
|
||||
);
|
||||
});
|
||||
|
||||
it('should return true if any ip in ips matches any address in the whitelist array', () => {
|
||||
expect(isIpWhitelisted(['192.168.1.1', '192.168.1.2'], ['192.168.1.2', '192.168.1.3'])).toBe(
|
||||
true,
|
||||
);
|
||||
});
|
||||
|
||||
it('should return true if ip matches any address in the whitelist array', () => {
|
||||
expect(isIpWhitelisted(['192.168.1.1', '192.168.1.2'], ['192.168.1.3'], '192.168.1.2')).toBe(
|
||||
true,
|
||||
);
|
||||
});
|
||||
|
||||
it('should return false if ip and ips do not match any address in the whitelist array', () => {
|
||||
expect(
|
||||
isIpWhitelisted(
|
||||
['192.168.1.4', '192.168.1.5'],
|
||||
['192.168.1.1', '192.168.1.2'],
|
||||
'192.168.1.3',
|
||||
),
|
||||
).toBe(false);
|
||||
});
|
||||
|
||||
it('should handle comma-separated whitelist string', () => {
|
||||
expect(isIpWhitelisted('192.168.1.1, 192.168.1.2', ['192.168.1.3'], '192.168.1.2')).toBe(
|
||||
true,
|
||||
);
|
||||
});
|
||||
|
||||
it('should trim whitespace in comma-separated whitelist string', () => {
|
||||
expect(isIpWhitelisted(' 192.168.1.1 , 192.168.1.2 ', ['192.168.1.3'], '192.168.1.2')).toBe(
|
||||
true,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('checkResponseModeConfiguration', () => {
|
||||
it('should throw an error if response mode is "responseNode" but no Respond to Webhook node is found', () => {
|
||||
const context: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('responseNode'),
|
||||
getChildNodes: jest.fn().mockReturnValue([]),
|
||||
getNode: jest.fn().mockReturnValue({ name: 'Webhook' }),
|
||||
};
|
||||
expect(() => {
|
||||
checkResponseModeConfiguration(context as IWebhookFunctions);
|
||||
}).toThrowError('No Respond to Webhook node found in the workflow');
|
||||
});
|
||||
|
||||
it('should throw an error if response mode is not "responseNode" but a Respond to Webhook node is found', () => {
|
||||
const context: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('onReceived'),
|
||||
getChildNodes: jest.fn().mockReturnValue([{ type: 'n8n-nodes-base.respondToWebhook' }]),
|
||||
getNode: jest.fn().mockReturnValue({ name: 'Webhook' }),
|
||||
};
|
||||
expect(() => {
|
||||
checkResponseModeConfiguration(context as IWebhookFunctions);
|
||||
}).toThrowError('Webhook node not correctly configured');
|
||||
});
|
||||
});
|
||||
|
||||
describe('validateWebhookAuthentication', () => {
|
||||
it('should return early if authentication is "none"', async () => {
|
||||
const ctx: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('none'),
|
||||
};
|
||||
const authPropertyName = 'authentication';
|
||||
const result = await validateWebhookAuthentication(
|
||||
ctx as IWebhookFunctions,
|
||||
authPropertyName,
|
||||
);
|
||||
expect(result).toBeUndefined();
|
||||
});
|
||||
|
||||
it('should throw an error if basicAuth is enabled but no authentication data is defined on the node', async () => {
|
||||
const headers = {
|
||||
authorization: 'Basic some-token',
|
||||
};
|
||||
const ctx: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('basicAuth'),
|
||||
getCredentials: jest.fn().mockRejectedValue(new Error()),
|
||||
getRequestObject: jest.fn().mockReturnValue({
|
||||
headers,
|
||||
}),
|
||||
getHeaderData: jest.fn().mockReturnValue(headers),
|
||||
};
|
||||
const authPropertyName = 'authentication';
|
||||
await expect(
|
||||
validateWebhookAuthentication(ctx as IWebhookFunctions, authPropertyName),
|
||||
).rejects.toThrowError('No authentication data defined on node!');
|
||||
});
|
||||
|
||||
it('should throw an error if basicAuth is enabled but the provided authentication data is wrong', async () => {
|
||||
const headers = {
|
||||
authorization: 'Basic some-token',
|
||||
};
|
||||
const ctx: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('basicAuth'),
|
||||
getCredentials: jest.fn().mockResolvedValue({
|
||||
user: 'admin',
|
||||
password: 'password',
|
||||
}),
|
||||
getRequestObject: jest.fn().mockReturnValue({
|
||||
headers,
|
||||
}),
|
||||
getHeaderData: jest.fn().mockReturnValue(headers),
|
||||
};
|
||||
const authPropertyName = 'authentication';
|
||||
await expect(
|
||||
validateWebhookAuthentication(ctx as IWebhookFunctions, authPropertyName),
|
||||
).rejects.toThrowError('Authorization is required!');
|
||||
});
|
||||
|
||||
it('should throw an error if headerAuth is enabled but no authentication data is defined on the node', async () => {
|
||||
const ctx: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('headerAuth'),
|
||||
getCredentials: jest
|
||||
.fn()
|
||||
.mockRejectedValue(new Error('No authentication data defined on node!')),
|
||||
getRequestObject: jest.fn().mockReturnValue({
|
||||
headers: {},
|
||||
}),
|
||||
getHeaderData: jest.fn().mockReturnValue({}),
|
||||
};
|
||||
const authPropertyName = 'authentication';
|
||||
await expect(
|
||||
validateWebhookAuthentication(ctx as IWebhookFunctions, authPropertyName),
|
||||
).rejects.toThrowError('No authentication data defined on node!');
|
||||
});
|
||||
|
||||
it('should throw an error if headerAuth is enabled but the provided authentication data is wrong', async () => {
|
||||
const headers = {
|
||||
authorization: 'Bearer invalid-token',
|
||||
};
|
||||
const ctx: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('headerAuth'),
|
||||
getCredentials: jest.fn().mockResolvedValue({
|
||||
name: 'Authorization',
|
||||
value: 'Bearer token',
|
||||
}),
|
||||
getRequestObject: jest.fn().mockReturnValue({
|
||||
headers,
|
||||
}),
|
||||
getHeaderData: jest.fn().mockReturnValue(headers),
|
||||
};
|
||||
const authPropertyName = 'authentication';
|
||||
await expect(
|
||||
validateWebhookAuthentication(ctx as IWebhookFunctions, authPropertyName),
|
||||
).rejects.toThrowError('Authorization data is wrong!');
|
||||
});
|
||||
|
||||
it('should throw an error if jwtAuth is enabled but no authentication data is defined on the node', async () => {
|
||||
const ctx: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('jwtAuth'),
|
||||
getCredentials: jest
|
||||
.fn()
|
||||
.mockRejectedValue(new Error('No authentication data defined on node!')),
|
||||
getRequestObject: jest.fn().mockReturnValue({}),
|
||||
getHeaderData: jest.fn().mockReturnValue({}),
|
||||
};
|
||||
const authPropertyName = 'authentication';
|
||||
await expect(
|
||||
validateWebhookAuthentication(ctx as IWebhookFunctions, authPropertyName),
|
||||
).rejects.toThrowError('No authentication data defined on node!');
|
||||
});
|
||||
|
||||
it('should throw an error if jwtAuth is enabled but no token is provided', async () => {
|
||||
const ctx: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('jwtAuth'),
|
||||
getCredentials: jest.fn().mockResolvedValue({
|
||||
keyType: 'passphrase',
|
||||
publicKey: '',
|
||||
secret: 'secret',
|
||||
algorithm: 'HS256',
|
||||
}),
|
||||
getRequestObject: jest.fn().mockReturnValue({
|
||||
headers: {},
|
||||
}),
|
||||
getHeaderData: jest.fn().mockReturnValue({}),
|
||||
};
|
||||
const authPropertyName = 'authentication';
|
||||
await expect(
|
||||
validateWebhookAuthentication(ctx as IWebhookFunctions, authPropertyName),
|
||||
).rejects.toThrowError('No token provided');
|
||||
});
|
||||
|
||||
it('should throw an error if jwtAuth is enabled but the provided token is invalid', async () => {
|
||||
const headers = {
|
||||
authorization: 'Bearer invalid-token',
|
||||
};
|
||||
const ctx: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('jwtAuth'),
|
||||
getCredentials: jest.fn().mockResolvedValue({
|
||||
keyType: 'passphrase',
|
||||
publicKey: '',
|
||||
secret: 'secret',
|
||||
algorithm: 'HS256',
|
||||
}),
|
||||
getRequestObject: jest.fn().mockReturnValue({
|
||||
headers,
|
||||
}),
|
||||
getHeaderData: jest.fn().mockReturnValue(headers),
|
||||
};
|
||||
(jwt.verify as jest.Mock).mockImplementationOnce(() => {
|
||||
throw new ApplicationError('jwt malformed');
|
||||
});
|
||||
const authPropertyName = 'authentication';
|
||||
await expect(
|
||||
validateWebhookAuthentication(ctx as IWebhookFunctions, authPropertyName),
|
||||
).rejects.toThrowError('jwt malformed');
|
||||
});
|
||||
|
||||
it('should return the decoded JWT payload if jwtAuth is enabled and the token is valid', async () => {
|
||||
const decodedPayload = {
|
||||
sub: '1234567890',
|
||||
name: 'John Doe',
|
||||
iat: 1516239022,
|
||||
};
|
||||
(jwt.verify as jest.Mock).mockReturnValue(decodedPayload);
|
||||
const headers = {
|
||||
authorization:
|
||||
'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c',
|
||||
};
|
||||
const ctx: Partial<IWebhookFunctions> = {
|
||||
getNodeParameter: jest.fn().mockReturnValue('jwtAuth'),
|
||||
getCredentials: jest.fn().mockResolvedValue({
|
||||
keyType: 'passphrase',
|
||||
publicKey: '',
|
||||
secret: 'secret',
|
||||
algorithm: 'HS256',
|
||||
}),
|
||||
getRequestObject: jest.fn().mockReturnValue({
|
||||
headers,
|
||||
}),
|
||||
getHeaderData: jest.fn().mockReturnValue(headers),
|
||||
};
|
||||
const authPropertyName = 'authentication';
|
||||
|
||||
const result = await validateWebhookAuthentication(
|
||||
ctx as IWebhookFunctions,
|
||||
authPropertyName,
|
||||
);
|
||||
expect(result).toEqual(decodedPayload);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -1,60 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"active": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"balances": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"amount": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"currency": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"balanceType": {
|
||||
"type": "string"
|
||||
},
|
||||
"currency": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"reservedAmount": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"currency": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"creationTime": {
|
||||
"type": "string"
|
||||
},
|
||||
"eligible": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"modificationTime": {
|
||||
"type": "string"
|
||||
},
|
||||
"profileId": {
|
||||
"type": "integer"
|
||||
},
|
||||
"recipientId": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"rate": {
|
||||
"type": "number"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"target": {
|
||||
"type": "string"
|
||||
},
|
||||
"time": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
@@ -1,225 +0,0 @@
|
||||
import type { INodeProperties } from 'n8n-workflow';
|
||||
|
||||
import { customerCreateFields, customerUpdateFields } from './shared';
|
||||
|
||||
export const customerOperations: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Operation',
|
||||
name: 'operation',
|
||||
type: 'options',
|
||||
noDataExpression: true,
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['customer'],
|
||||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
name: 'Create',
|
||||
value: 'create',
|
||||
description: 'Create a customer',
|
||||
action: 'Create a customer',
|
||||
},
|
||||
{
|
||||
name: 'Delete',
|
||||
value: 'delete',
|
||||
description: 'Delete a customer',
|
||||
action: 'Delete a customer',
|
||||
},
|
||||
{
|
||||
name: 'Get',
|
||||
value: 'get',
|
||||
description: 'Retrieve a customer',
|
||||
action: 'Get a customer',
|
||||
},
|
||||
{
|
||||
name: 'Get Many',
|
||||
value: 'getAll',
|
||||
description: 'Retrieve many customers',
|
||||
action: 'Get many customers',
|
||||
},
|
||||
{
|
||||
name: 'Update',
|
||||
value: 'update',
|
||||
description: 'Update a customer',
|
||||
action: 'Update a customer',
|
||||
},
|
||||
],
|
||||
default: 'create',
|
||||
},
|
||||
];
|
||||
|
||||
export const customerFields: INodeProperties[] = [
|
||||
// ----------------------------------------
|
||||
// customer: create
|
||||
// ----------------------------------------
|
||||
{
|
||||
displayName: 'Email',
|
||||
name: 'email',
|
||||
type: 'string',
|
||||
placeholder: 'name@email.com',
|
||||
required: true,
|
||||
default: '',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['customer'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
},
|
||||
customerCreateFields,
|
||||
|
||||
// ----------------------------------------
|
||||
// customer: delete
|
||||
// ----------------------------------------
|
||||
{
|
||||
displayName: 'Customer ID',
|
||||
name: 'customerId',
|
||||
description: 'ID of the customer to delete',
|
||||
type: 'string',
|
||||
required: true,
|
||||
default: '',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['customer'],
|
||||
operation: ['delete'],
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
// ----------------------------------------
|
||||
// customer: get
|
||||
// ----------------------------------------
|
||||
{
|
||||
displayName: 'Customer ID',
|
||||
name: 'customerId',
|
||||
description: 'ID of the customer to retrieve',
|
||||
type: 'string',
|
||||
required: true,
|
||||
default: '',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['customer'],
|
||||
operation: ['get'],
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
// ----------------------------------------
|
||||
// customer: 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: ['customer'],
|
||||
operation: ['getAll'],
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
displayName: 'Limit',
|
||||
name: 'limit',
|
||||
type: 'number',
|
||||
default: 50,
|
||||
description: 'Max number of results to return',
|
||||
typeOptions: {
|
||||
minValue: 1,
|
||||
},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['customer'],
|
||||
operation: ['getAll'],
|
||||
returnAll: [false],
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
displayName: 'Filters',
|
||||
name: 'filters',
|
||||
type: 'collection',
|
||||
placeholder: 'Add Filter',
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['customer'],
|
||||
operation: ['getAll'],
|
||||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
displayName: 'Email',
|
||||
name: 'email',
|
||||
type: 'string',
|
||||
placeholder: 'name@email.com',
|
||||
default: '',
|
||||
description: 'Email address to filter customers by',
|
||||
},
|
||||
{
|
||||
displayName: 'Sort Order',
|
||||
name: 'order',
|
||||
description: 'Order to sort customers in',
|
||||
type: 'options',
|
||||
options: [
|
||||
{
|
||||
name: 'Ascending',
|
||||
value: 'asc',
|
||||
},
|
||||
{
|
||||
name: 'Descending',
|
||||
value: 'desc',
|
||||
},
|
||||
],
|
||||
default: 'asc',
|
||||
},
|
||||
{
|
||||
displayName: 'Order By',
|
||||
name: 'orderby',
|
||||
description: 'Field to sort customers by',
|
||||
type: 'options',
|
||||
options: [
|
||||
{
|
||||
name: 'ID',
|
||||
value: 'id',
|
||||
},
|
||||
{
|
||||
name: 'Include',
|
||||
value: 'include',
|
||||
},
|
||||
{
|
||||
name: 'Name',
|
||||
value: 'name',
|
||||
},
|
||||
{
|
||||
name: 'Registered Date',
|
||||
value: 'registered_date',
|
||||
},
|
||||
],
|
||||
default: 'id',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
// ----------------------------------------
|
||||
// customer: update
|
||||
// ----------------------------------------
|
||||
{
|
||||
displayName: 'Customer ID',
|
||||
name: 'customerId',
|
||||
description: 'ID of the customer to update',
|
||||
type: 'string',
|
||||
required: true,
|
||||
default: '',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['customer'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
},
|
||||
customerUpdateFields,
|
||||
];
|
||||
@@ -1 +0,0 @@
|
||||
export * from './CustomerDescription';
|
||||
@@ -1,185 +0,0 @@
|
||||
import type { INodeProperties } from 'n8n-workflow';
|
||||
|
||||
const customerAddressOptions: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'First Name',
|
||||
name: 'first_name',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Last Name',
|
||||
name: 'last_name',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Company',
|
||||
name: 'company',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Address 1',
|
||||
name: 'address_1',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Address 2',
|
||||
name: 'address_2',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'City',
|
||||
name: 'city',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'State',
|
||||
name: 'state',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Postcode',
|
||||
name: 'postcode',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Country',
|
||||
name: 'country',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Email',
|
||||
name: 'email',
|
||||
type: 'string',
|
||||
placeholder: 'name@email.com',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Phone',
|
||||
name: 'phone',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
];
|
||||
|
||||
const customerUpdateOptions: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Billing Address',
|
||||
name: 'billing',
|
||||
type: 'collection',
|
||||
default: {},
|
||||
placeholder: 'Add Field',
|
||||
options: customerAddressOptions,
|
||||
},
|
||||
{
|
||||
displayName: 'First Name',
|
||||
name: 'first_name',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Last Name',
|
||||
name: 'last_name',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Metadata',
|
||||
name: 'meta_data',
|
||||
type: 'fixedCollection',
|
||||
typeOptions: {
|
||||
multipleValues: true,
|
||||
},
|
||||
default: {},
|
||||
placeholder: 'Add Metadata Field',
|
||||
options: [
|
||||
{
|
||||
displayName: 'Metadata Fields',
|
||||
name: 'meta_data_fields',
|
||||
values: [
|
||||
{
|
||||
displayName: 'Key',
|
||||
name: 'key',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Value',
|
||||
name: 'value',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
displayName: 'Password',
|
||||
name: 'password',
|
||||
type: 'string',
|
||||
typeOptions: { password: true },
|
||||
displayOptions: {
|
||||
show: {
|
||||
'/resource': ['customer'],
|
||||
'/operation': ['create'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
},
|
||||
{
|
||||
displayName: 'Shipping Address',
|
||||
name: 'shipping',
|
||||
type: 'collection',
|
||||
default: {},
|
||||
placeholder: 'Add Field',
|
||||
options: customerAddressOptions,
|
||||
},
|
||||
];
|
||||
|
||||
const customerCreateOptions: INodeProperties[] = [
|
||||
...customerUpdateOptions,
|
||||
{
|
||||
displayName: 'Username',
|
||||
name: 'username',
|
||||
type: 'string',
|
||||
default: '',
|
||||
},
|
||||
];
|
||||
|
||||
export const customerCreateFields: INodeProperties = {
|
||||
displayName: 'Additional Fields',
|
||||
name: 'additionalFields',
|
||||
type: 'collection',
|
||||
placeholder: 'Add Field',
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['customer'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
options: customerCreateOptions,
|
||||
};
|
||||
|
||||
export const customerUpdateFields: INodeProperties = {
|
||||
displayName: 'Update Fields',
|
||||
name: 'updateFields',
|
||||
type: 'collection',
|
||||
placeholder: 'Add Field',
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['customer'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
options: customerUpdateOptions,
|
||||
};
|
||||
@@ -1,76 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Addresses": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"AddressType": {
|
||||
"type": "string"
|
||||
},
|
||||
"City": {
|
||||
"type": "string"
|
||||
},
|
||||
"Country": {
|
||||
"type": "string"
|
||||
},
|
||||
"PostalCode": {
|
||||
"type": "string"
|
||||
},
|
||||
"Region": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BankAccountDetails": {
|
||||
"type": "string"
|
||||
},
|
||||
"ContactID": {
|
||||
"type": "string"
|
||||
},
|
||||
"ContactStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"EmailAddress": {
|
||||
"type": "string"
|
||||
},
|
||||
"HasValidationErrors": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"IsCustomer": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"IsSupplier": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Phones": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"PhoneAreaCode": {
|
||||
"type": "string"
|
||||
},
|
||||
"PhoneCountryCode": {
|
||||
"type": "string"
|
||||
},
|
||||
"PhoneNumber": {
|
||||
"type": "string"
|
||||
},
|
||||
"PhoneType": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"UpdatedDateUTC": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,122 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Addresses": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"AddressLine1": {
|
||||
"type": "string"
|
||||
},
|
||||
"AddressType": {
|
||||
"type": "string"
|
||||
},
|
||||
"City": {
|
||||
"type": "string"
|
||||
},
|
||||
"Country": {
|
||||
"type": "string"
|
||||
},
|
||||
"PostalCode": {
|
||||
"type": "string"
|
||||
},
|
||||
"Region": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BankAccountDetails": {
|
||||
"type": "string"
|
||||
},
|
||||
"ContactGroups": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ContactGroupID": {
|
||||
"type": "string"
|
||||
},
|
||||
"HasValidationErrors": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Status": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ContactID": {
|
||||
"type": "string"
|
||||
},
|
||||
"ContactPersons": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"EmailAddress": {
|
||||
"type": "string"
|
||||
},
|
||||
"FirstName": {
|
||||
"type": "string"
|
||||
},
|
||||
"IncludeInEmails": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"LastName": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ContactStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"EmailAddress": {
|
||||
"type": "string"
|
||||
},
|
||||
"HasAttachments": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"HasValidationErrors": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"IsCustomer": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"IsSupplier": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Phones": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"PhoneAreaCode": {
|
||||
"type": "string"
|
||||
},
|
||||
"PhoneCountryCode": {
|
||||
"type": "string"
|
||||
},
|
||||
"PhoneNumber": {
|
||||
"type": "string"
|
||||
},
|
||||
"PhoneType": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"UpdatedDateUTC": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,79 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Addresses": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"AddressType": {
|
||||
"type": "string"
|
||||
},
|
||||
"City": {
|
||||
"type": "string"
|
||||
},
|
||||
"Country": {
|
||||
"type": "string"
|
||||
},
|
||||
"PostalCode": {
|
||||
"type": "string"
|
||||
},
|
||||
"Region": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BankAccountDetails": {
|
||||
"type": "string"
|
||||
},
|
||||
"ContactID": {
|
||||
"type": "string"
|
||||
},
|
||||
"ContactStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"EmailAddress": {
|
||||
"type": "string"
|
||||
},
|
||||
"HasAttachments": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"HasValidationErrors": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"IsCustomer": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"IsSupplier": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Phones": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"PhoneAreaCode": {
|
||||
"type": "string"
|
||||
},
|
||||
"PhoneCountryCode": {
|
||||
"type": "string"
|
||||
},
|
||||
"PhoneNumber": {
|
||||
"type": "string"
|
||||
},
|
||||
"PhoneType": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"UpdatedDateUTC": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
@@ -1,147 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$approval": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"delegate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"takeover": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$approval_state": {
|
||||
"type": "string"
|
||||
},
|
||||
"$approved": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$currency_symbol": {
|
||||
"type": "string"
|
||||
},
|
||||
"$editable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$field_states": {
|
||||
"type": "null"
|
||||
},
|
||||
"$in_merge": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$is_duplicate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$layout_id": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$locked_for_me": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$process_flow": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$review": {
|
||||
"type": "null"
|
||||
},
|
||||
"$review_process": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$state": {
|
||||
"type": "string"
|
||||
},
|
||||
"Account_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Account_Number": {
|
||||
"type": "string"
|
||||
},
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Locked__s": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"Owner": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Parent_Account": {
|
||||
"type": "null"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,124 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$approval": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"delegate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"takeover": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$approval_state": {
|
||||
"type": "string"
|
||||
},
|
||||
"$approved": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$currency_symbol": {
|
||||
"type": "string"
|
||||
},
|
||||
"$editable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$field_states": {
|
||||
"type": "null"
|
||||
},
|
||||
"$in_merge": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$is_duplicate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$layout_id": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$locked_for_me": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$process_flow": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$review": {
|
||||
"type": "null"
|
||||
},
|
||||
"$review_process": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$state": {
|
||||
"type": "string"
|
||||
},
|
||||
"Account_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Account_Number": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Locked__s": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Owner": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Tag": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,194 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$approval": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"delegate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"takeover": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$approval_state": {
|
||||
"type": "string"
|
||||
},
|
||||
"$approved": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$currency_symbol": {
|
||||
"type": "string"
|
||||
},
|
||||
"$editable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$field_states": {
|
||||
"type": "null"
|
||||
},
|
||||
"$in_merge": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$is_duplicate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$layout_id": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$locked_for_me": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$process_flow": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$review": {
|
||||
"type": "null"
|
||||
},
|
||||
"$review_process": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$state": {
|
||||
"type": "string"
|
||||
},
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"Email_Opt_Out": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Fax": {
|
||||
"type": "null"
|
||||
},
|
||||
"Full_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Home_Phone": {
|
||||
"type": "null"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Last_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Locked__s": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"Other_City": {
|
||||
"type": "null"
|
||||
},
|
||||
"Other_Country": {
|
||||
"type": "null"
|
||||
},
|
||||
"Other_State": {
|
||||
"type": "null"
|
||||
},
|
||||
"Other_Street": {
|
||||
"type": "null"
|
||||
},
|
||||
"Other_Zip": {
|
||||
"type": "null"
|
||||
},
|
||||
"Owner": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Reporting_To": {
|
||||
"type": "null"
|
||||
},
|
||||
"Tag": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Unsubscribed_Mode": {
|
||||
"type": "null"
|
||||
},
|
||||
"Unsubscribed_Time": {
|
||||
"type": "null"
|
||||
},
|
||||
"Vendor_Name": {
|
||||
"type": "null"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,165 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$approval": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"delegate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"takeover": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$approval_state": {
|
||||
"type": "string"
|
||||
},
|
||||
"$approved": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$currency_symbol": {
|
||||
"type": "string"
|
||||
},
|
||||
"$editable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$field_states": {
|
||||
"type": "null"
|
||||
},
|
||||
"$in_merge": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$is_duplicate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$layout_id": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"display_label": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$locked_for_me": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$process_flow": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$review": {
|
||||
"type": "null"
|
||||
},
|
||||
"$review_process": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$state": {
|
||||
"type": "string"
|
||||
},
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"Email_Opt_Out": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Full_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Home_Phone": {
|
||||
"type": "null"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Last_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Locked__s": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"Other_Phone": {
|
||||
"type": "null"
|
||||
},
|
||||
"Owner": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Unsubscribed_Mode": {
|
||||
"type": "null"
|
||||
},
|
||||
"Unsubscribed_Time": {
|
||||
"type": "null"
|
||||
},
|
||||
"Vendor_Name": {
|
||||
"type": "null"
|
||||
}
|
||||
},
|
||||
"version": 6
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,169 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$approval": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"delegate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"takeover": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$approval_state": {
|
||||
"type": "string"
|
||||
},
|
||||
"$approved": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$canvas_id": {
|
||||
"type": "null"
|
||||
},
|
||||
"$currency_symbol": {
|
||||
"type": "string"
|
||||
},
|
||||
"$editable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$field_states": {
|
||||
"type": "null"
|
||||
},
|
||||
"$in_merge": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$locked_for_me": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$process_flow": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$review": {
|
||||
"type": "null"
|
||||
},
|
||||
"$review_process": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$state": {
|
||||
"type": "string"
|
||||
},
|
||||
"Account_Name": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Contact_Name": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"Deal_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Locked__s": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"Owner": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Probability": {
|
||||
"type": "integer"
|
||||
},
|
||||
"Tag": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,169 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$approval": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"delegate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"takeover": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$approval_state": {
|
||||
"type": "string"
|
||||
},
|
||||
"$approved": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$currency_symbol": {
|
||||
"type": "string"
|
||||
},
|
||||
"$editable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$field_states": {
|
||||
"type": "null"
|
||||
},
|
||||
"$in_merge": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$layout_id": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"display_label": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$locked_for_me": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$process_flow": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$review": {
|
||||
"type": "null"
|
||||
},
|
||||
"$review_process": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$state": {
|
||||
"type": "string"
|
||||
},
|
||||
"Account_Name": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"Deal_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Locked__s": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"Owner": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Probability": {
|
||||
"type": "integer"
|
||||
},
|
||||
"Tag": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,179 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"data": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$approval": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"delegate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"takeover": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$approval_state": {
|
||||
"type": "string"
|
||||
},
|
||||
"$approved": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$converted": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$currency_symbol": {
|
||||
"type": "string"
|
||||
},
|
||||
"$editable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$field_states": {
|
||||
"type": "null"
|
||||
},
|
||||
"$in_merge": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$locked_for_me": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$process_flow": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$review": {
|
||||
"type": "null"
|
||||
},
|
||||
"$review_process": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$state": {
|
||||
"type": "string"
|
||||
},
|
||||
"$zia_owner_assignment": {
|
||||
"type": "string"
|
||||
},
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"Email_Opt_Out": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Fax": {
|
||||
"type": "null"
|
||||
},
|
||||
"Full_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Last_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Locked__s": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"No_of_Employees": {
|
||||
"type": "null"
|
||||
},
|
||||
"Owner": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Rating": {
|
||||
"type": "null"
|
||||
},
|
||||
"Secondary_Email": {
|
||||
"type": "null"
|
||||
},
|
||||
"Tag": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Unsubscribed_Mode": {
|
||||
"type": "null"
|
||||
},
|
||||
"Unsubscribed_Time": {
|
||||
"type": "null"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,139 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$approval": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"delegate": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"takeover": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$approval_state": {
|
||||
"type": "string"
|
||||
},
|
||||
"$approved": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$converted": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$currency_symbol": {
|
||||
"type": "string"
|
||||
},
|
||||
"$editable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$field_states": {
|
||||
"type": "null"
|
||||
},
|
||||
"$in_merge": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$layout_id": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"display_label": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$locked_for_me": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$process_flow": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"$review": {
|
||||
"type": "null"
|
||||
},
|
||||
"$review_process": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"approve": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reject": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"resubmit": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$state": {
|
||||
"type": "string"
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"Email_Opt_Out": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Full_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Last_Name": {
|
||||
"type": "string"
|
||||
},
|
||||
"Locked__s": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Owner": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Tag": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Unsubscribed_Mode": {
|
||||
"type": "null"
|
||||
},
|
||||
"Unsubscribed_Time": {
|
||||
"type": "null"
|
||||
}
|
||||
},
|
||||
"version": 5
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"api_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"association_details": {
|
||||
"type": "null"
|
||||
},
|
||||
"businesscard_supported": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"convert_mapping": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Deals": {
|
||||
"type": "null"
|
||||
}
|
||||
}
|
||||
},
|
||||
"created_source": {
|
||||
"type": "string"
|
||||
},
|
||||
"crypt": {
|
||||
"type": "null"
|
||||
},
|
||||
"custom_field": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"data_type": {
|
||||
"type": "string"
|
||||
},
|
||||
"decimal_place": {
|
||||
"type": "null"
|
||||
},
|
||||
"display_label": {
|
||||
"type": "string"
|
||||
},
|
||||
"external": {
|
||||
"type": "null"
|
||||
},
|
||||
"field_label": {
|
||||
"type": "string"
|
||||
},
|
||||
"field_read_only": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"history_tracking": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"json_type": {
|
||||
"type": "string"
|
||||
},
|
||||
"length": {
|
||||
"type": "integer"
|
||||
},
|
||||
"mass_update": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"pick_list_values": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"actual_value": {
|
||||
"type": "string"
|
||||
},
|
||||
"display_value": {
|
||||
"type": "string"
|
||||
},
|
||||
"reference_value": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"quick_sequence_number": {
|
||||
"type": "string"
|
||||
},
|
||||
"read_only": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subform": {
|
||||
"type": "null"
|
||||
},
|
||||
"system_mandatory": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"ui_type": {
|
||||
"type": "integer"
|
||||
},
|
||||
"view_type": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"create": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"edit": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"quick_create": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"view": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"visible": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"webhook": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Created_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Created_Time": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"Modified_By": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Modified_Time": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,223 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"type": "string"
|
||||
},
|
||||
"creation_source": {
|
||||
"type": "string"
|
||||
},
|
||||
"duration": {
|
||||
"type": "integer"
|
||||
},
|
||||
"encrypted_password": {
|
||||
"type": "string"
|
||||
},
|
||||
"h323_password": {
|
||||
"type": "string"
|
||||
},
|
||||
"host_email": {
|
||||
"type": "string"
|
||||
},
|
||||
"host_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"join_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
},
|
||||
"pre_schedule": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"pstn_password": {
|
||||
"type": "string"
|
||||
},
|
||||
"settings": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"allow_host_control_participant_mute_state": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"allow_multiple_devices": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"alternative_host_update_polls": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"alternative_hosts": {
|
||||
"type": "string"
|
||||
},
|
||||
"alternative_hosts_email_notification": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"approval_type": {
|
||||
"type": "integer"
|
||||
},
|
||||
"approved_or_denied_countries_or_regions": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"audio": {
|
||||
"type": "string"
|
||||
},
|
||||
"auto_recording": {
|
||||
"type": "string"
|
||||
},
|
||||
"breakout_room": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"close_registration": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"cn_meeting": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"continuous_meeting_chat": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"auto_add_invited_external_users": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"auto_add_meeting_participants": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"channel_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"enable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"device_testing": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"email_in_attendee_report": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"email_notification": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"encryption_type": {
|
||||
"type": "string"
|
||||
},
|
||||
"enforce_login": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"enforce_login_domains": {
|
||||
"type": "string"
|
||||
},
|
||||
"focus_mode": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"host_save_video_order": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"host_video": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"in_meeting": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"internal_meeting": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"jbh_time": {
|
||||
"type": "integer"
|
||||
},
|
||||
"join_before_host": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"meeting_authentication": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"mute_upon_entry": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"participant_focused_meeting": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"participant_video": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"private_meeting": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"push_change_to_calendar": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"registrants_confirmation_email": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"registrants_email_notification": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"request_permission_to_unmute_participants": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"show_join_info": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"show_share_button": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"sign_language_interpretation": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"use_pmi": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"waiting_room": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"watermark": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"start_time": {
|
||||
"type": "string"
|
||||
},
|
||||
"start_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"supportGoLive": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"timezone": {
|
||||
"type": "string"
|
||||
},
|
||||
"topic": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "integer"
|
||||
},
|
||||
"uuid": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,254 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"agenda": {
|
||||
"type": "string"
|
||||
},
|
||||
"assistant_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string"
|
||||
},
|
||||
"duration": {
|
||||
"type": "integer"
|
||||
},
|
||||
"host_email": {
|
||||
"type": "string"
|
||||
},
|
||||
"host_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"join_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"pre_schedule": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"settings": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"allow_multiple_devices": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"alternative_host_update_polls": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"alternative_hosts": {
|
||||
"type": "string"
|
||||
},
|
||||
"alternative_hosts_email_notification": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"approval_type": {
|
||||
"type": "integer"
|
||||
},
|
||||
"approved_or_denied_countries_or_regions": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"audio": {
|
||||
"type": "string"
|
||||
},
|
||||
"auto_recording": {
|
||||
"type": "string"
|
||||
},
|
||||
"auto_start_ai_companion_questions": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"auto_start_meeting_summary": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"breakout_room": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"close_registration": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"cn_meeting": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"continuous_meeting_chat": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"auto_add_invited_external_users": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"channel_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"enable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"device_testing": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"email_in_attendee_report": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"email_notification": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"enable_dedicated_group_chat": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"encryption_type": {
|
||||
"type": "string"
|
||||
},
|
||||
"enforce_login": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"enforce_login_domains": {
|
||||
"type": "string"
|
||||
},
|
||||
"focus_mode": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"global_dial_in_countries": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"global_dial_in_numbers": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"city": {
|
||||
"type": "string"
|
||||
},
|
||||
"country": {
|
||||
"type": "string"
|
||||
},
|
||||
"country_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"number": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"host_save_video_order": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"host_video": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"in_meeting": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"internal_meeting": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"jbh_time": {
|
||||
"type": "integer"
|
||||
},
|
||||
"join_before_host": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"meeting_authentication": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"meeting_invitees": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"mute_upon_entry": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"participant_focused_meeting": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"participant_video": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"private_meeting": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"push_change_to_calendar": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"registrants_confirmation_email": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"registrants_email_notification": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"request_permission_to_unmute_participants": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"show_join_info": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"show_share_button": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"sign_language_interpretation": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enable": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"use_pmi": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"waiting_room": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"watermark": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"start_time": {
|
||||
"type": "string"
|
||||
},
|
||||
"start_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"timezone": {
|
||||
"type": "string"
|
||||
},
|
||||
"topic": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "integer"
|
||||
},
|
||||
"uuid": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"type": "string"
|
||||
},
|
||||
"duration": {
|
||||
"type": "integer"
|
||||
},
|
||||
"host_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"join_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"start_time": {
|
||||
"type": "string"
|
||||
},
|
||||
"timezone": {
|
||||
"type": "string"
|
||||
},
|
||||
"topic": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "integer"
|
||||
},
|
||||
"uuid": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
954
n8n-n8n-1.109.2/packages/nodes-base/package 2.json
Executable file
954
n8n-n8n-1.109.2/packages/nodes-base/package 2.json
Executable file
@@ -0,0 +1,954 @@
|
||||
{
|
||||
"name": "n8n-nodes-base",
|
||||
"version": "1.107.0",
|
||||
"description": "Base nodes of n8n",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"clean": "rimraf dist .turbo",
|
||||
"copy-nodes-json": "node scripts/copy-nodes-json.js .",
|
||||
"dev": "pnpm watch",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"build": "tsc --build tsconfig.build.cjs.json && pnpm copy-nodes-json && tsc-alias -p tsconfig.build.cjs.json && pnpm n8n-copy-static-files && pnpm n8n-generate-translations && pnpm n8n-generate-metadata",
|
||||
"format": "biome format --write .",
|
||||
"format:check": "biome ci .",
|
||||
"lint": "eslint nodes credentials utils test --quiet && node ./scripts/validate-load-options-methods.js",
|
||||
"lint:fix": "eslint nodes credentials utils test --fix",
|
||||
"watch": "tsc-watch -p tsconfig.build.cjs.json --onCompilationComplete \"pnpm copy-nodes-json && tsc-alias -p tsconfig.build.cjs.json\" --onSuccess \"pnpm n8n-generate-metadata\"",
|
||||
"test": "jest",
|
||||
"test:dev": "jest --watch"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"n8n": {
|
||||
"credentials": [
|
||||
"dist/credentials/ActionNetworkApi.credentials.js",
|
||||
"dist/credentials/ActiveCampaignApi.credentials.js",
|
||||
"dist/credentials/AcuitySchedulingApi.credentials.js",
|
||||
"dist/credentials/AcuitySchedulingOAuth2Api.credentials.js",
|
||||
"dist/credentials/AdaloApi.credentials.js",
|
||||
"dist/credentials/AffinityApi.credentials.js",
|
||||
"dist/credentials/AgileCrmApi.credentials.js",
|
||||
"dist/credentials/AirtableApi.credentials.js",
|
||||
"dist/credentials/AirtableOAuth2Api.credentials.js",
|
||||
"dist/credentials/AirtableTokenApi.credentials.js",
|
||||
"dist/credentials/AirtopApi.credentials.js",
|
||||
"dist/credentials/AlienVaultApi.credentials.js",
|
||||
"dist/credentials/Amqp.credentials.js",
|
||||
"dist/credentials/ApiTemplateIoApi.credentials.js",
|
||||
"dist/credentials/AsanaApi.credentials.js",
|
||||
"dist/credentials/AsanaOAuth2Api.credentials.js",
|
||||
"dist/credentials/Auth0ManagementApi.credentials.js",
|
||||
"dist/credentials/AutomizyApi.credentials.js",
|
||||
"dist/credentials/AutopilotApi.credentials.js",
|
||||
"dist/credentials/Aws.credentials.js",
|
||||
"dist/credentials/AzureStorageOAuth2Api.credentials.js",
|
||||
"dist/credentials/AzureStorageSharedKeyApi.credentials.js",
|
||||
"dist/credentials/BambooHrApi.credentials.js",
|
||||
"dist/credentials/BannerbearApi.credentials.js",
|
||||
"dist/credentials/BaserowApi.credentials.js",
|
||||
"dist/credentials/BeeminderApi.credentials.js",
|
||||
"dist/credentials/BeeminderOAuth2Api.credentials.js",
|
||||
"dist/credentials/BitbucketApi.credentials.js",
|
||||
"dist/credentials/BitlyApi.credentials.js",
|
||||
"dist/credentials/BitlyOAuth2Api.credentials.js",
|
||||
"dist/credentials/BitwardenApi.credentials.js",
|
||||
"dist/credentials/BoxOAuth2Api.credentials.js",
|
||||
"dist/credentials/BrandfetchApi.credentials.js",
|
||||
"dist/credentials/BubbleApi.credentials.js",
|
||||
"dist/credentials/CalApi.credentials.js",
|
||||
"dist/credentials/CalendlyApi.credentials.js",
|
||||
"dist/credentials/CalendlyOAuth2Api.credentials.js",
|
||||
"dist/credentials/CarbonBlackApi.credentials.js",
|
||||
"dist/credentials/ChargebeeApi.credentials.js",
|
||||
"dist/credentials/CircleCiApi.credentials.js",
|
||||
"dist/credentials/CiscoMerakiApi.credentials.js",
|
||||
"dist/credentials/CiscoSecureEndpointApi.credentials.js",
|
||||
"dist/credentials/CiscoWebexOAuth2Api.credentials.js",
|
||||
"dist/credentials/CiscoUmbrellaApi.credentials.js",
|
||||
"dist/credentials/CloudflareApi.credentials.js",
|
||||
"dist/credentials/ClearbitApi.credentials.js",
|
||||
"dist/credentials/ClickUpApi.credentials.js",
|
||||
"dist/credentials/ClickUpOAuth2Api.credentials.js",
|
||||
"dist/credentials/ClockifyApi.credentials.js",
|
||||
"dist/credentials/CockpitApi.credentials.js",
|
||||
"dist/credentials/CodaApi.credentials.js",
|
||||
"dist/credentials/ContentfulApi.credentials.js",
|
||||
"dist/credentials/ConvertApi.credentials.js",
|
||||
"dist/credentials/ConvertKitApi.credentials.js",
|
||||
"dist/credentials/CopperApi.credentials.js",
|
||||
"dist/credentials/CortexApi.credentials.js",
|
||||
"dist/credentials/CrateDb.credentials.js",
|
||||
"dist/credentials/CrowdStrikeOAuth2Api.credentials.js",
|
||||
"dist/credentials/CrowdDevApi.credentials.js",
|
||||
"dist/credentials/CustomerIoApi.credentials.js",
|
||||
"dist/credentials/DatadogApi.credentials.js",
|
||||
"dist/credentials/DeepLApi.credentials.js",
|
||||
"dist/credentials/DemioApi.credentials.js",
|
||||
"dist/credentials/DfirIrisApi.credentials.js",
|
||||
"dist/credentials/DhlApi.credentials.js",
|
||||
"dist/credentials/DiscordBotApi.credentials.js",
|
||||
"dist/credentials/DiscordOAuth2Api.credentials.js",
|
||||
"dist/credentials/DiscordWebhookApi.credentials.js",
|
||||
"dist/credentials/DiscourseApi.credentials.js",
|
||||
"dist/credentials/DisqusApi.credentials.js",
|
||||
"dist/credentials/DriftApi.credentials.js",
|
||||
"dist/credentials/DriftOAuth2Api.credentials.js",
|
||||
"dist/credentials/DropboxApi.credentials.js",
|
||||
"dist/credentials/DropboxOAuth2Api.credentials.js",
|
||||
"dist/credentials/DropcontactApi.credentials.js",
|
||||
"dist/credentials/DynatraceApi.credentials.js",
|
||||
"dist/credentials/EgoiApi.credentials.js",
|
||||
"dist/credentials/ElasticsearchApi.credentials.js",
|
||||
"dist/credentials/ElasticSecurityApi.credentials.js",
|
||||
"dist/credentials/EmeliaApi.credentials.js",
|
||||
"dist/credentials/ERPNextApi.credentials.js",
|
||||
"dist/credentials/EventbriteApi.credentials.js",
|
||||
"dist/credentials/EventbriteOAuth2Api.credentials.js",
|
||||
"dist/credentials/F5BigIpApi.credentials.js",
|
||||
"dist/credentials/FacebookGraphApi.credentials.js",
|
||||
"dist/credentials/FacebookGraphAppApi.credentials.js",
|
||||
"dist/credentials/FacebookLeadAdsOAuth2Api.credentials.js",
|
||||
"dist/credentials/FigmaApi.credentials.js",
|
||||
"dist/credentials/FileMaker.credentials.js",
|
||||
"dist/credentials/FilescanApi.credentials.js",
|
||||
"dist/credentials/FlowApi.credentials.js",
|
||||
"dist/credentials/FormIoApi.credentials.js",
|
||||
"dist/credentials/FormstackApi.credentials.js",
|
||||
"dist/credentials/FormstackOAuth2Api.credentials.js",
|
||||
"dist/credentials/FortiGateApi.credentials.js",
|
||||
"dist/credentials/FreshdeskApi.credentials.js",
|
||||
"dist/credentials/FreshserviceApi.credentials.js",
|
||||
"dist/credentials/FreshworksCrmApi.credentials.js",
|
||||
"dist/credentials/Ftp.credentials.js",
|
||||
"dist/credentials/GetResponseApi.credentials.js",
|
||||
"dist/credentials/GetResponseOAuth2Api.credentials.js",
|
||||
"dist/credentials/GhostAdminApi.credentials.js",
|
||||
"dist/credentials/GhostContentApi.credentials.js",
|
||||
"dist/credentials/GithubApi.credentials.js",
|
||||
"dist/credentials/GithubOAuth2Api.credentials.js",
|
||||
"dist/credentials/GitlabApi.credentials.js",
|
||||
"dist/credentials/GitlabOAuth2Api.credentials.js",
|
||||
"dist/credentials/GitPassword.credentials.js",
|
||||
"dist/credentials/GmailOAuth2Api.credentials.js",
|
||||
"dist/credentials/GongApi.credentials.js",
|
||||
"dist/credentials/GongOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleAdsOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleAnalyticsOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleApi.credentials.js",
|
||||
"dist/credentials/GoogleBigQueryOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleBooksOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleCalendarOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleChatOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleCloudNaturalLanguageOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleCloudStorageOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleContactsOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleDocsOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleDriveOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleFirebaseCloudFirestoreOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleFirebaseRealtimeDatabaseOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleBusinessProfileOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleOAuth2Api.credentials.js",
|
||||
"dist/credentials/GooglePerspectiveOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleSheetsOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleSheetsTriggerOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleSlidesOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleTasksOAuth2Api.credentials.js",
|
||||
"dist/credentials/GoogleTranslateOAuth2Api.credentials.js",
|
||||
"dist/credentials/GotifyApi.credentials.js",
|
||||
"dist/credentials/GoToWebinarOAuth2Api.credentials.js",
|
||||
"dist/credentials/GristApi.credentials.js",
|
||||
"dist/credentials/GrafanaApi.credentials.js",
|
||||
"dist/credentials/GSuiteAdminOAuth2Api.credentials.js",
|
||||
"dist/credentials/GumroadApi.credentials.js",
|
||||
"dist/credentials/HaloPSAApi.credentials.js",
|
||||
"dist/credentials/HarvestApi.credentials.js",
|
||||
"dist/credentials/HarvestOAuth2Api.credentials.js",
|
||||
"dist/credentials/HelpScoutOAuth2Api.credentials.js",
|
||||
"dist/credentials/HighLevelApi.credentials.js",
|
||||
"dist/credentials/HighLevelOAuth2Api.credentials.js",
|
||||
"dist/credentials/HomeAssistantApi.credentials.js",
|
||||
"dist/credentials/HttpBasicAuth.credentials.js",
|
||||
"dist/credentials/HttpBearerAuth.credentials.js",
|
||||
"dist/credentials/HttpDigestAuth.credentials.js",
|
||||
"dist/credentials/HttpHeaderAuth.credentials.js",
|
||||
"dist/credentials/HttpCustomAuth.credentials.js",
|
||||
"dist/credentials/HttpQueryAuth.credentials.js",
|
||||
"dist/credentials/HttpSslAuth.credentials.js",
|
||||
"dist/credentials/HubspotApi.credentials.js",
|
||||
"dist/credentials/HubspotAppToken.credentials.js",
|
||||
"dist/credentials/HubspotDeveloperApi.credentials.js",
|
||||
"dist/credentials/HubspotOAuth2Api.credentials.js",
|
||||
"dist/credentials/HumanticAiApi.credentials.js",
|
||||
"dist/credentials/HunterApi.credentials.js",
|
||||
"dist/credentials/HybridAnalysisApi.credentials.js",
|
||||
"dist/credentials/Imap.credentials.js",
|
||||
"dist/credentials/ImpervaWafApi.credentials.js",
|
||||
"dist/credentials/IntercomApi.credentials.js",
|
||||
"dist/credentials/InvoiceNinjaApi.credentials.js",
|
||||
"dist/credentials/IterableApi.credentials.js",
|
||||
"dist/credentials/JenkinsApi.credentials.js",
|
||||
"dist/credentials/JinaAiApi.credentials.js",
|
||||
"dist/credentials/JiraSoftwareCloudApi.credentials.js",
|
||||
"dist/credentials/JiraSoftwareServerApi.credentials.js",
|
||||
"dist/credentials/JiraSoftwareServerPatApi.credentials.js",
|
||||
"dist/credentials/JotFormApi.credentials.js",
|
||||
"dist/credentials/JwtAuth.credentials.js",
|
||||
"dist/credentials/Kafka.credentials.js",
|
||||
"dist/credentials/KeapOAuth2Api.credentials.js",
|
||||
"dist/credentials/KibanaApi.credentials.js",
|
||||
"dist/credentials/KitemakerApi.credentials.js",
|
||||
"dist/credentials/KoBoToolboxApi.credentials.js",
|
||||
"dist/credentials/Ldap.credentials.js",
|
||||
"dist/credentials/LemlistApi.credentials.js",
|
||||
"dist/credentials/LinearApi.credentials.js",
|
||||
"dist/credentials/LinearOAuth2Api.credentials.js",
|
||||
"dist/credentials/LineNotifyOAuth2Api.credentials.js",
|
||||
"dist/credentials/LingvaNexApi.credentials.js",
|
||||
"dist/credentials/LinkedInCommunityManagementOAuth2Api.credentials.js",
|
||||
"dist/credentials/LinkedInOAuth2Api.credentials.js",
|
||||
"dist/credentials/LoneScaleApi.credentials.js",
|
||||
"dist/credentials/Magento2Api.credentials.js",
|
||||
"dist/credentials/MailcheckApi.credentials.js",
|
||||
"dist/credentials/MailchimpApi.credentials.js",
|
||||
"dist/credentials/MailchimpOAuth2Api.credentials.js",
|
||||
"dist/credentials/MailerLiteApi.credentials.js",
|
||||
"dist/credentials/MailgunApi.credentials.js",
|
||||
"dist/credentials/MailjetEmailApi.credentials.js",
|
||||
"dist/credentials/MailjetSmsApi.credentials.js",
|
||||
"dist/credentials/MalcoreApi.credentials.js",
|
||||
"dist/credentials/MandrillApi.credentials.js",
|
||||
"dist/credentials/MarketstackApi.credentials.js",
|
||||
"dist/credentials/MatrixApi.credentials.js",
|
||||
"dist/credentials/MattermostApi.credentials.js",
|
||||
"dist/credentials/MauticApi.credentials.js",
|
||||
"dist/credentials/MauticOAuth2Api.credentials.js",
|
||||
"dist/credentials/MediumApi.credentials.js",
|
||||
"dist/credentials/MediumOAuth2Api.credentials.js",
|
||||
"dist/credentials/MetabaseApi.credentials.js",
|
||||
"dist/credentials/MessageBirdApi.credentials.js",
|
||||
"dist/credentials/MetabaseApi.credentials.js",
|
||||
"dist/credentials/MicrosoftAzureCosmosDbSharedKeyApi.credentials.js",
|
||||
"dist/credentials/MicrosoftAzureMonitorOAuth2Api.credentials.js",
|
||||
"dist/credentials/MicrosoftDynamicsOAuth2Api.credentials.js",
|
||||
"dist/credentials/MicrosoftEntraOAuth2Api.credentials.js",
|
||||
"dist/credentials/MicrosoftExcelOAuth2Api.credentials.js",
|
||||
"dist/credentials/MicrosoftGraphSecurityOAuth2Api.credentials.js",
|
||||
"dist/credentials/MicrosoftOAuth2Api.credentials.js",
|
||||
"dist/credentials/MicrosoftOneDriveOAuth2Api.credentials.js",
|
||||
"dist/credentials/MicrosoftOutlookOAuth2Api.credentials.js",
|
||||
"dist/credentials/MicrosoftSharePointOAuth2Api.credentials.js",
|
||||
"dist/credentials/MicrosoftSql.credentials.js",
|
||||
"dist/credentials/MicrosoftTeamsOAuth2Api.credentials.js",
|
||||
"dist/credentials/MicrosoftToDoOAuth2Api.credentials.js",
|
||||
"dist/credentials/MindeeInvoiceApi.credentials.js",
|
||||
"dist/credentials/MindeeReceiptApi.credentials.js",
|
||||
"dist/credentials/MiroOAuth2Api.credentials.js",
|
||||
"dist/credentials/MispApi.credentials.js",
|
||||
"dist/credentials/MistApi.credentials.js",
|
||||
"dist/credentials/MoceanApi.credentials.js",
|
||||
"dist/credentials/MondayComApi.credentials.js",
|
||||
"dist/credentials/MondayComOAuth2Api.credentials.js",
|
||||
"dist/credentials/MongoDb.credentials.js",
|
||||
"dist/credentials/MonicaCrmApi.credentials.js",
|
||||
"dist/credentials/Mqtt.credentials.js",
|
||||
"dist/credentials/Msg91Api.credentials.js",
|
||||
"dist/credentials/MySql.credentials.js",
|
||||
"dist/credentials/N8nApi.credentials.js",
|
||||
"dist/credentials/NasaApi.credentials.js",
|
||||
"dist/credentials/NetlifyApi.credentials.js",
|
||||
"dist/credentials/NetscalerAdcApi.credentials.js",
|
||||
"dist/credentials/NextCloudApi.credentials.js",
|
||||
"dist/credentials/NextCloudOAuth2Api.credentials.js",
|
||||
"dist/credentials/NocoDb.credentials.js",
|
||||
"dist/credentials/NocoDbApiToken.credentials.js",
|
||||
"dist/credentials/NotionApi.credentials.js",
|
||||
"dist/credentials/NotionOAuth2Api.credentials.js",
|
||||
"dist/credentials/NpmApi.credentials.js",
|
||||
"dist/credentials/OAuth1Api.credentials.js",
|
||||
"dist/credentials/OAuth2Api.credentials.js",
|
||||
"dist/credentials/OdooApi.credentials.js",
|
||||
"dist/credentials/OktaApi.credentials.js",
|
||||
"dist/credentials/OneSimpleApi.credentials.js",
|
||||
"dist/credentials/OnfleetApi.credentials.js",
|
||||
"dist/credentials/OpenAiApi.credentials.js",
|
||||
"dist/credentials/OpenCTIApi.credentials.js",
|
||||
"dist/credentials/OpenWeatherMapApi.credentials.js",
|
||||
"dist/credentials/OrbitApi.credentials.js",
|
||||
"dist/credentials/OuraApi.credentials.js",
|
||||
"dist/credentials/PaddleApi.credentials.js",
|
||||
"dist/credentials/PagerDutyApi.credentials.js",
|
||||
"dist/credentials/PagerDutyOAuth2Api.credentials.js",
|
||||
"dist/credentials/PayPalApi.credentials.js",
|
||||
"dist/credentials/PeekalinkApi.credentials.js",
|
||||
"dist/credentials/PerplexityApi.credentials.js",
|
||||
"dist/credentials/PhantombusterApi.credentials.js",
|
||||
"dist/credentials/PhilipsHueOAuth2Api.credentials.js",
|
||||
"dist/credentials/PipedriveApi.credentials.js",
|
||||
"dist/credentials/PipedriveOAuth2Api.credentials.js",
|
||||
"dist/credentials/PlivoApi.credentials.js",
|
||||
"dist/credentials/Postgres.credentials.js",
|
||||
"dist/credentials/PostHogApi.credentials.js",
|
||||
"dist/credentials/PostmarkApi.credentials.js",
|
||||
"dist/credentials/ProfitWellApi.credentials.js",
|
||||
"dist/credentials/PushbulletOAuth2Api.credentials.js",
|
||||
"dist/credentials/PushcutApi.credentials.js",
|
||||
"dist/credentials/PushoverApi.credentials.js",
|
||||
"dist/credentials/QRadarApi.credentials.js",
|
||||
"dist/credentials/QualysApi.credentials.js",
|
||||
"dist/credentials/QuestDb.credentials.js",
|
||||
"dist/credentials/QuickBaseApi.credentials.js",
|
||||
"dist/credentials/QuickBooksOAuth2Api.credentials.js",
|
||||
"dist/credentials/RabbitMQ.credentials.js",
|
||||
"dist/credentials/RaindropOAuth2Api.credentials.js",
|
||||
"dist/credentials/Rapid7InsightVmApi.credentials.js",
|
||||
"dist/credentials/RecordedFutureApi.credentials.js",
|
||||
"dist/credentials/RedditOAuth2Api.credentials.js",
|
||||
"dist/credentials/Redis.credentials.js",
|
||||
"dist/credentials/RocketchatApi.credentials.js",
|
||||
"dist/credentials/RundeckApi.credentials.js",
|
||||
"dist/credentials/S3.credentials.js",
|
||||
"dist/credentials/SalesforceJwtApi.credentials.js",
|
||||
"dist/credentials/SalesforceOAuth2Api.credentials.js",
|
||||
"dist/credentials/SalesmateApi.credentials.js",
|
||||
"dist/credentials/SeaTableApi.credentials.js",
|
||||
"dist/credentials/SecurityScorecardApi.credentials.js",
|
||||
"dist/credentials/SegmentApi.credentials.js",
|
||||
"dist/credentials/SekoiaApi.credentials.js",
|
||||
"dist/credentials/SendGridApi.credentials.js",
|
||||
"dist/credentials/BrevoApi.credentials.js",
|
||||
"dist/credentials/SendyApi.credentials.js",
|
||||
"dist/credentials/SentryIoApi.credentials.js",
|
||||
"dist/credentials/SentryIoOAuth2Api.credentials.js",
|
||||
"dist/credentials/SentryIoServerApi.credentials.js",
|
||||
"dist/credentials/ServiceNowOAuth2Api.credentials.js",
|
||||
"dist/credentials/ServiceNowBasicApi.credentials.js",
|
||||
"dist/credentials/Sftp.credentials.js",
|
||||
"dist/credentials/ShopifyApi.credentials.js",
|
||||
"dist/credentials/ShopifyAccessTokenApi.credentials.js",
|
||||
"dist/credentials/ShopifyOAuth2Api.credentials.js",
|
||||
"dist/credentials/Signl4Api.credentials.js",
|
||||
"dist/credentials/SlackApi.credentials.js",
|
||||
"dist/credentials/SlackOAuth2Api.credentials.js",
|
||||
"dist/credentials/Sms77Api.credentials.js",
|
||||
"dist/credentials/Smtp.credentials.js",
|
||||
"dist/credentials/Snowflake.credentials.js",
|
||||
"dist/credentials/SolarWindsIpamApi.credentials.js",
|
||||
"dist/credentials/SolarWindsObservabilityApi.credentials.js",
|
||||
"dist/credentials/SplunkApi.credentials.js",
|
||||
"dist/credentials/SpontitApi.credentials.js",
|
||||
"dist/credentials/SpotifyOAuth2Api.credentials.js",
|
||||
"dist/credentials/ShufflerApi.credentials.js",
|
||||
"dist/credentials/SshPassword.credentials.js",
|
||||
"dist/credentials/SshPrivateKey.credentials.js",
|
||||
"dist/credentials/StackbyApi.credentials.js",
|
||||
"dist/credentials/StoryblokContentApi.credentials.js",
|
||||
"dist/credentials/StoryblokManagementApi.credentials.js",
|
||||
"dist/credentials/StrapiApi.credentials.js",
|
||||
"dist/credentials/StrapiTokenApi.credentials.js",
|
||||
"dist/credentials/StravaOAuth2Api.credentials.js",
|
||||
"dist/credentials/StripeApi.credentials.js",
|
||||
"dist/credentials/SupabaseApi.credentials.js",
|
||||
"dist/credentials/SurveyMonkeyApi.credentials.js",
|
||||
"dist/credentials/SurveyMonkeyOAuth2Api.credentials.js",
|
||||
"dist/credentials/SyncroMspApi.credentials.js",
|
||||
"dist/credentials/SysdigApi.credentials.js",
|
||||
"dist/credentials/TaigaApi.credentials.js",
|
||||
"dist/credentials/TapfiliateApi.credentials.js",
|
||||
"dist/credentials/TelegramApi.credentials.js",
|
||||
"dist/credentials/TheHiveProjectApi.credentials.js",
|
||||
"dist/credentials/TheHiveApi.credentials.js",
|
||||
"dist/credentials/TimescaleDb.credentials.js",
|
||||
"dist/credentials/TodoistApi.credentials.js",
|
||||
"dist/credentials/TodoistOAuth2Api.credentials.js",
|
||||
"dist/credentials/TogglApi.credentials.js",
|
||||
"dist/credentials/TotpApi.credentials.js",
|
||||
"dist/credentials/TravisCiApi.credentials.js",
|
||||
"dist/credentials/TrellixEpoApi.credentials.js",
|
||||
"dist/credentials/TrelloApi.credentials.js",
|
||||
"dist/credentials/TwakeCloudApi.credentials.js",
|
||||
"dist/credentials/TwakeServerApi.credentials.js",
|
||||
"dist/credentials/TwilioApi.credentials.js",
|
||||
"dist/credentials/TwistOAuth2Api.credentials.js",
|
||||
"dist/credentials/TwitterOAuth1Api.credentials.js",
|
||||
"dist/credentials/TwitterOAuth2Api.credentials.js",
|
||||
"dist/credentials/TypeformApi.credentials.js",
|
||||
"dist/credentials/TypeformOAuth2Api.credentials.js",
|
||||
"dist/credentials/UnleashedSoftwareApi.credentials.js",
|
||||
"dist/credentials/UpleadApi.credentials.js",
|
||||
"dist/credentials/UProcApi.credentials.js",
|
||||
"dist/credentials/UptimeRobotApi.credentials.js",
|
||||
"dist/credentials/UrlScanIoApi.credentials.js",
|
||||
"dist/credentials/VeroApi.credentials.js",
|
||||
"dist/credentials/VerticaApi.credentials.js",
|
||||
"dist/credentials/VirusTotalApi.credentials.js",
|
||||
"dist/credentials/VonageApi.credentials.js",
|
||||
"dist/credentials/VenafiTlsProtectCloudApi.credentials.js",
|
||||
"dist/credentials/VenafiTlsProtectDatacenterApi.credentials.js",
|
||||
"dist/credentials/WebflowApi.credentials.js",
|
||||
"dist/credentials/WebflowOAuth2Api.credentials.js",
|
||||
"dist/credentials/WekanApi.credentials.js",
|
||||
"dist/credentials/WhatsAppApi.credentials.js",
|
||||
"dist/credentials/WhatsAppTriggerApi.credentials.js",
|
||||
"dist/credentials/WiseApi.credentials.js",
|
||||
"dist/credentials/WooCommerceApi.credentials.js",
|
||||
"dist/credentials/WordpressApi.credentials.js",
|
||||
"dist/credentials/WorkableApi.credentials.js",
|
||||
"dist/credentials/WufooApi.credentials.js",
|
||||
"dist/credentials/XeroOAuth2Api.credentials.js",
|
||||
"dist/credentials/YourlsApi.credentials.js",
|
||||
"dist/credentials/YouTubeOAuth2Api.credentials.js",
|
||||
"dist/credentials/ZabbixApi.credentials.js",
|
||||
"dist/credentials/ZammadBasicAuthApi.credentials.js",
|
||||
"dist/credentials/ZammadTokenAuthApi.credentials.js",
|
||||
"dist/credentials/ZendeskApi.credentials.js",
|
||||
"dist/credentials/ZendeskOAuth2Api.credentials.js",
|
||||
"dist/credentials/ZohoOAuth2Api.credentials.js",
|
||||
"dist/credentials/ZoomApi.credentials.js",
|
||||
"dist/credentials/ZoomOAuth2Api.credentials.js",
|
||||
"dist/credentials/ZscalerZiaApi.credentials.js",
|
||||
"dist/credentials/ZulipApi.credentials.js"
|
||||
],
|
||||
"nodes": [
|
||||
"dist/nodes/ActionNetwork/ActionNetwork.node.js",
|
||||
"dist/nodes/ActiveCampaign/ActiveCampaign.node.js",
|
||||
"dist/nodes/ActiveCampaign/ActiveCampaignTrigger.node.js",
|
||||
"dist/nodes/AcuityScheduling/AcuitySchedulingTrigger.node.js",
|
||||
"dist/nodes/Adalo/Adalo.node.js",
|
||||
"dist/nodes/Affinity/Affinity.node.js",
|
||||
"dist/nodes/Affinity/AffinityTrigger.node.js",
|
||||
"dist/nodes/AgileCrm/AgileCrm.node.js",
|
||||
"dist/nodes/Airtable/Airtable.node.js",
|
||||
"dist/nodes/Airtable/AirtableTrigger.node.js",
|
||||
"dist/nodes/Airtop/Airtop.node.js",
|
||||
"dist/nodes/AiTransform/AiTransform.node.js",
|
||||
"dist/nodes/Amqp/Amqp.node.js",
|
||||
"dist/nodes/Amqp/AmqpTrigger.node.js",
|
||||
"dist/nodes/ApiTemplateIo/ApiTemplateIo.node.js",
|
||||
"dist/nodes/Asana/Asana.node.js",
|
||||
"dist/nodes/Asana/AsanaTrigger.node.js",
|
||||
"dist/nodes/Automizy/Automizy.node.js",
|
||||
"dist/nodes/Autopilot/Autopilot.node.js",
|
||||
"dist/nodes/Autopilot/AutopilotTrigger.node.js",
|
||||
"dist/nodes/Aws/AwsLambda.node.js",
|
||||
"dist/nodes/Aws/AwsSns.node.js",
|
||||
"dist/nodes/Aws/AwsSnsTrigger.node.js",
|
||||
"dist/nodes/Aws/CertificateManager/AwsCertificateManager.node.js",
|
||||
"dist/nodes/Aws/Cognito/AwsCognito.node.js",
|
||||
"dist/nodes/Aws/Comprehend/AwsComprehend.node.js",
|
||||
"dist/nodes/Aws/DynamoDB/AwsDynamoDB.node.js",
|
||||
"dist/nodes/Aws/ELB/AwsElb.node.js",
|
||||
"dist/nodes/Aws/IAM/AwsIam.node.js",
|
||||
"dist/nodes/Aws/Rekognition/AwsRekognition.node.js",
|
||||
"dist/nodes/Aws/S3/AwsS3.node.js",
|
||||
"dist/nodes/Aws/SES/AwsSes.node.js",
|
||||
"dist/nodes/Aws/SQS/AwsSqs.node.js",
|
||||
"dist/nodes/Aws/Textract/AwsTextract.node.js",
|
||||
"dist/nodes/Aws/Transcribe/AwsTranscribe.node.js",
|
||||
"dist/nodes/BambooHr/BambooHr.node.js",
|
||||
"dist/nodes/Bannerbear/Bannerbear.node.js",
|
||||
"dist/nodes/Baserow/Baserow.node.js",
|
||||
"dist/nodes/Beeminder/Beeminder.node.js",
|
||||
"dist/nodes/Bitbucket/BitbucketTrigger.node.js",
|
||||
"dist/nodes/Bitly/Bitly.node.js",
|
||||
"dist/nodes/Bitwarden/Bitwarden.node.js",
|
||||
"dist/nodes/Box/Box.node.js",
|
||||
"dist/nodes/Box/BoxTrigger.node.js",
|
||||
"dist/nodes/Brandfetch/Brandfetch.node.js",
|
||||
"dist/nodes/Bubble/Bubble.node.js",
|
||||
"dist/nodes/Cal/CalTrigger.node.js",
|
||||
"dist/nodes/Calendly/CalendlyTrigger.node.js",
|
||||
"dist/nodes/Chargebee/Chargebee.node.js",
|
||||
"dist/nodes/Chargebee/ChargebeeTrigger.node.js",
|
||||
"dist/nodes/CircleCi/CircleCi.node.js",
|
||||
"dist/nodes/Cisco/Webex/CiscoWebex.node.js",
|
||||
"dist/nodes/Cisco/Webex/CiscoWebexTrigger.node.js",
|
||||
"dist/nodes/Cloudflare/Cloudflare.node.js",
|
||||
"dist/nodes/Clearbit/Clearbit.node.js",
|
||||
"dist/nodes/ClickUp/ClickUp.node.js",
|
||||
"dist/nodes/ClickUp/ClickUpTrigger.node.js",
|
||||
"dist/nodes/Clockify/Clockify.node.js",
|
||||
"dist/nodes/Clockify/ClockifyTrigger.node.js",
|
||||
"dist/nodes/Cockpit/Cockpit.node.js",
|
||||
"dist/nodes/Coda/Coda.node.js",
|
||||
"dist/nodes/Code/Code.node.js",
|
||||
"dist/nodes/CoinGecko/CoinGecko.node.js",
|
||||
"dist/nodes/CompareDatasets/CompareDatasets.node.js",
|
||||
"dist/nodes/Compression/Compression.node.js",
|
||||
"dist/nodes/Contentful/Contentful.node.js",
|
||||
"dist/nodes/ConvertKit/ConvertKit.node.js",
|
||||
"dist/nodes/ConvertKit/ConvertKitTrigger.node.js",
|
||||
"dist/nodes/Copper/Copper.node.js",
|
||||
"dist/nodes/Copper/CopperTrigger.node.js",
|
||||
"dist/nodes/Cortex/Cortex.node.js",
|
||||
"dist/nodes/CrateDb/CrateDb.node.js",
|
||||
"dist/nodes/Cron/Cron.node.js",
|
||||
"dist/nodes/CrowdDev/CrowdDev.node.js",
|
||||
"dist/nodes/CrowdDev/CrowdDevTrigger.node.js",
|
||||
"dist/nodes/Crypto/Crypto.node.js",
|
||||
"dist/nodes/CustomerIo/CustomerIo.node.js",
|
||||
"dist/nodes/CustomerIo/CustomerIoTrigger.node.js",
|
||||
"dist/nodes/DateTime/DateTime.node.js",
|
||||
"dist/nodes/DebugHelper/DebugHelper.node.js",
|
||||
"dist/nodes/DeepL/DeepL.node.js",
|
||||
"dist/nodes/Demio/Demio.node.js",
|
||||
"dist/nodes/Dhl/Dhl.node.js",
|
||||
"dist/nodes/Discord/Discord.node.js",
|
||||
"dist/nodes/Discourse/Discourse.node.js",
|
||||
"dist/nodes/Disqus/Disqus.node.js",
|
||||
"dist/nodes/Drift/Drift.node.js",
|
||||
"dist/nodes/Dropbox/Dropbox.node.js",
|
||||
"dist/nodes/Dropcontact/Dropcontact.node.js",
|
||||
"dist/nodes/EditImage/EditImage.node.js",
|
||||
"dist/nodes/E2eTest/E2eTest.node.js",
|
||||
"dist/nodes/Egoi/Egoi.node.js",
|
||||
"dist/nodes/Elastic/Elasticsearch/Elasticsearch.node.js",
|
||||
"dist/nodes/Elastic/ElasticSecurity/ElasticSecurity.node.js",
|
||||
"dist/nodes/EmailReadImap/EmailReadImap.node.js",
|
||||
"dist/nodes/EmailSend/EmailSend.node.js",
|
||||
"dist/nodes/Emelia/Emelia.node.js",
|
||||
"dist/nodes/Emelia/EmeliaTrigger.node.js",
|
||||
"dist/nodes/ERPNext/ERPNext.node.js",
|
||||
"dist/nodes/ErrorTrigger/ErrorTrigger.node.js",
|
||||
"dist/nodes/Evaluation/EvaluationTrigger/EvaluationTrigger.node.ee.js",
|
||||
"dist/nodes/Evaluation/Evaluation/Evaluation.node.ee.js",
|
||||
"dist/nodes/Eventbrite/EventbriteTrigger.node.js",
|
||||
"dist/nodes/ExecuteCommand/ExecuteCommand.node.js",
|
||||
"dist/nodes/ExecuteWorkflow/ExecuteWorkflow/ExecuteWorkflow.node.js",
|
||||
"dist/nodes/ExecuteWorkflow/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.js",
|
||||
"dist/nodes/ExecutionData/ExecutionData.node.js",
|
||||
"dist/nodes/Facebook/FacebookGraphApi.node.js",
|
||||
"dist/nodes/Facebook/FacebookTrigger.node.js",
|
||||
"dist/nodes/FacebookLeadAds/FacebookLeadAdsTrigger.node.js",
|
||||
"dist/nodes/Figma/FigmaTrigger.node.js",
|
||||
"dist/nodes/FileMaker/FileMaker.node.js",
|
||||
"dist/nodes/Files/ReadWriteFile/ReadWriteFile.node.js",
|
||||
"dist/nodes/Files/ConvertToFile/ConvertToFile.node.js",
|
||||
"dist/nodes/Files/ExtractFromFile/ExtractFromFile.node.js",
|
||||
"dist/nodes/Filter/Filter.node.js",
|
||||
"dist/nodes/Flow/Flow.node.js",
|
||||
"dist/nodes/Flow/FlowTrigger.node.js",
|
||||
"dist/nodes/Form/Form.node.js",
|
||||
"dist/nodes/Form/FormTrigger.node.js",
|
||||
"dist/nodes/FormIo/FormIoTrigger.node.js",
|
||||
"dist/nodes/Formstack/FormstackTrigger.node.js",
|
||||
"dist/nodes/Freshdesk/Freshdesk.node.js",
|
||||
"dist/nodes/Freshservice/Freshservice.node.js",
|
||||
"dist/nodes/FreshworksCrm/FreshworksCrm.node.js",
|
||||
"dist/nodes/Ftp/Ftp.node.js",
|
||||
"dist/nodes/Function/Function.node.js",
|
||||
"dist/nodes/FunctionItem/FunctionItem.node.js",
|
||||
"dist/nodes/GetResponse/GetResponse.node.js",
|
||||
"dist/nodes/GetResponse/GetResponseTrigger.node.js",
|
||||
"dist/nodes/Ghost/Ghost.node.js",
|
||||
"dist/nodes/Git/Git.node.js",
|
||||
"dist/nodes/Github/Github.node.js",
|
||||
"dist/nodes/Github/GithubTrigger.node.js",
|
||||
"dist/nodes/Gitlab/Gitlab.node.js",
|
||||
"dist/nodes/Gitlab/GitlabTrigger.node.js",
|
||||
"dist/nodes/Gong/Gong.node.js",
|
||||
"dist/nodes/Google/Ads/GoogleAds.node.js",
|
||||
"dist/nodes/Google/Analytics/GoogleAnalytics.node.js",
|
||||
"dist/nodes/Google/BigQuery/GoogleBigQuery.node.js",
|
||||
"dist/nodes/Google/Books/GoogleBooks.node.js",
|
||||
"dist/nodes/Google/Calendar/GoogleCalendar.node.js",
|
||||
"dist/nodes/Google/Calendar/GoogleCalendarTrigger.node.js",
|
||||
"dist/nodes/Google/Chat/GoogleChat.node.js",
|
||||
"dist/nodes/Google/CloudNaturalLanguage/GoogleCloudNaturalLanguage.node.js",
|
||||
"dist/nodes/Google/CloudStorage/GoogleCloudStorage.node.js",
|
||||
"dist/nodes/Google/Contacts/GoogleContacts.node.js",
|
||||
"dist/nodes/Google/Docs/GoogleDocs.node.js",
|
||||
"dist/nodes/Google/Drive/GoogleDrive.node.js",
|
||||
"dist/nodes/Google/Drive/GoogleDriveTrigger.node.js",
|
||||
"dist/nodes/Google/Firebase/CloudFirestore/GoogleFirebaseCloudFirestore.node.js",
|
||||
"dist/nodes/Google/Firebase/RealtimeDatabase/GoogleFirebaseRealtimeDatabase.node.js",
|
||||
"dist/nodes/Google/Gmail/Gmail.node.js",
|
||||
"dist/nodes/Google/Gmail/GmailTrigger.node.js",
|
||||
"dist/nodes/Google/GSuiteAdmin/GSuiteAdmin.node.js",
|
||||
"dist/nodes/Google/BusinessProfile/GoogleBusinessProfile.node.js",
|
||||
"dist/nodes/Google/BusinessProfile/GoogleBusinessProfileTrigger.node.js",
|
||||
"dist/nodes/Google/Perspective/GooglePerspective.node.js",
|
||||
"dist/nodes/Google/Sheet/GoogleSheets.node.js",
|
||||
"dist/nodes/Google/Sheet/GoogleSheetsTrigger.node.js",
|
||||
"dist/nodes/Google/Slides/GoogleSlides.node.js",
|
||||
"dist/nodes/Google/Task/GoogleTasks.node.js",
|
||||
"dist/nodes/Google/Translate/GoogleTranslate.node.js",
|
||||
"dist/nodes/Google/YouTube/YouTube.node.js",
|
||||
"dist/nodes/Gotify/Gotify.node.js",
|
||||
"dist/nodes/GoToWebinar/GoToWebinar.node.js",
|
||||
"dist/nodes/Grafana/Grafana.node.js",
|
||||
"dist/nodes/GraphQL/GraphQL.node.js",
|
||||
"dist/nodes/Grist/Grist.node.js",
|
||||
"dist/nodes/Gumroad/GumroadTrigger.node.js",
|
||||
"dist/nodes/HackerNews/HackerNews.node.js",
|
||||
"dist/nodes/HaloPSA/HaloPSA.node.js",
|
||||
"dist/nodes/Harvest/Harvest.node.js",
|
||||
"dist/nodes/HelpScout/HelpScout.node.js",
|
||||
"dist/nodes/HelpScout/HelpScoutTrigger.node.js",
|
||||
"dist/nodes/HighLevel/HighLevel.node.js",
|
||||
"dist/nodes/HomeAssistant/HomeAssistant.node.js",
|
||||
"dist/nodes/HtmlExtract/HtmlExtract.node.js",
|
||||
"dist/nodes/Html/Html.node.js",
|
||||
"dist/nodes/HttpRequest/HttpRequest.node.js",
|
||||
"dist/nodes/Hubspot/Hubspot.node.js",
|
||||
"dist/nodes/Hubspot/HubspotTrigger.node.js",
|
||||
"dist/nodes/HumanticAI/HumanticAi.node.js",
|
||||
"dist/nodes/Hunter/Hunter.node.js",
|
||||
"dist/nodes/ICalendar/ICalendar.node.js",
|
||||
"dist/nodes/If/If.node.js",
|
||||
"dist/nodes/Intercom/Intercom.node.js",
|
||||
"dist/nodes/Interval/Interval.node.js",
|
||||
"dist/nodes/InvoiceNinja/InvoiceNinja.node.js",
|
||||
"dist/nodes/InvoiceNinja/InvoiceNinjaTrigger.node.js",
|
||||
"dist/nodes/ItemLists/ItemLists.node.js",
|
||||
"dist/nodes/Iterable/Iterable.node.js",
|
||||
"dist/nodes/Jenkins/Jenkins.node.js",
|
||||
"dist/nodes/JinaAI/JinaAi.node.js",
|
||||
"dist/nodes/Jira/Jira.node.js",
|
||||
"dist/nodes/Jira/JiraTrigger.node.js",
|
||||
"dist/nodes/JotForm/JotFormTrigger.node.js",
|
||||
"dist/nodes/Jwt/Jwt.node.js",
|
||||
"dist/nodes/Kafka/Kafka.node.js",
|
||||
"dist/nodes/Kafka/KafkaTrigger.node.js",
|
||||
"dist/nodes/Keap/Keap.node.js",
|
||||
"dist/nodes/Keap/KeapTrigger.node.js",
|
||||
"dist/nodes/Kitemaker/Kitemaker.node.js",
|
||||
"dist/nodes/KoBoToolbox/KoBoToolbox.node.js",
|
||||
"dist/nodes/KoBoToolbox/KoBoToolboxTrigger.node.js",
|
||||
"dist/nodes/Ldap/Ldap.node.js",
|
||||
"dist/nodes/Lemlist/Lemlist.node.js",
|
||||
"dist/nodes/Lemlist/LemlistTrigger.node.js",
|
||||
"dist/nodes/Line/Line.node.js",
|
||||
"dist/nodes/Linear/Linear.node.js",
|
||||
"dist/nodes/Linear/LinearTrigger.node.js",
|
||||
"dist/nodes/LingvaNex/LingvaNex.node.js",
|
||||
"dist/nodes/LinkedIn/LinkedIn.node.js",
|
||||
"dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js",
|
||||
"dist/nodes/LoneScale/LoneScaleTrigger.node.js",
|
||||
"dist/nodes/LoneScale/LoneScale.node.js",
|
||||
"dist/nodes/Magento/Magento2.node.js",
|
||||
"dist/nodes/Mailcheck/Mailcheck.node.js",
|
||||
"dist/nodes/Mailchimp/Mailchimp.node.js",
|
||||
"dist/nodes/Mailchimp/MailchimpTrigger.node.js",
|
||||
"dist/nodes/MailerLite/MailerLite.node.js",
|
||||
"dist/nodes/MailerLite/MailerLiteTrigger.node.js",
|
||||
"dist/nodes/Mailgun/Mailgun.node.js",
|
||||
"dist/nodes/Mailjet/Mailjet.node.js",
|
||||
"dist/nodes/Mailjet/MailjetTrigger.node.js",
|
||||
"dist/nodes/Mandrill/Mandrill.node.js",
|
||||
"dist/nodes/ManualTrigger/ManualTrigger.node.js",
|
||||
"dist/nodes/Markdown/Markdown.node.js",
|
||||
"dist/nodes/Marketstack/Marketstack.node.js",
|
||||
"dist/nodes/Matrix/Matrix.node.js",
|
||||
"dist/nodes/Mattermost/Mattermost.node.js",
|
||||
"dist/nodes/Mautic/Mautic.node.js",
|
||||
"dist/nodes/Mautic/MauticTrigger.node.js",
|
||||
"dist/nodes/Medium/Medium.node.js",
|
||||
"dist/nodes/Merge/Merge.node.js",
|
||||
"dist/nodes/MessageBird/MessageBird.node.js",
|
||||
"dist/nodes/Metabase/Metabase.node.js",
|
||||
"dist/nodes/Microsoft/AzureCosmosDb/AzureCosmosDb.node.js",
|
||||
"dist/nodes/Microsoft/Dynamics/MicrosoftDynamicsCrm.node.js",
|
||||
"dist/nodes/Microsoft/Entra/MicrosoftEntra.node.js",
|
||||
"dist/nodes/Microsoft/Excel/MicrosoftExcel.node.js",
|
||||
"dist/nodes/Microsoft/GraphSecurity/MicrosoftGraphSecurity.node.js",
|
||||
"dist/nodes/Microsoft/OneDrive/MicrosoftOneDrive.node.js",
|
||||
"dist/nodes/Microsoft/OneDrive/MicrosoftOneDriveTrigger.node.js",
|
||||
"dist/nodes/Microsoft/Outlook/MicrosoftOutlook.node.js",
|
||||
"dist/nodes/Microsoft/Outlook/MicrosoftOutlookTrigger.node.js",
|
||||
"dist/nodes/Microsoft/SharePoint/MicrosoftSharePoint.node.js",
|
||||
"dist/nodes/Microsoft/Sql/MicrosoftSql.node.js",
|
||||
"dist/nodes/Microsoft/Storage/AzureStorage.node.js",
|
||||
"dist/nodes/Microsoft/Teams/MicrosoftTeams.node.js",
|
||||
"dist/nodes/Microsoft/Teams/MicrosoftTeamsTrigger.node.js",
|
||||
"dist/nodes/Microsoft/ToDo/MicrosoftToDo.node.js",
|
||||
"dist/nodes/Mindee/Mindee.node.js",
|
||||
"dist/nodes/Misp/Misp.node.js",
|
||||
"dist/nodes/MistralAI/MistralAi.node.js",
|
||||
"dist/nodes/Mocean/Mocean.node.js",
|
||||
"dist/nodes/MondayCom/MondayCom.node.js",
|
||||
"dist/nodes/MongoDb/MongoDb.node.js",
|
||||
"dist/nodes/MonicaCrm/MonicaCrm.node.js",
|
||||
"dist/nodes/MoveBinaryData/MoveBinaryData.node.js",
|
||||
"dist/nodes/MQTT/Mqtt.node.js",
|
||||
"dist/nodes/MQTT/MqttTrigger.node.js",
|
||||
"dist/nodes/Msg91/Msg91.node.js",
|
||||
"dist/nodes/MySql/MySql.node.js",
|
||||
"dist/nodes/N8n/N8n.node.js",
|
||||
"dist/nodes/N8nTrainingCustomerDatastore/N8nTrainingCustomerDatastore.node.js",
|
||||
"dist/nodes/N8nTrainingCustomerMessenger/N8nTrainingCustomerMessenger.node.js",
|
||||
"dist/nodes/N8nTrigger/N8nTrigger.node.js",
|
||||
"dist/nodes/Nasa/Nasa.node.js",
|
||||
"dist/nodes/Netlify/Netlify.node.js",
|
||||
"dist/nodes/Netlify/NetlifyTrigger.node.js",
|
||||
"dist/nodes/NextCloud/NextCloud.node.js",
|
||||
"dist/nodes/NocoDB/NocoDB.node.js",
|
||||
"dist/nodes/Brevo/Brevo.node.js",
|
||||
"dist/nodes/Brevo/BrevoTrigger.node.js",
|
||||
"dist/nodes/StickyNote/StickyNote.node.js",
|
||||
"dist/nodes/NoOp/NoOp.node.js",
|
||||
"dist/nodes/Onfleet/Onfleet.node.js",
|
||||
"dist/nodes/Onfleet/OnfleetTrigger.node.js",
|
||||
"dist/nodes/Netscaler/ADC/NetscalerAdc.node.js",
|
||||
"dist/nodes/Notion/Notion.node.js",
|
||||
"dist/nodes/Notion/NotionTrigger.node.js",
|
||||
"dist/nodes/Npm/Npm.node.js",
|
||||
"dist/nodes/Odoo/Odoo.node.js",
|
||||
"dist/nodes/Okta/Okta.node.js",
|
||||
"dist/nodes/OneSimpleApi/OneSimpleApi.node.js",
|
||||
"dist/nodes/OpenAi/OpenAi.node.js",
|
||||
"dist/nodes/OpenThesaurus/OpenThesaurus.node.js",
|
||||
"dist/nodes/OpenWeatherMap/OpenWeatherMap.node.js",
|
||||
"dist/nodes/Orbit/Orbit.node.js",
|
||||
"dist/nodes/Oura/Oura.node.js",
|
||||
"dist/nodes/Paddle/Paddle.node.js",
|
||||
"dist/nodes/PagerDuty/PagerDuty.node.js",
|
||||
"dist/nodes/PayPal/PayPal.node.js",
|
||||
"dist/nodes/PayPal/PayPalTrigger.node.js",
|
||||
"dist/nodes/Peekalink/Peekalink.node.js",
|
||||
"dist/nodes/Perplexity/Perplexity.node.js",
|
||||
"dist/nodes/Phantombuster/Phantombuster.node.js",
|
||||
"dist/nodes/PhilipsHue/PhilipsHue.node.js",
|
||||
"dist/nodes/Pipedrive/Pipedrive.node.js",
|
||||
"dist/nodes/Pipedrive/PipedriveTrigger.node.js",
|
||||
"dist/nodes/Plivo/Plivo.node.js",
|
||||
"dist/nodes/PostBin/PostBin.node.js",
|
||||
"dist/nodes/Postgres/Postgres.node.js",
|
||||
"dist/nodes/Postgres/PostgresTrigger.node.js",
|
||||
"dist/nodes/PostHog/PostHog.node.js",
|
||||
"dist/nodes/Postmark/PostmarkTrigger.node.js",
|
||||
"dist/nodes/ProfitWell/ProfitWell.node.js",
|
||||
"dist/nodes/Pushbullet/Pushbullet.node.js",
|
||||
"dist/nodes/Pushcut/Pushcut.node.js",
|
||||
"dist/nodes/Pushcut/PushcutTrigger.node.js",
|
||||
"dist/nodes/Pushover/Pushover.node.js",
|
||||
"dist/nodes/QuestDb/QuestDb.node.js",
|
||||
"dist/nodes/QuickBase/QuickBase.node.js",
|
||||
"dist/nodes/QuickBooks/QuickBooks.node.js",
|
||||
"dist/nodes/QuickChart/QuickChart.node.js",
|
||||
"dist/nodes/RabbitMQ/RabbitMQ.node.js",
|
||||
"dist/nodes/RabbitMQ/RabbitMQTrigger.node.js",
|
||||
"dist/nodes/Raindrop/Raindrop.node.js",
|
||||
"dist/nodes/ReadBinaryFile/ReadBinaryFile.node.js",
|
||||
"dist/nodes/ReadBinaryFiles/ReadBinaryFiles.node.js",
|
||||
"dist/nodes/ReadPdf/ReadPDF.node.js",
|
||||
"dist/nodes/Reddit/Reddit.node.js",
|
||||
"dist/nodes/Redis/Redis.node.js",
|
||||
"dist/nodes/Redis/RedisTrigger.node.js",
|
||||
"dist/nodes/RenameKeys/RenameKeys.node.js",
|
||||
"dist/nodes/RespondToWebhook/RespondToWebhook.node.js",
|
||||
"dist/nodes/Rocketchat/Rocketchat.node.js",
|
||||
"dist/nodes/RssFeedRead/RssFeedRead.node.js",
|
||||
"dist/nodes/RssFeedRead/RssFeedReadTrigger.node.js",
|
||||
"dist/nodes/Rundeck/Rundeck.node.js",
|
||||
"dist/nodes/S3/S3.node.js",
|
||||
"dist/nodes/Salesforce/Salesforce.node.js",
|
||||
"dist/nodes/Salesforce/SalesforceTrigger.node.js",
|
||||
"dist/nodes/Salesmate/Salesmate.node.js",
|
||||
"dist/nodes/Schedule/ScheduleTrigger.node.js",
|
||||
"dist/nodes/SeaTable/SeaTable.node.js",
|
||||
"dist/nodes/SeaTable/SeaTableTrigger.node.js",
|
||||
"dist/nodes/SecurityScorecard/SecurityScorecard.node.js",
|
||||
"dist/nodes/Segment/Segment.node.js",
|
||||
"dist/nodes/SendGrid/SendGrid.node.js",
|
||||
"dist/nodes/Sendy/Sendy.node.js",
|
||||
"dist/nodes/SentryIo/SentryIo.node.js",
|
||||
"dist/nodes/ServiceNow/ServiceNow.node.js",
|
||||
"dist/nodes/Set/Set.node.js",
|
||||
"dist/nodes/Shopify/Shopify.node.js",
|
||||
"dist/nodes/Shopify/ShopifyTrigger.node.js",
|
||||
"dist/nodes/Signl4/Signl4.node.js",
|
||||
"dist/nodes/Simulate/Simulate.node.js",
|
||||
"dist/nodes/Simulate/SimulateTrigger.node.js",
|
||||
"dist/nodes/Slack/Slack.node.js",
|
||||
"dist/nodes/Slack/SlackTrigger.node.js",
|
||||
"dist/nodes/Sms77/Sms77.node.js",
|
||||
"dist/nodes/Snowflake/Snowflake.node.js",
|
||||
"dist/nodes/SplitInBatches/SplitInBatches.node.js",
|
||||
"dist/nodes/Splunk/Splunk.node.js",
|
||||
"dist/nodes/Spontit/Spontit.node.js",
|
||||
"dist/nodes/Spotify/Spotify.node.js",
|
||||
"dist/nodes/SpreadsheetFile/SpreadsheetFile.node.js",
|
||||
"dist/nodes/SseTrigger/SseTrigger.node.js",
|
||||
"dist/nodes/Ssh/Ssh.node.js",
|
||||
"dist/nodes/Stackby/Stackby.node.js",
|
||||
"dist/nodes/Start/Start.node.js",
|
||||
"dist/nodes/StopAndError/StopAndError.node.js",
|
||||
"dist/nodes/Storyblok/Storyblok.node.js",
|
||||
"dist/nodes/Strapi/Strapi.node.js",
|
||||
"dist/nodes/Strava/Strava.node.js",
|
||||
"dist/nodes/Strava/StravaTrigger.node.js",
|
||||
"dist/nodes/Stripe/Stripe.node.js",
|
||||
"dist/nodes/Stripe/StripeTrigger.node.js",
|
||||
"dist/nodes/Supabase/Supabase.node.js",
|
||||
"dist/nodes/SurveyMonkey/SurveyMonkeyTrigger.node.js",
|
||||
"dist/nodes/Switch/Switch.node.js",
|
||||
"dist/nodes/SyncroMSP/SyncroMsp.node.js",
|
||||
"dist/nodes/Taiga/Taiga.node.js",
|
||||
"dist/nodes/Taiga/TaigaTrigger.node.js",
|
||||
"dist/nodes/Tapfiliate/Tapfiliate.node.js",
|
||||
"dist/nodes/Telegram/Telegram.node.js",
|
||||
"dist/nodes/Telegram/TelegramTrigger.node.js",
|
||||
"dist/nodes/TheHiveProject/TheHiveProject.node.js",
|
||||
"dist/nodes/TheHiveProject/TheHiveProjectTrigger.node.js",
|
||||
"dist/nodes/TheHive/TheHive.node.js",
|
||||
"dist/nodes/TheHive/TheHiveTrigger.node.js",
|
||||
"dist/nodes/TimescaleDb/TimescaleDb.node.js",
|
||||
"dist/nodes/Todoist/Todoist.node.js",
|
||||
"dist/nodes/Toggl/TogglTrigger.node.js",
|
||||
"dist/nodes/Totp/Totp.node.js",
|
||||
"dist/nodes/TravisCi/TravisCi.node.js",
|
||||
"dist/nodes/Trello/Trello.node.js",
|
||||
"dist/nodes/Trello/TrelloTrigger.node.js",
|
||||
"dist/nodes/Twake/Twake.node.js",
|
||||
"dist/nodes/Twilio/Twilio.node.js",
|
||||
"dist/nodes/Twilio/TwilioTrigger.node.js",
|
||||
"dist/nodes/Twist/Twist.node.js",
|
||||
"dist/nodes/Twitter/Twitter.node.js",
|
||||
"dist/nodes/Typeform/TypeformTrigger.node.js",
|
||||
"dist/nodes/UnleashedSoftware/UnleashedSoftware.node.js",
|
||||
"dist/nodes/Uplead/Uplead.node.js",
|
||||
"dist/nodes/UProc/UProc.node.js",
|
||||
"dist/nodes/UptimeRobot/UptimeRobot.node.js",
|
||||
"dist/nodes/UrlScanIo/UrlScanIo.node.js",
|
||||
"dist/nodes/Vero/Vero.node.js",
|
||||
"dist/nodes/Venafi/ProtectCloud/VenafiTlsProtectCloud.node.js",
|
||||
"dist/nodes/Venafi/ProtectCloud/VenafiTlsProtectCloudTrigger.node.js",
|
||||
"dist/nodes/Venafi/Datacenter/VenafiTlsProtectDatacenter.node.js",
|
||||
"dist/nodes/Vonage/Vonage.node.js",
|
||||
"dist/nodes/Wait/Wait.node.js",
|
||||
"dist/nodes/Webflow/Webflow.node.js",
|
||||
"dist/nodes/Webflow/WebflowTrigger.node.js",
|
||||
"dist/nodes/Webhook/Webhook.node.js",
|
||||
"dist/nodes/Wekan/Wekan.node.js",
|
||||
"dist/nodes/WhatsApp/WhatsAppTrigger.node.js",
|
||||
"dist/nodes/WhatsApp/WhatsApp.node.js",
|
||||
"dist/nodes/Wise/Wise.node.js",
|
||||
"dist/nodes/Wise/WiseTrigger.node.js",
|
||||
"dist/nodes/WooCommerce/WooCommerce.node.js",
|
||||
"dist/nodes/WooCommerce/WooCommerceTrigger.node.js",
|
||||
"dist/nodes/Wordpress/Wordpress.node.js",
|
||||
"dist/nodes/Workable/WorkableTrigger.node.js",
|
||||
"dist/nodes/WorkflowTrigger/WorkflowTrigger.node.js",
|
||||
"dist/nodes/WriteBinaryFile/WriteBinaryFile.node.js",
|
||||
"dist/nodes/Wufoo/WufooTrigger.node.js",
|
||||
"dist/nodes/Xero/Xero.node.js",
|
||||
"dist/nodes/Xml/Xml.node.js",
|
||||
"dist/nodes/Yourls/Yourls.node.js",
|
||||
"dist/nodes/Zammad/Zammad.node.js",
|
||||
"dist/nodes/Zendesk/Zendesk.node.js",
|
||||
"dist/nodes/Zendesk/ZendeskTrigger.node.js",
|
||||
"dist/nodes/Zoho/ZohoCrm.node.js",
|
||||
"dist/nodes/Zoom/Zoom.node.js",
|
||||
"dist/nodes/Zulip/Zulip.node.js",
|
||||
"dist/nodes/Transform/Aggregate/Aggregate.node.js",
|
||||
"dist/nodes/Transform/Limit/Limit.node.js",
|
||||
"dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.js",
|
||||
"dist/nodes/Transform/SplitOut/SplitOut.node.js",
|
||||
"dist/nodes/Transform/Sort/Sort.node.js",
|
||||
"dist/nodes/Transform/Summarize/Summarize.node.js"
|
||||
]
|
||||
},
|
||||
"devDependencies": {
|
||||
"@n8n/typescript-config": "workspace:*",
|
||||
"@types/amqplib": "^0.10.1",
|
||||
"@types/aws4": "^1.5.1",
|
||||
"@types/basic-auth": "catalog:",
|
||||
"@types/cheerio": "^0.22.15",
|
||||
"@types/eventsource": "^1.1.2",
|
||||
"@types/express": "catalog:",
|
||||
"@types/gm": "^1.25.0",
|
||||
"@types/html-to-text": "^9.0.1",
|
||||
"@types/js-nacl": "^1.3.0",
|
||||
"@types/jsonwebtoken": "catalog:",
|
||||
"@types/lodash": "catalog:",
|
||||
"@types/lossless-json": "^1.0.0",
|
||||
"@types/mailparser": "^3.4.4",
|
||||
"@types/mime-types": "^2.1.0",
|
||||
"@types/mssql": "^9.1.5",
|
||||
"@types/nodemailer": "^6.4.14",
|
||||
"@types/promise-ftp": "^1.3.4",
|
||||
"@types/rfc2047": "^2.0.1",
|
||||
"@types/sanitize-html": "^2.11.0",
|
||||
"@types/showdown": "^1.9.4",
|
||||
"@types/ssh2-sftp-client": "^9.0.5",
|
||||
"@types/uuid": "catalog:",
|
||||
"@types/xml2js": "catalog:",
|
||||
"eslint-plugin-n8n-nodes-base": "^1.16.3",
|
||||
"n8n-core": "workspace:*"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-sso-oidc": "3.808.0",
|
||||
"@kafkajs/confluent-schema-registry": "3.8.0",
|
||||
"@mozilla/readability": "0.6.0",
|
||||
"@n8n/config": "workspace:*",
|
||||
"@n8n/di": "workspace:*",
|
||||
"@n8n/errors": "workspace:^",
|
||||
"@n8n/imap": "workspace:*",
|
||||
"@n8n/vm2": "3.9.25",
|
||||
"alasql": "4.4.0",
|
||||
"amqplib": "0.10.6",
|
||||
"aws4": "1.11.0",
|
||||
"basic-auth": "catalog:",
|
||||
"change-case": "4.1.2",
|
||||
"cheerio": "1.0.0-rc.6",
|
||||
"chokidar": "catalog:",
|
||||
"cron": "3.1.7",
|
||||
"csv-parse": "5.5.0",
|
||||
"currency-codes": "2.1.0",
|
||||
"eventsource": "2.0.2",
|
||||
"fast-glob": "catalog:",
|
||||
"fastest-levenshtein": "^1.0.16",
|
||||
"fflate": "0.7.4",
|
||||
"generate-schema": "2.6.0",
|
||||
"get-system-fonts": "2.0.2",
|
||||
"gm": "1.25.1",
|
||||
"html-to-text": "9.0.5",
|
||||
"iconv-lite": "catalog:",
|
||||
"ics": "2.40.0",
|
||||
"isbot": "3.6.13",
|
||||
"iso-639-1": "2.1.15",
|
||||
"js-nacl": "1.4.0",
|
||||
"jsdom": "23.0.1",
|
||||
"jsonwebtoken": "catalog:",
|
||||
"kafkajs": "2.2.4",
|
||||
"ldapts": "4.2.6",
|
||||
"lodash": "catalog:",
|
||||
"lossless-json": "1.0.5",
|
||||
"luxon": "catalog:",
|
||||
"mailparser": "3.6.7",
|
||||
"minifaker": "1.34.1",
|
||||
"moment-timezone": "0.5.48",
|
||||
"mongodb": "6.11.0",
|
||||
"mqtt": "5.7.2",
|
||||
"mssql": "10.0.2",
|
||||
"mysql2": "3.11.0",
|
||||
"n8n-workflow": "workspace:*",
|
||||
"node-html-markdown": "1.2.0",
|
||||
"node-ssh": "13.2.0",
|
||||
"nodemailer": "6.9.9",
|
||||
"otpauth": "9.1.1",
|
||||
"pdfjs-dist": "5.3.31",
|
||||
"pg": "8.12.0",
|
||||
"pg-promise": "11.9.1",
|
||||
"promise-ftp": "1.3.5",
|
||||
"pyodide": "0.28.0",
|
||||
"redis": "4.6.14",
|
||||
"rfc2047": "4.0.1",
|
||||
"rhea": "1.0.24",
|
||||
"rrule": "2.8.1",
|
||||
"rss-parser": "3.13.0",
|
||||
"sanitize-html": "2.12.1",
|
||||
"semver": "7.5.4",
|
||||
"showdown": "2.1.0",
|
||||
"simple-git": "3.17.0",
|
||||
"snowflake-sdk": "2.1.0",
|
||||
"ssh2-sftp-client": "12.0.1",
|
||||
"tmp-promise": "3.0.3",
|
||||
"ts-ics": "1.2.2",
|
||||
"uuid": "catalog:",
|
||||
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz",
|
||||
"xml2js": "catalog:",
|
||||
"xmlhttprequest-ssl": "3.1.0"
|
||||
}
|
||||
}
|
||||
12
n8n-n8n-1.109.2/packages/nodes-base/scripts/copy-nodes-json 2.js
Executable file
12
n8n-n8n-1.109.2/packages/nodes-base/scripts/copy-nodes-json 2.js
Executable file
@@ -0,0 +1,12 @@
|
||||
const glob = require('fast-glob');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
function copyJsonFiles(baseDir) {
|
||||
const files = glob.sync('nodes/**/*.node.json', { cwd: baseDir });
|
||||
for (const file of files) {
|
||||
fs.copyFileSync(path.resolve(baseDir, file), path.resolve(baseDir, 'dist', file));
|
||||
}
|
||||
}
|
||||
|
||||
copyJsonFiles(process.argv[2]);
|
||||
@@ -0,0 +1,43 @@
|
||||
let referencedMethods;
|
||||
let definedMethods;
|
||||
|
||||
try {
|
||||
referencedMethods = require('../dist/methods/referenced.json');
|
||||
definedMethods = require('../dist/methods/defined.json');
|
||||
} catch (error) {
|
||||
console.error(
|
||||
'Failed to find methods to validate. Please run `npm run n8n-generate-metadata` first.',
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const compareMethods = (base, other) => {
|
||||
const result = [];
|
||||
|
||||
for (const [nodeName, methods] of Object.entries(base)) {
|
||||
if (nodeName in other) {
|
||||
const found = methods.filter((item) => !other[nodeName].includes(item));
|
||||
|
||||
if (found.length > 0) result.push({ [nodeName]: found });
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
const referencedButUndefined = compareMethods(referencedMethods, definedMethods);
|
||||
|
||||
if (referencedButUndefined.length > 0) {
|
||||
console.error('ERROR: The following load options methods are referenced but undefined.');
|
||||
console.error('Please fix or remove the references or define the methods.');
|
||||
console.error(referencedButUndefined);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const definedButUnused = compareMethods(definedMethods, referencedMethods);
|
||||
|
||||
if (definedButUnused.length > 0) {
|
||||
console.warn('Warning: The following load options methods are defined but unused.');
|
||||
console.warn('Please consider using or removing the methods.');
|
||||
console.warn(definedButUnused);
|
||||
}
|
||||
1
n8n-n8n-1.109.2/packages/nodes-base/shims.d 2.ts
Executable file
1
n8n-n8n-1.109.2/packages/nodes-base/shims.d 2.ts
Executable file
@@ -0,0 +1 @@
|
||||
declare module 'minifaker';
|
||||
24
n8n-n8n-1.109.2/packages/nodes-base/tsconfig.build.cjs 2.json
Executable file
24
n8n-n8n-1.109.2/packages/nodes-base/tsconfig.build.cjs 2.json
Executable file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"extends": ["./tsconfig.json", "@n8n/typescript-config/modern/tsconfig.cjs.json"],
|
||||
"compilerOptions": {
|
||||
"outDir": "dist",
|
||||
"module": "commonjs",
|
||||
"tsBuildInfoFile": "dist/typecheck.tsbuildinfo"
|
||||
},
|
||||
"include": [
|
||||
"credentials/**/*.ts",
|
||||
"credentials/translations/**/*.json",
|
||||
"nodes/**/*.ts",
|
||||
"nodes/**/*.json",
|
||||
"types/**/*.ts",
|
||||
"utils/**/*.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
"nodes/**/*.test.ts",
|
||||
"credentials/**/*.test.ts",
|
||||
"utils/**/*.test.ts",
|
||||
"test/**",
|
||||
"../core/nodes-testing"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user