@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.
Files changed (51) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +409 -0
  3. package/dist/credentials/ThingsBoardApi.credentials.d.ts +7 -0
  4. package/dist/credentials/ThingsBoardApi.credentials.js +36 -0
  5. package/dist/credentials/ThingsBoardApi.credentials.js.map +1 -0
  6. package/dist/nodes/thingsboard/ThingsBoard.node.d.ts +5 -0
  7. package/dist/nodes/thingsboard/ThingsBoard.node.js +1748 -0
  8. package/dist/nodes/thingsboard/ThingsBoard.node.js.map +1 -0
  9. package/dist/nodes/thingsboard/ThingsBoard.node.json +36 -0
  10. package/dist/nodes/thingsboard/resources/AlarmResource.d.ts +10 -0
  11. package/dist/nodes/thingsboard/resources/AlarmResource.js +127 -0
  12. package/dist/nodes/thingsboard/resources/AlarmResource.js.map +1 -0
  13. package/dist/nodes/thingsboard/resources/AssetResource.d.ts +12 -0
  14. package/dist/nodes/thingsboard/resources/AssetResource.js +131 -0
  15. package/dist/nodes/thingsboard/resources/AssetResource.js.map +1 -0
  16. package/dist/nodes/thingsboard/resources/CustomerResource.d.ts +11 -0
  17. package/dist/nodes/thingsboard/resources/CustomerResource.js +95 -0
  18. package/dist/nodes/thingsboard/resources/CustomerResource.js.map +1 -0
  19. package/dist/nodes/thingsboard/resources/DashboardResource.d.ts +10 -0
  20. package/dist/nodes/thingsboard/resources/DashboardResource.js +109 -0
  21. package/dist/nodes/thingsboard/resources/DashboardResource.js.map +1 -0
  22. package/dist/nodes/thingsboard/resources/DeviceResource.d.ts +12 -0
  23. package/dist/nodes/thingsboard/resources/DeviceResource.js +137 -0
  24. package/dist/nodes/thingsboard/resources/DeviceResource.js.map +1 -0
  25. package/dist/nodes/thingsboard/resources/EntityGroupResource.d.ts +9 -0
  26. package/dist/nodes/thingsboard/resources/EntityGroupResource.js +71 -0
  27. package/dist/nodes/thingsboard/resources/EntityGroupResource.js.map +1 -0
  28. package/dist/nodes/thingsboard/resources/RelationResource.d.ts +11 -0
  29. package/dist/nodes/thingsboard/resources/RelationResource.js +144 -0
  30. package/dist/nodes/thingsboard/resources/RelationResource.js.map +1 -0
  31. package/dist/nodes/thingsboard/resources/TelemetryResource.d.ts +17 -0
  32. package/dist/nodes/thingsboard/resources/TelemetryResource.js +252 -0
  33. package/dist/nodes/thingsboard/resources/TelemetryResource.js.map +1 -0
  34. package/dist/nodes/thingsboard/thingsboard-black.svg +10 -0
  35. package/dist/nodes/thingsboard/thingsboard-white.svg +10 -0
  36. package/dist/nodes/thingsboard/thingsboard.svg +10 -0
  37. package/dist/nodes/thingsboard/utils/helpers.d.ts +10 -0
  38. package/dist/nodes/thingsboard/utils/helpers.js +95 -0
  39. package/dist/nodes/thingsboard/utils/helpers.js.map +1 -0
  40. package/dist/nodes/thingsboard/utils/requestHandler.d.ts +11 -0
  41. package/dist/nodes/thingsboard/utils/requestHandler.js +116 -0
  42. package/dist/nodes/thingsboard/utils/requestHandler.js.map +1 -0
  43. package/dist/nodes/thingsboard/utils/resourceRegistry.d.ts +5 -0
  44. package/dist/nodes/thingsboard/utils/resourceRegistry.js +32 -0
  45. package/dist/nodes/thingsboard/utils/resourceRegistry.js.map +1 -0
  46. package/dist/nodes/thingsboard/utils/types.d.ts +42 -0
  47. package/dist/nodes/thingsboard/utils/types.js +3 -0
  48. package/dist/nodes/thingsboard/utils/types.js.map +1 -0
  49. package/dist/package.json +77 -0
  50. package/dist/tsconfig.tsbuildinfo +1 -0
  51. package/package.json +77 -0
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DashboardResource = void 0;
4
+ const requestHandler_1 = require("../utils/requestHandler");
5
+ const helpers_1 = require("../utils/helpers");
6
+ class DashboardResource {
7
+ async execute(context, operation) {
8
+ switch (operation) {
9
+ case 'createDashboard':
10
+ return await this.createDashboard(context);
11
+ case 'getDashboardById':
12
+ return await this.getDashboardById(context);
13
+ case 'deleteDashboard':
14
+ return await this.deleteDashboard(context);
15
+ case 'getDashboards':
16
+ return await this.getDashboards(context);
17
+ case 'getCustomerDashboards':
18
+ return await this.getCustomerDashboards(context);
19
+ case 'getUserDashboards':
20
+ return await this.getUserDashboards(context);
21
+ default:
22
+ throw new Error(`Unknown dashboard operation: ${operation}`);
23
+ }
24
+ }
25
+ async createDashboard(context) {
26
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
27
+ const mode = (0, helpers_1.getOptionalParam)(executeFunctions, 'dashboardInputMode', itemIndex, 'title');
28
+ let body;
29
+ if (mode === 'json') {
30
+ body = (0, helpers_1.parseJsonInput)(executeFunctions, 'dashboardJson', itemIndex);
31
+ }
32
+ else {
33
+ const title = (0, helpers_1.validateRequired)(executeFunctions, 'dashboardTitle', itemIndex);
34
+ body = { title };
35
+ }
36
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
37
+ method: 'POST',
38
+ endpoint: '/api/dashboard',
39
+ body,
40
+ }, baseUrl, token);
41
+ }
42
+ async getDashboardById(context) {
43
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
44
+ const dashboardId = (0, helpers_1.validateRequired)(executeFunctions, 'dashboardId', itemIndex);
45
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
46
+ method: 'GET',
47
+ endpoint: `/api/dashboard/${dashboardId}`,
48
+ }, baseUrl, token);
49
+ }
50
+ async deleteDashboard(context) {
51
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
52
+ const dashboardId = (0, helpers_1.validateRequired)(executeFunctions, 'dashboardId', itemIndex);
53
+ await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
54
+ method: 'DELETE',
55
+ endpoint: `/api/dashboard/${dashboardId}`,
56
+ }, baseUrl, token);
57
+ return { deleted: true };
58
+ }
59
+ async getDashboards(context) {
60
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
61
+ const paginationParams = (0, helpers_1.buildPaginationQuery)(executeFunctions, itemIndex, 'dashboard');
62
+ const qs = (0, helpers_1.paginationToQueryString)(paginationParams);
63
+ const isMobileDashboard = (0, helpers_1.getOptionalParam)(executeFunctions, 'isMobileDashboard', itemIndex, false);
64
+ if (typeof isMobileDashboard === 'boolean') {
65
+ qs.mobile = isMobileDashboard;
66
+ }
67
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
68
+ method: 'GET',
69
+ endpoint: '/api/tenant/dashboards',
70
+ qs,
71
+ }, baseUrl, token);
72
+ }
73
+ async getCustomerDashboards(context) {
74
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
75
+ const customerId = (0, helpers_1.validateRequired)(executeFunctions, 'customerIdRequired', itemIndex);
76
+ const paginationParams = (0, helpers_1.buildPaginationQuery)(executeFunctions, itemIndex, 'dashboard');
77
+ const qs = (0, helpers_1.paginationToQueryString)(paginationParams);
78
+ const includeCustomers = (0, helpers_1.getOptionalParam)(executeFunctions, 'includeCustomers', itemIndex, false);
79
+ if (typeof includeCustomers === 'boolean') {
80
+ qs.includeCustomers = includeCustomers;
81
+ }
82
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
83
+ method: 'GET',
84
+ endpoint: `/api/customer/${customerId}/dashboards`,
85
+ qs,
86
+ }, baseUrl, token);
87
+ }
88
+ async getUserDashboards(context) {
89
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
90
+ const paginationParams = (0, helpers_1.buildPaginationQuery)(executeFunctions, itemIndex, 'dashboard');
91
+ const qs = (0, helpers_1.paginationToQueryString)(paginationParams);
92
+ const isMobileDashboard = (0, helpers_1.getOptionalParam)(executeFunctions, 'isMobileDashboard', itemIndex, false);
93
+ const allowedOperation = (0, helpers_1.getOptionalParam)(executeFunctions, 'dashboardOperation', itemIndex, '');
94
+ const userId = (0, helpers_1.getOptionalParam)(executeFunctions, 'userId', itemIndex, '');
95
+ if (typeof isMobileDashboard === 'boolean')
96
+ qs.mobile = isMobileDashboard;
97
+ if (allowedOperation)
98
+ qs.operation = allowedOperation;
99
+ if (userId)
100
+ qs.userId = userId;
101
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
102
+ method: 'GET',
103
+ endpoint: '/api/user/dashboards',
104
+ qs,
105
+ }, baseUrl, token);
106
+ }
107
+ }
108
+ exports.DashboardResource = DashboardResource;
109
+ //# sourceMappingURL=DashboardResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardResource.js","sourceRoot":"","sources":["../../../../nodes/thingsboard/resources/DashboardResource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { IOperationContext, IResourceHandler } from '../utils/types';
2
+ export declare class DeviceResource implements IResourceHandler {
3
+ execute(context: IOperationContext, operation: string): Promise<any>;
4
+ private getDeviceById;
5
+ private createDevice;
6
+ private deleteDevice;
7
+ private getTenantDevice;
8
+ private getTenantDevices;
9
+ private getCustomerDevices;
10
+ private getUserDevices;
11
+ private getDevicesByEntityGroupId;
12
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceResource = void 0;
4
+ const requestHandler_1 = require("../utils/requestHandler");
5
+ const helpers_1 = require("../utils/helpers");
6
+ class DeviceResource {
7
+ async execute(context, operation) {
8
+ switch (operation) {
9
+ case 'getDeviceById':
10
+ return await this.getDeviceById(context);
11
+ case 'createDevice':
12
+ return await this.createDevice(context);
13
+ case 'deleteDevice':
14
+ return await this.deleteDevice(context);
15
+ case 'getTenantDevice':
16
+ return await this.getTenantDevice(context);
17
+ case 'getTenantDevices':
18
+ return await this.getTenantDevices(context);
19
+ case 'getCustomerDevices':
20
+ return await this.getCustomerDevices(context);
21
+ case 'getUserDevices':
22
+ return await this.getUserDevices(context);
23
+ case 'getDevicesByEntityGroupId':
24
+ return await this.getDevicesByEntityGroupId(context);
25
+ default:
26
+ throw new Error(`Unknown device operation: ${operation}`);
27
+ }
28
+ }
29
+ async getDeviceById(context) {
30
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
31
+ const deviceId = (0, helpers_1.validateRequired)(executeFunctions, 'deviceId', itemIndex);
32
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
33
+ method: 'GET',
34
+ endpoint: `/api/device/${deviceId}`,
35
+ }, baseUrl, token);
36
+ }
37
+ async createDevice(context) {
38
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
39
+ const mode = (0, helpers_1.getOptionalParam)(executeFunctions, 'deviceInputMode', itemIndex, 'params');
40
+ let body;
41
+ const qs = {};
42
+ const accessToken = (0, helpers_1.getOptionalParam)(executeFunctions, 'deviceAccessToken', itemIndex, '');
43
+ if (accessToken) {
44
+ qs.accessToken = accessToken;
45
+ }
46
+ if (mode === 'json') {
47
+ body = (0, helpers_1.parseJsonInput)(executeFunctions, 'deviceJson', itemIndex);
48
+ }
49
+ else {
50
+ const name = (0, helpers_1.validateRequired)(executeFunctions, 'deviceNameCreate', itemIndex);
51
+ const type = (0, helpers_1.getOptionalParam)(executeFunctions, 'deviceTypeCreate', itemIndex, '');
52
+ const label = (0, helpers_1.getOptionalParam)(executeFunctions, 'deviceLabel', itemIndex, '');
53
+ const customerId = (0, helpers_1.getOptionalParam)(executeFunctions, 'customerIdDeviceCreate', itemIndex, '');
54
+ body = (0, helpers_1.buildEntityWithCustomer)(name, type, label, customerId);
55
+ }
56
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
57
+ method: 'POST',
58
+ endpoint: '/api/device',
59
+ qs,
60
+ body,
61
+ }, baseUrl, token);
62
+ }
63
+ async deleteDevice(context) {
64
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
65
+ const deviceId = (0, helpers_1.validateRequired)(executeFunctions, 'deviceId', itemIndex);
66
+ await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
67
+ method: 'DELETE',
68
+ endpoint: `/api/device/${deviceId}`,
69
+ }, baseUrl, token);
70
+ return { deleted: true };
71
+ }
72
+ async getTenantDevice(context) {
73
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
74
+ const deviceName = (0, helpers_1.validateRequired)(executeFunctions, 'deviceName', itemIndex);
75
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
76
+ method: 'GET',
77
+ endpoint: '/api/tenant/devices',
78
+ qs: { deviceName },
79
+ }, baseUrl, token);
80
+ }
81
+ async getTenantDevices(context) {
82
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
83
+ const paginationParams = (0, helpers_1.buildPaginationQuery)(executeFunctions, itemIndex, 'device');
84
+ const qs = (0, helpers_1.paginationToQueryString)(paginationParams);
85
+ const type = (0, helpers_1.getOptionalParam)(executeFunctions, 'deviceType', itemIndex, '');
86
+ if (type) {
87
+ qs.type = type;
88
+ }
89
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
90
+ method: 'GET',
91
+ endpoint: '/api/tenant/devices',
92
+ qs,
93
+ }, baseUrl, token);
94
+ }
95
+ async getCustomerDevices(context) {
96
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
97
+ const customerId = (0, helpers_1.validateRequired)(executeFunctions, 'customerIdRequired', itemIndex);
98
+ const paginationParams = (0, helpers_1.buildPaginationQuery)(executeFunctions, itemIndex, 'device');
99
+ const qs = (0, helpers_1.paginationToQueryString)(paginationParams);
100
+ const type = (0, helpers_1.getOptionalParam)(executeFunctions, 'deviceType', itemIndex, '');
101
+ if (type) {
102
+ qs.type = type;
103
+ }
104
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
105
+ method: 'GET',
106
+ endpoint: `/api/customer/${customerId}/devices`,
107
+ qs,
108
+ }, baseUrl, token);
109
+ }
110
+ async getUserDevices(context) {
111
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
112
+ const paginationParams = (0, helpers_1.buildPaginationQuery)(executeFunctions, itemIndex, 'device');
113
+ const qs = (0, helpers_1.paginationToQueryString)(paginationParams);
114
+ const type = (0, helpers_1.getOptionalParam)(executeFunctions, 'deviceType', itemIndex, '');
115
+ if (type) {
116
+ qs.type = type;
117
+ }
118
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
119
+ method: 'GET',
120
+ endpoint: '/api/user/devices',
121
+ qs,
122
+ }, baseUrl, token);
123
+ }
124
+ async getDevicesByEntityGroupId(context) {
125
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
126
+ const entityGroupId = (0, helpers_1.validateRequired)(executeFunctions, 'entityGroupId', itemIndex);
127
+ const paginationParams = (0, helpers_1.buildPaginationQuery)(executeFunctions, itemIndex, 'device');
128
+ const qs = (0, helpers_1.paginationToQueryString)(paginationParams);
129
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
130
+ method: 'GET',
131
+ endpoint: `/api/entityGroup/${entityGroupId}/devices`,
132
+ qs,
133
+ }, baseUrl, token);
134
+ }
135
+ }
136
+ exports.DeviceResource = DeviceResource;
137
+ //# sourceMappingURL=DeviceResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceResource.js","sourceRoot":"","sources":["../../../../nodes/thingsboard/resources/DeviceResource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { IOperationContext, IResourceHandler } from '../utils/types';
2
+ export declare class EntityGroupResource implements IResourceHandler {
3
+ execute(context: IOperationContext, operation: string): Promise<any>;
4
+ private getEntityGroupById;
5
+ private getEntityGroupsByType;
6
+ private getEntityGroupByOwnerAndNameAndType;
7
+ private getEntityGroupsByOwnerAndType;
8
+ private getEntityGroupsForEntity;
9
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityGroupResource = void 0;
4
+ const requestHandler_1 = require("../utils/requestHandler");
5
+ const helpers_1 = require("../utils/helpers");
6
+ class EntityGroupResource {
7
+ async execute(context, operation) {
8
+ switch (operation) {
9
+ case 'getEntityGroupById':
10
+ return await this.getEntityGroupById(context);
11
+ case 'getEntityGroupsByType':
12
+ return await this.getEntityGroupsByType(context);
13
+ case 'getEntityGroupByOwnerAndNameAndType':
14
+ return await this.getEntityGroupByOwnerAndNameAndType(context);
15
+ case 'getEntityGroupsByOwnerAndType':
16
+ return await this.getEntityGroupsByOwnerAndType(context);
17
+ case 'getEntityGroupsForEntity':
18
+ return await this.getEntityGroupsForEntity(context);
19
+ default:
20
+ throw new Error(`Unknown entity group operation: ${operation}`);
21
+ }
22
+ }
23
+ async getEntityGroupById(context) {
24
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
25
+ const entityGroupId = (0, helpers_1.validateRequired)(executeFunctions, 'entityGroupId', itemIndex);
26
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
27
+ method: 'GET',
28
+ endpoint: `/api/entityGroup/${entityGroupId}`,
29
+ }, baseUrl, token);
30
+ }
31
+ async getEntityGroupsByType(context) {
32
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
33
+ const groupType = (0, helpers_1.validateRequired)(executeFunctions, 'groupType', itemIndex);
34
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
35
+ method: 'GET',
36
+ endpoint: `/api/entityGroups/${groupType}`,
37
+ }, baseUrl, token);
38
+ }
39
+ async getEntityGroupByOwnerAndNameAndType(context) {
40
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
41
+ const ownerType = (0, helpers_1.validateRequired)(executeFunctions, 'ownerType', itemIndex);
42
+ const ownerId = (0, helpers_1.validateRequired)(executeFunctions, 'ownerId', itemIndex);
43
+ const groupType = (0, helpers_1.validateRequired)(executeFunctions, 'groupType', itemIndex);
44
+ const groupName = (0, helpers_1.validateRequired)(executeFunctions, 'groupName', itemIndex);
45
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
46
+ method: 'GET',
47
+ endpoint: `/api/entityGroup/${ownerType}/${ownerId}/${groupType}/${encodeURIComponent(groupName)}`,
48
+ }, baseUrl, token);
49
+ }
50
+ async getEntityGroupsByOwnerAndType(context) {
51
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
52
+ const ownerType = (0, helpers_1.validateRequired)(executeFunctions, 'ownerType', itemIndex);
53
+ const ownerId = (0, helpers_1.validateRequired)(executeFunctions, 'ownerId', itemIndex);
54
+ const groupType = (0, helpers_1.validateRequired)(executeFunctions, 'groupType', itemIndex);
55
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
56
+ method: 'GET',
57
+ endpoint: `/api/entityGroups/${ownerType}/${ownerId}/${groupType}`,
58
+ }, baseUrl, token);
59
+ }
60
+ async getEntityGroupsForEntity(context) {
61
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
62
+ const groupType = (0, helpers_1.validateRequired)(executeFunctions, 'groupType', itemIndex);
63
+ const entityId = (0, helpers_1.validateRequired)(executeFunctions, 'entityId', itemIndex);
64
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
65
+ method: 'GET',
66
+ endpoint: `/api/entityGroups/${groupType}/${entityId}`,
67
+ }, baseUrl, token);
68
+ }
69
+ }
70
+ exports.EntityGroupResource = EntityGroupResource;
71
+ //# sourceMappingURL=EntityGroupResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityGroupResource.js","sourceRoot":"","sources":["../../../../nodes/thingsboard/resources/EntityGroupResource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { IOperationContext, IResourceHandler } from '../utils/types';
2
+ export declare class RelationResource implements IResourceHandler {
3
+ execute(context: IOperationContext, operation: string): Promise<any>;
4
+ private getRelation;
5
+ private findByFrom;
6
+ private findByFromWithRelationType;
7
+ private findByTo;
8
+ private findByToWithRelationType;
9
+ private findInfoByFrom;
10
+ private findInfoByTo;
11
+ }
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelationResource = void 0;
4
+ const requestHandler_1 = require("../utils/requestHandler");
5
+ const helpers_1 = require("../utils/helpers");
6
+ class RelationResource {
7
+ async execute(context, operation) {
8
+ switch (operation) {
9
+ case 'getRelation':
10
+ return await this.getRelation(context);
11
+ case 'findByFrom':
12
+ return await this.findByFrom(context);
13
+ case 'findByFromWithRelationType':
14
+ return await this.findByFromWithRelationType(context);
15
+ case 'findByTo':
16
+ return await this.findByTo(context);
17
+ case 'findByToWithRelationType':
18
+ return await this.findByToWithRelationType(context);
19
+ case 'findInfoByFrom':
20
+ return await this.findInfoByFrom(context);
21
+ case 'findInfoByTo':
22
+ return await this.findInfoByTo(context);
23
+ default:
24
+ throw new Error(`Unknown relation operation: ${operation}`);
25
+ }
26
+ }
27
+ async getRelation(context) {
28
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
29
+ const fromId = (0, helpers_1.validateRequired)(executeFunctions, 'fromId', itemIndex);
30
+ const fromType = (0, helpers_1.validateRequired)(executeFunctions, 'fromType', itemIndex);
31
+ const relationType = (0, helpers_1.validateRequired)(executeFunctions, 'relationType', itemIndex);
32
+ const toId = (0, helpers_1.validateRequired)(executeFunctions, 'toId', itemIndex);
33
+ const toType = (0, helpers_1.validateRequired)(executeFunctions, 'toType', itemIndex);
34
+ const qs = {
35
+ fromId,
36
+ fromType,
37
+ relationType,
38
+ relationTypeGroup: 'COMMON',
39
+ toId,
40
+ toType,
41
+ };
42
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
43
+ method: 'GET',
44
+ endpoint: '/api/relation',
45
+ qs,
46
+ }, baseUrl, token);
47
+ }
48
+ async findByFrom(context) {
49
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
50
+ const fromId = (0, helpers_1.validateRequired)(executeFunctions, 'fromId', itemIndex);
51
+ const fromType = (0, helpers_1.validateRequired)(executeFunctions, 'fromType', itemIndex);
52
+ const qs = {
53
+ fromId,
54
+ fromType,
55
+ relationTypeGroup: 'COMMON',
56
+ };
57
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
58
+ method: 'GET',
59
+ endpoint: '/api/relations',
60
+ qs,
61
+ }, baseUrl, token);
62
+ }
63
+ async findByFromWithRelationType(context) {
64
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
65
+ const fromId = (0, helpers_1.validateRequired)(executeFunctions, 'fromId', itemIndex);
66
+ const fromType = (0, helpers_1.validateRequired)(executeFunctions, 'fromType', itemIndex);
67
+ const relationType = (0, helpers_1.validateRequired)(executeFunctions, 'relationType', itemIndex);
68
+ const qs = {
69
+ fromId,
70
+ fromType,
71
+ relationType,
72
+ relationTypeGroup: 'COMMON',
73
+ };
74
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
75
+ method: 'GET',
76
+ endpoint: '/api/relations',
77
+ qs,
78
+ }, baseUrl, token);
79
+ }
80
+ async findByTo(context) {
81
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
82
+ const toId = (0, helpers_1.validateRequired)(executeFunctions, 'toId', itemIndex);
83
+ const toType = (0, helpers_1.validateRequired)(executeFunctions, 'toType', itemIndex);
84
+ const qs = {
85
+ toId,
86
+ toType,
87
+ relationTypeGroup: 'COMMON',
88
+ };
89
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
90
+ method: 'GET',
91
+ endpoint: '/api/relations',
92
+ qs,
93
+ }, baseUrl, token);
94
+ }
95
+ async findByToWithRelationType(context) {
96
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
97
+ const toId = (0, helpers_1.validateRequired)(executeFunctions, 'toId', itemIndex);
98
+ const toType = (0, helpers_1.validateRequired)(executeFunctions, 'toType', itemIndex);
99
+ const relationType = (0, helpers_1.validateRequired)(executeFunctions, 'relationType', itemIndex);
100
+ const qs = {
101
+ toId,
102
+ toType,
103
+ relationType,
104
+ relationTypeGroup: 'COMMON',
105
+ };
106
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
107
+ method: 'GET',
108
+ endpoint: '/api/relations',
109
+ qs,
110
+ }, baseUrl, token);
111
+ }
112
+ async findInfoByFrom(context) {
113
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
114
+ const fromId = (0, helpers_1.validateRequired)(executeFunctions, 'fromId', itemIndex);
115
+ const fromType = (0, helpers_1.validateRequired)(executeFunctions, 'fromType', itemIndex);
116
+ const qs = {
117
+ fromId,
118
+ fromType,
119
+ relationTypeGroup: 'COMMON',
120
+ };
121
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
122
+ method: 'GET',
123
+ endpoint: '/api/relations/info',
124
+ qs,
125
+ }, baseUrl, token);
126
+ }
127
+ async findInfoByTo(context) {
128
+ const { executeFunctions, itemIndex, baseUrl, token } = context;
129
+ const toId = (0, helpers_1.validateRequired)(executeFunctions, 'toId', itemIndex);
130
+ const toType = (0, helpers_1.validateRequired)(executeFunctions, 'toType', itemIndex);
131
+ const qs = {
132
+ toId,
133
+ toType,
134
+ relationTypeGroup: 'COMMON',
135
+ };
136
+ return await (0, requestHandler_1.makeThingsBoardRequest)(executeFunctions, {
137
+ method: 'GET',
138
+ endpoint: '/api/relations/info',
139
+ qs,
140
+ }, baseUrl, token);
141
+ }
142
+ }
143
+ exports.RelationResource = RelationResource;
144
+ //# sourceMappingURL=RelationResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationResource.js","sourceRoot":"","sources":["../../../../nodes/thingsboard/resources/RelationResource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { IOperationContext, IResourceHandler } from '../utils/types';
2
+ export declare class TelemetryResource implements IResourceHandler {
3
+ execute(context: IOperationContext, operation: string): Promise<any>;
4
+ private getTimeseries;
5
+ private getTimeseriesKeys;
6
+ private getLatestTimeseries;
7
+ private getAttributes;
8
+ private getAttributeKeys;
9
+ private getAttributeKeysByScope;
10
+ private saveEntityAttributes;
11
+ private saveDeviceAttributes;
12
+ private saveEntityTelemetry;
13
+ private saveEntityTelemetryWithTTL;
14
+ private deleteEntityAttributes;
15
+ private deleteDeviceAttributes;
16
+ private deleteEntityTimeseries;
17
+ }