@thingsboard/n8n-nodes-thingsboard 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +19 -0
- package/README.md +409 -0
- package/dist/credentials/ThingsBoardApi.credentials.d.ts +7 -0
- package/dist/credentials/ThingsBoardApi.credentials.js +36 -0
- package/dist/credentials/ThingsBoardApi.credentials.js.map +1 -0
- package/dist/nodes/thingsboard/ThingsBoard.node.d.ts +5 -0
- package/dist/nodes/thingsboard/ThingsBoard.node.js +1748 -0
- package/dist/nodes/thingsboard/ThingsBoard.node.js.map +1 -0
- package/dist/nodes/thingsboard/ThingsBoard.node.json +36 -0
- package/dist/nodes/thingsboard/resources/AlarmResource.d.ts +10 -0
- package/dist/nodes/thingsboard/resources/AlarmResource.js +127 -0
- package/dist/nodes/thingsboard/resources/AlarmResource.js.map +1 -0
- package/dist/nodes/thingsboard/resources/AssetResource.d.ts +12 -0
- package/dist/nodes/thingsboard/resources/AssetResource.js +131 -0
- package/dist/nodes/thingsboard/resources/AssetResource.js.map +1 -0
- package/dist/nodes/thingsboard/resources/CustomerResource.d.ts +11 -0
- package/dist/nodes/thingsboard/resources/CustomerResource.js +95 -0
- package/dist/nodes/thingsboard/resources/CustomerResource.js.map +1 -0
- package/dist/nodes/thingsboard/resources/DashboardResource.d.ts +10 -0
- package/dist/nodes/thingsboard/resources/DashboardResource.js +109 -0
- package/dist/nodes/thingsboard/resources/DashboardResource.js.map +1 -0
- package/dist/nodes/thingsboard/resources/DeviceResource.d.ts +12 -0
- package/dist/nodes/thingsboard/resources/DeviceResource.js +137 -0
- package/dist/nodes/thingsboard/resources/DeviceResource.js.map +1 -0
- package/dist/nodes/thingsboard/resources/EntityGroupResource.d.ts +9 -0
- package/dist/nodes/thingsboard/resources/EntityGroupResource.js +71 -0
- package/dist/nodes/thingsboard/resources/EntityGroupResource.js.map +1 -0
- package/dist/nodes/thingsboard/resources/RelationResource.d.ts +11 -0
- package/dist/nodes/thingsboard/resources/RelationResource.js +144 -0
- package/dist/nodes/thingsboard/resources/RelationResource.js.map +1 -0
- package/dist/nodes/thingsboard/resources/TelemetryResource.d.ts +17 -0
- package/dist/nodes/thingsboard/resources/TelemetryResource.js +252 -0
- package/dist/nodes/thingsboard/resources/TelemetryResource.js.map +1 -0
- package/dist/nodes/thingsboard/thingsboard-black.svg +10 -0
- package/dist/nodes/thingsboard/thingsboard-white.svg +10 -0
- package/dist/nodes/thingsboard/thingsboard.svg +10 -0
- package/dist/nodes/thingsboard/utils/helpers.d.ts +10 -0
- package/dist/nodes/thingsboard/utils/helpers.js +95 -0
- package/dist/nodes/thingsboard/utils/helpers.js.map +1 -0
- package/dist/nodes/thingsboard/utils/requestHandler.d.ts +11 -0
- package/dist/nodes/thingsboard/utils/requestHandler.js +116 -0
- package/dist/nodes/thingsboard/utils/requestHandler.js.map +1 -0
- package/dist/nodes/thingsboard/utils/resourceRegistry.d.ts +5 -0
- package/dist/nodes/thingsboard/utils/resourceRegistry.js +32 -0
- package/dist/nodes/thingsboard/utils/resourceRegistry.js.map +1 -0
- package/dist/nodes/thingsboard/utils/types.d.ts +42 -0
- package/dist/nodes/thingsboard/utils/types.js +3 -0
- package/dist/nodes/thingsboard/utils/types.js.map +1 -0
- package/dist/package.json +77 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceRegistry = void 0;
|
|
4
|
+
const DeviceResource_1 = require("../resources/DeviceResource");
|
|
5
|
+
const AssetResource_1 = require("../resources/AssetResource");
|
|
6
|
+
const CustomerResource_1 = require("../resources/CustomerResource");
|
|
7
|
+
const AlarmResource_1 = require("../resources/AlarmResource");
|
|
8
|
+
const TelemetryResource_1 = require("../resources/TelemetryResource");
|
|
9
|
+
const RelationResource_1 = require("../resources/RelationResource");
|
|
10
|
+
const EntityGroupResource_1 = require("../resources/EntityGroupResource");
|
|
11
|
+
const DashboardResource_1 = require("../resources/DashboardResource");
|
|
12
|
+
class ResourceRegistry {
|
|
13
|
+
static getHandler(resource) {
|
|
14
|
+
const handler = this.handlers.get(resource);
|
|
15
|
+
if (!handler) {
|
|
16
|
+
throw new Error(`Unknown resource: ${resource}`);
|
|
17
|
+
}
|
|
18
|
+
return handler;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.ResourceRegistry = ResourceRegistry;
|
|
22
|
+
ResourceRegistry.handlers = new Map([
|
|
23
|
+
['device', new DeviceResource_1.DeviceResource()],
|
|
24
|
+
['asset', new AssetResource_1.AssetResource()],
|
|
25
|
+
['customer', new CustomerResource_1.CustomerResource()],
|
|
26
|
+
['alarm', new AlarmResource_1.AlarmResource()],
|
|
27
|
+
['telemetry', new TelemetryResource_1.TelemetryResource()],
|
|
28
|
+
['relation', new RelationResource_1.RelationResource()],
|
|
29
|
+
['entityGroup', new EntityGroupResource_1.EntityGroupResource()],
|
|
30
|
+
['dashboard', new DashboardResource_1.DashboardResource()],
|
|
31
|
+
]);
|
|
32
|
+
//# sourceMappingURL=resourceRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resourceRegistry.js","sourceRoot":"","sources":["../../../../nodes/thingsboard/utils/resourceRegistry.ts"],"names":[],"mappings":";;;AAKA,gEAA6D;AAC7D,8DAA2D;AAC3D,oEAAiE;AACjE,8DAA2D;AAC3D,sEAAmE;AACnE,oEAAiE;AACjE,0EAAuE;AACvE,sEAAmE;AAMnE,MAAa,gBAAgB;IAkB5B,MAAM,CAAC,UAAU,CAAC,QAAgB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAA+B,CAAC,CAAC;QAEnE,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;;AA1BF,4CA2BC;AA1Be,yBAAQ,GAA+C,IAAI,GAAG,CAG3E;IACD,CAAC,QAAQ,EAAE,IAAI,+BAAc,EAAE,CAAC;IAChC,CAAC,OAAO,EAAE,IAAI,6BAAa,EAAE,CAAC;IAC9B,CAAC,UAAU,EAAE,IAAI,mCAAgB,EAAE,CAAC;IACpC,CAAC,OAAO,EAAE,IAAI,6BAAa,EAAE,CAAC;IAC9B,CAAC,WAAW,EAAE,IAAI,qCAAiB,EAAE,CAAC;IACtC,CAAC,UAAU,EAAE,IAAI,mCAAgB,EAAE,CAAC;IACpC,CAAC,aAAa,EAAE,IAAI,yCAAmB,EAAE,CAAC;IAC1C,CAAC,WAAW,EAAE,IAAI,qCAAiB,EAAE,CAAC;CACtC,CAAC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { IExecuteFunctions } from 'n8n-workflow';
|
|
2
|
+
export interface IThingsBoardCredentials {
|
|
3
|
+
baseUrl: string;
|
|
4
|
+
username: string;
|
|
5
|
+
password: string;
|
|
6
|
+
}
|
|
7
|
+
export interface IPaginationParams {
|
|
8
|
+
pageSize?: number;
|
|
9
|
+
page?: number;
|
|
10
|
+
textSearch?: string;
|
|
11
|
+
sortProperty?: string;
|
|
12
|
+
sortOrder?: 'ASC' | 'DESC';
|
|
13
|
+
}
|
|
14
|
+
export type QueryString = Record<string, string | number | boolean | undefined>;
|
|
15
|
+
export interface IThingsBoardRequestOptions {
|
|
16
|
+
method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH';
|
|
17
|
+
endpoint: string;
|
|
18
|
+
qs?: QueryString;
|
|
19
|
+
body?: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
export interface IOperationContext {
|
|
22
|
+
executeFunctions: IExecuteFunctions;
|
|
23
|
+
itemIndex: number;
|
|
24
|
+
baseUrl: string;
|
|
25
|
+
token: string;
|
|
26
|
+
}
|
|
27
|
+
export interface IResourceHandler {
|
|
28
|
+
execute(context: IOperationContext, operation: string): Promise<any>;
|
|
29
|
+
}
|
|
30
|
+
export type ThingsBoardResource = 'device' | 'asset' | 'customer' | 'alarm' | 'dashboard' | 'telemetry' | 'relation' | 'entityGroup';
|
|
31
|
+
export interface IEntityWithCustomer {
|
|
32
|
+
name: string;
|
|
33
|
+
type?: string;
|
|
34
|
+
label?: string;
|
|
35
|
+
customerId?: {
|
|
36
|
+
id: string;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface IDashboard {
|
|
40
|
+
title: string;
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../nodes/thingsboard/utils/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@thingsboard/n8n-nodes-thingsboard",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "n8n node for ThingsBoard",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"n8n",
|
|
7
|
+
"n8n-community-node-package",
|
|
8
|
+
"thingsboard"
|
|
9
|
+
],
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"homepage": "https://n8n.io",
|
|
12
|
+
"author": {
|
|
13
|
+
"name": "Andrii Landiak",
|
|
14
|
+
"email": "alandiak@thingsboard.io"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/thingsboard/thingsboard-n8n-node.git"
|
|
19
|
+
},
|
|
20
|
+
"engines": {
|
|
21
|
+
"node": ">=20.15"
|
|
22
|
+
},
|
|
23
|
+
"main": "dist/nodes/thingsboard/ThingsBoard.node.js",
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "npx rimraf dist && npx tsc && gulp build:icons",
|
|
26
|
+
"dev": "tsc --watch",
|
|
27
|
+
"format": "prettier nodes credentials --write",
|
|
28
|
+
"lint": "eslint nodes credentials package.json",
|
|
29
|
+
"lintfix": "eslint nodes credentials package.json --fix",
|
|
30
|
+
"prepublishOnly": "npm run build && npm run lint -c .eslintrc.prepublish.js nodes credentials package.json"
|
|
31
|
+
},
|
|
32
|
+
"files": ["dist", "README.md", "LICENSE.md", "package.json"],
|
|
33
|
+
"n8n": {
|
|
34
|
+
"n8nNodesApiVersion": 1,
|
|
35
|
+
"credentials": [
|
|
36
|
+
"dist/credentials/ThingsBoardApi.credentials.js"
|
|
37
|
+
],
|
|
38
|
+
"nodes": [
|
|
39
|
+
"dist/nodes/thingsboard/ThingsBoard.node.js"
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@types/node": "^20.19.19",
|
|
44
|
+
"@types/request": "^2.48.13",
|
|
45
|
+
"@typescript-eslint/parser": "~8.32.0",
|
|
46
|
+
"eslint": "^8.57.0",
|
|
47
|
+
"eslint-plugin-n8n-nodes-base": "^1.16.3",
|
|
48
|
+
"gulp": "^5.0.1",
|
|
49
|
+
"n8n-core": "^1.114.0",
|
|
50
|
+
"n8n-workflow": "^1.112.0",
|
|
51
|
+
"prettier": "^3.5.3",
|
|
52
|
+
"rimraf": "^6.0.1",
|
|
53
|
+
"typescript": "^5.8.3"
|
|
54
|
+
},
|
|
55
|
+
"peerDependencies": {
|
|
56
|
+
"n8n-core": "^1.0.0",
|
|
57
|
+
"n8n-workflow": "^1.0.0"
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {},
|
|
60
|
+
"overrides": {
|
|
61
|
+
"@azure/identity": "^4.2.1",
|
|
62
|
+
"form-data": "^4.0.4",
|
|
63
|
+
"semver": "^5.7.2",
|
|
64
|
+
"@n8n/imap": {
|
|
65
|
+
"semver": "^5.7.2",
|
|
66
|
+
"utf7": {
|
|
67
|
+
"semver": "^5.7.2"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"string-width-cjs": "npm:string-width@4.2.3",
|
|
71
|
+
"strip-ansi-cjs": "npm:strip-ansi@6.0.1",
|
|
72
|
+
"wrap-ansi-cjs": "npm:wrap-ansi@7.0.0"
|
|
73
|
+
},
|
|
74
|
+
"bugs": {
|
|
75
|
+
"url": "https://github.com/thingsboard/thingsboard-n8n-node/issues"
|
|
76
|
+
}
|
|
77
|
+
}
|