@edgeiq/edgeiq-api-js 1.3.69 → 1.4.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 (206) hide show
  1. package/README.md +55 -55
  2. package/dist/__tests__/auth.test.d.ts +1 -1
  3. package/dist/__tests__/auth.test.js +159 -159
  4. package/dist/__tests__/command.test.d.ts +1 -1
  5. package/dist/__tests__/command.test.js +212 -212
  6. package/dist/__tests__/companies.test.d.ts +1 -1
  7. package/dist/__tests__/companies.test.js +196 -196
  8. package/dist/__tests__/deviceErrors.test.d.ts +1 -1
  9. package/dist/__tests__/deviceErrors.test.js +72 -72
  10. package/dist/__tests__/deviceTypes.test.d.ts +1 -1
  11. package/dist/__tests__/deviceTypes.test.js +172 -172
  12. package/dist/__tests__/devices.test.d.ts +1 -1
  13. package/dist/__tests__/devices.test.js +232 -232
  14. package/dist/__tests__/discoveredDevice.test.d.ts +1 -1
  15. package/dist/__tests__/discoveredDevice.test.js +155 -155
  16. package/dist/__tests__/files.test.d.ts +1 -1
  17. package/dist/__tests__/files.test.js +162 -162
  18. package/dist/__tests__/ingestors.test.d.ts +1 -1
  19. package/dist/__tests__/ingestors.test.js +198 -198
  20. package/dist/__tests__/integrations.test.d.ts +1 -1
  21. package/dist/__tests__/integrations.test.js +211 -211
  22. package/dist/__tests__/lwm2m.test.d.ts +1 -1
  23. package/dist/__tests__/lwm2m.test.js +73 -73
  24. package/dist/__tests__/notifications.test.d.ts +1 -1
  25. package/dist/__tests__/notifications.test.js +72 -72
  26. package/dist/__tests__/pollableAttributes.test.d.ts +1 -1
  27. package/dist/__tests__/pollableAttributes.test.js +172 -172
  28. package/dist/__tests__/rules.test.d.ts +1 -1
  29. package/dist/__tests__/rules.test.js +172 -172
  30. package/dist/__tests__/translators.test.d.ts +1 -1
  31. package/dist/__tests__/translators.test.js +172 -172
  32. package/dist/__tests__/users.test.d.ts +1 -1
  33. package/dist/__tests__/users.test.js +208 -208
  34. package/dist/auth/index.d.ts +9 -9
  35. package/dist/auth/index.js +183 -183
  36. package/dist/bulkResponses/index.d.ts +8 -8
  37. package/dist/bulkResponses/index.js +124 -124
  38. package/dist/bulkResponses/models.d.ts +43 -43
  39. package/dist/bulkResponses/models.js +2 -2
  40. package/dist/commandExecutions/index.d.ts +8 -8
  41. package/dist/commandExecutions/index.js +220 -220
  42. package/dist/commandExecutions/models.d.ts +25 -25
  43. package/dist/commandExecutions/models.js +2 -2
  44. package/dist/commands/index.d.ts +18 -18
  45. package/dist/commands/index.js +378 -378
  46. package/dist/commands/models.d.ts +41 -41
  47. package/dist/commands/models.js +16 -16
  48. package/dist/companies/index.d.ts +10 -7
  49. package/dist/companies/index.js +246 -222
  50. package/dist/companies/models.d.ts +110 -110
  51. package/dist/companies/models.js +2 -2
  52. package/dist/configurations/index.d.ts +9 -9
  53. package/dist/configurations/index.js +223 -223
  54. package/dist/configurations/models.d.ts +34 -34
  55. package/dist/configurations/models.js +2 -2
  56. package/dist/constants.d.ts +153 -153
  57. package/dist/constants.js +169 -169
  58. package/dist/core/ModelClass.d.ts +13 -13
  59. package/dist/core/ModelClass.js +19 -19
  60. package/dist/core/handleResponseError.d.ts +2 -2
  61. package/dist/core/handleResponseError.js +167 -167
  62. package/dist/core/index.d.ts +19 -19
  63. package/dist/core/index.js +63 -63
  64. package/dist/deviceConfigs/index.d.ts +9 -9
  65. package/dist/deviceConfigs/index.js +224 -224
  66. package/dist/deviceConfigs/models.d.ts +38 -38
  67. package/dist/deviceConfigs/models.js +2 -2
  68. package/dist/deviceErrors/index.d.ts +8 -8
  69. package/dist/deviceErrors/index.js +124 -124
  70. package/dist/deviceErrors/models.d.ts +19 -19
  71. package/dist/deviceErrors/models.js +2 -2
  72. package/dist/deviceLocationObservations/index.d.ts +5 -5
  73. package/dist/deviceLocationObservations/index.js +189 -189
  74. package/dist/deviceLocationObservations/models.d.ts +26 -26
  75. package/dist/deviceLocationObservations/models.js +2 -2
  76. package/dist/deviceTemplates/index.d.ts +9 -9
  77. package/dist/deviceTemplates/index.js +226 -226
  78. package/dist/deviceTemplates/models.d.ts +36 -36
  79. package/dist/deviceTemplates/models.js +2 -2
  80. package/dist/deviceTransferRequests/index.d.ts +10 -10
  81. package/dist/deviceTransferRequests/index.js +247 -247
  82. package/dist/deviceTransferRequests/models.d.ts +26 -26
  83. package/dist/deviceTransferRequests/models.js +2 -2
  84. package/dist/deviceTypes/index.d.ts +20 -20
  85. package/dist/deviceTypes/index.js +464 -464
  86. package/dist/deviceTypes/models.d.ts +109 -109
  87. package/dist/deviceTypes/models.js +2 -2
  88. package/dist/devices/index.d.ts +32 -32
  89. package/dist/devices/index.js +730 -730
  90. package/dist/devices/models.d.ts +126 -126
  91. package/dist/devices/models.js +2 -2
  92. package/dist/discoveredDevices/index.d.ts +15 -15
  93. package/dist/discoveredDevices/index.js +361 -361
  94. package/dist/discoveredDevices/models.d.ts +41 -41
  95. package/dist/discoveredDevices/models.js +2 -2
  96. package/dist/downstreamSystems/index.d.ts +7 -7
  97. package/dist/downstreamSystems/index.js +198 -198
  98. package/dist/downstreamSystems/models.d.ts +17 -17
  99. package/dist/downstreamSystems/models.js +2 -2
  100. package/dist/escrowDevices/index.d.ts +9 -9
  101. package/dist/escrowDevices/index.js +224 -224
  102. package/dist/escrowDevices/models.d.ts +32 -32
  103. package/dist/escrowDevices/models.js +2 -2
  104. package/dist/files/index.d.ts +11 -11
  105. package/dist/files/index.js +278 -278
  106. package/dist/files/models.d.ts +20 -20
  107. package/dist/files/models.js +2 -2
  108. package/dist/filtersParser.d.ts +5 -5
  109. package/dist/filtersParser.js +54 -54
  110. package/dist/gatewayCommands/index.d.ts +9 -9
  111. package/dist/gatewayCommands/index.js +224 -224
  112. package/dist/gatewayCommands/models.d.ts +81 -81
  113. package/dist/gatewayCommands/models.js +2 -2
  114. package/dist/helpers.d.ts +3 -3
  115. package/dist/helpers.js +11 -11
  116. package/dist/index.d.ts +74 -74
  117. package/dist/index.js +124 -124
  118. package/dist/ingestors/index.d.ts +9 -9
  119. package/dist/ingestors/index.js +224 -224
  120. package/dist/ingestors/models.d.ts +97 -97
  121. package/dist/ingestors/models.js +2 -2
  122. package/dist/integrations/index.d.ts +10 -10
  123. package/dist/integrations/index.js +340 -340
  124. package/dist/integrations/models.d.ts +76 -76
  125. package/dist/integrations/models.js +2 -2
  126. package/dist/log/models.d.ts +6 -6
  127. package/dist/log/models.js +2 -2
  128. package/dist/lwm2m/index.d.ts +5 -5
  129. package/dist/lwm2m/index.js +84 -84
  130. package/dist/lwm2m/models.d.ts +68 -68
  131. package/dist/lwm2m/models.js +2 -2
  132. package/dist/models/index.d.ts +1893 -1893
  133. package/dist/models/index.js +2 -2
  134. package/dist/models.d.ts +67 -67
  135. package/dist/models.js +2 -2
  136. package/dist/notifications/index.d.ts +8 -8
  137. package/dist/notifications/index.js +124 -124
  138. package/dist/notifications/models.d.ts +19 -19
  139. package/dist/notifications/models.js +2 -2
  140. package/dist/pollableAttributes/index.d.ts +7 -7
  141. package/dist/pollableAttributes/index.js +198 -198
  142. package/dist/pollableAttributes/models.d.ts +49 -49
  143. package/dist/pollableAttributes/models.js +2 -2
  144. package/dist/regions/index.d.ts +5 -5
  145. package/dist/regions/index.js +173 -173
  146. package/dist/regions/models.d.ts +17 -17
  147. package/dist/regions/models.js +2 -2
  148. package/dist/reports/index.d.ts +8 -8
  149. package/dist/reports/index.js +199 -199
  150. package/dist/reports/models.d.ts +25 -25
  151. package/dist/reports/models.js +2 -2
  152. package/dist/rules/index.d.ts +12 -12
  153. package/dist/rules/index.js +272 -272
  154. package/dist/rules/models.d.ts +129 -129
  155. package/dist/rules/models.js +2 -2
  156. package/dist/secrets/index.d.ts +8 -8
  157. package/dist/secrets/index.js +199 -199
  158. package/dist/secrets/models.d.ts +18 -18
  159. package/dist/secrets/models.js +2 -2
  160. package/dist/settings/index.d.ts +7 -7
  161. package/dist/settings/index.js +198 -198
  162. package/dist/settings/models.d.ts +25 -25
  163. package/dist/settings/models.js +2 -2
  164. package/dist/settingsApplicationRecord/index.d.ts +6 -6
  165. package/dist/settingsApplicationRecord/index.js +79 -79
  166. package/dist/settingsApplicationRecord/models.d.ts +28 -28
  167. package/dist/settingsApplicationRecord/models.js +2 -2
  168. package/dist/softwareUpdates/index.d.ts +15 -15
  169. package/dist/softwareUpdates/index.js +374 -374
  170. package/dist/softwareUpdates/models.d.ts +31 -31
  171. package/dist/softwareUpdates/models.js +2 -2
  172. package/dist/stats/index.d.ts +9 -9
  173. package/dist/stats/index.js +140 -140
  174. package/dist/stats/models.d.ts +27 -27
  175. package/dist/stats/models.js +2 -2
  176. package/dist/systemCommandJobs/index.d.ts +5 -5
  177. package/dist/systemCommandJobs/index.js +173 -173
  178. package/dist/systemCommandJobs/models.d.ts +32 -32
  179. package/dist/systemCommandJobs/models.js +2 -2
  180. package/dist/systemCommands/index.d.ts +7 -7
  181. package/dist/systemCommands/index.js +198 -198
  182. package/dist/systemCommands/models.d.ts +32 -32
  183. package/dist/systemCommands/models.js +2 -2
  184. package/dist/testConstants.d.ts +50 -50
  185. package/dist/testConstants.js +332 -332
  186. package/dist/translators/index.d.ts +9 -9
  187. package/dist/translators/index.js +224 -224
  188. package/dist/translators/models.d.ts +21 -21
  189. package/dist/translators/models.js +2 -2
  190. package/dist/userTypes/index.d.ts +7 -7
  191. package/dist/userTypes/index.js +198 -198
  192. package/dist/userTypes/models.d.ts +79 -79
  193. package/dist/userTypes/models.js +2 -2
  194. package/dist/users/index.d.ts +12 -12
  195. package/dist/users/index.js +300 -300
  196. package/dist/users/models.d.ts +42 -42
  197. package/dist/users/models.js +2 -2
  198. package/package.json +56 -56
  199. package/dist/__tests__/testConstants.d.ts +0 -7
  200. package/dist/__tests__/testConstants.js +0 -14
  201. package/dist/example/index.d.ts +0 -1
  202. package/dist/example/index.js +0 -5
  203. package/dist/lwm2mState/index.d.ts +0 -5
  204. package/dist/lwm2mState/index.js +0 -71
  205. package/dist/lwm2mState/models.d.ts +0 -10
  206. package/dist/lwm2mState/models.js +0 -2
@@ -1,13 +1,13 @@
1
- import { AxiosInstance } from 'axios';
2
- import { PaginationFilter } from '../models';
3
- export interface BaseModelInterface<TClass, TClassInput, TFilters, TPaginatedClass> {
4
- create(item: TClassInput): Promise<TClass>;
5
- list(filters?: TFilters, pagination?: PaginationFilter): Promise<TPaginatedClass>;
6
- getOneById(id: string): Promise<TClass>;
7
- delete(id: string): Promise<string>;
8
- }
9
- export declare abstract class BaseModelClass {
10
- static getAxios(): AxiosInstance;
11
- static logAction(message: string): void;
12
- static logError(error: string): void;
13
- }
1
+ import { AxiosInstance } from 'axios';
2
+ import { PaginationFilter } from '../models';
3
+ export interface BaseModelInterface<TClass, TClassInput, TFilters, TPaginatedClass> {
4
+ create(item: TClassInput): Promise<TClass>;
5
+ list(filters?: TFilters, pagination?: PaginationFilter): Promise<TPaginatedClass>;
6
+ getOneById(id: string): Promise<TClass>;
7
+ delete(id: string): Promise<string>;
8
+ }
9
+ export declare abstract class BaseModelClass {
10
+ static getAxios(): AxiosInstance;
11
+ static logAction(message: string): void;
12
+ static logError(error: string): void;
13
+ }
@@ -1,19 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseModelClass = void 0;
4
- var _1 = require(".");
5
- var BaseModelClass = (function () {
6
- function BaseModelClass() {
7
- }
8
- BaseModelClass.getAxios = function () {
9
- return _1.EdgeIQAPI.getAxios();
10
- };
11
- BaseModelClass.logAction = function (message) {
12
- _1.EdgeIQAPI.logAction(message);
13
- };
14
- BaseModelClass.logError = function (error) {
15
- _1.EdgeIQAPI.logError(error);
16
- };
17
- return BaseModelClass;
18
- }());
19
- exports.BaseModelClass = BaseModelClass;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseModelClass = void 0;
4
+ var _1 = require(".");
5
+ var BaseModelClass = (function () {
6
+ function BaseModelClass() {
7
+ }
8
+ BaseModelClass.getAxios = function () {
9
+ return _1.EdgeIQAPI.getAxios();
10
+ };
11
+ BaseModelClass.logAction = function (message) {
12
+ _1.EdgeIQAPI.logAction(message);
13
+ };
14
+ BaseModelClass.logError = function (error) {
15
+ _1.EdgeIQAPI.logError(error);
16
+ };
17
+ return BaseModelClass;
18
+ }());
19
+ exports.BaseModelClass = BaseModelClass;
@@ -1,2 +1,2 @@
1
- import { AxiosError } from 'axios';
2
- export declare const handleResponseError: (error: AxiosError) => Promise<string>;
1
+ import { AxiosError } from 'axios';
2
+ export declare const handleResponseError: (error: AxiosError) => Promise<string>;
@@ -1,167 +1,167 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleResponseError = void 0;
4
- var constants_1 = require("../constants");
5
- var handleResponseError = function (error) {
6
- if (!error.response) {
7
- return handleDisconnected();
8
- }
9
- var status = error.response.status;
10
- var url = error.response.request.path;
11
- if (!url) {
12
- url = error.response.request.responseURL;
13
- }
14
- if ((status === 401 || status === 404) &&
15
- url &&
16
- url.indexOf(constants_1.Endpoints.login) >= 0) {
17
- return handleCredentials(error);
18
- }
19
- if (status === 401 && url && url.indexOf(constants_1.Endpoints.apiTokenReset) >= 0) {
20
- return handleCredentials(error);
21
- }
22
- if (status === 400 && url && url.indexOf(constants_1.Endpoints.passwordReset) >= 0) {
23
- return handlePasswordReset(error);
24
- }
25
- if (status === 401) {
26
- return handleSessionTimeout();
27
- }
28
- if (status === 403) {
29
- return handleUnauthorized();
30
- }
31
- return handleOtherErrors(error);
32
- };
33
- exports.handleResponseError = handleResponseError;
34
- var handleUnauthorized = function () {
35
- return Promise.reject(createError(constants_1.ResponseErrorsMessages.unauthorized, constants_1.ResponseErrorsNames.unauthorized));
36
- };
37
- var handleDisconnected = function () {
38
- return Promise.reject(createError(constants_1.ResponseErrorsMessages.disconnected, constants_1.ResponseErrorsNames.disconnected));
39
- };
40
- var handleSessionTimeout = function () {
41
- return Promise.reject(createError(constants_1.ResponseErrorsMessages.timeout, constants_1.ResponseErrorsNames.timeout));
42
- };
43
- var handleCredentials = function (error) {
44
- var _a;
45
- var uiErrorMessage = constants_1.ResponseErrorsMessages.credentials;
46
- var responseErrorMessage = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data.messages[0];
47
- if (responseErrorMessage &&
48
- responseErrorMessage.toLowerCase() === constants_1.ResponseErrorsMessages.notFound) {
49
- uiErrorMessage = constants_1.ResponseErrorsMessages.noUser;
50
- }
51
- else if (responseErrorMessage === constants_1.ResponseErrorsMessages.invalidPassword) {
52
- uiErrorMessage = constants_1.ResponseErrorsMessages.invalidPassword;
53
- }
54
- return Promise.reject(createError(uiErrorMessage, constants_1.ResponseErrorsNames.credentials));
55
- };
56
- var handlePasswordReset = function (error) {
57
- var _a, _b, _c;
58
- if ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) {
59
- var errorMessage = error.response.data.error.toLowerCase();
60
- if (errorMessage === constants_1.ResponseErrorsMessages.token.toLocaleLowerCase()) {
61
- return Promise.reject(constants_1.ResponseErrorsMessages.token);
62
- }
63
- else if (errorMessage ===
64
- constants_1.ResponseErrorsMessages.invalidPassword.toLocaleLowerCase()) {
65
- return Promise.reject(constants_1.ResponseErrorsMessages.invalidPassword);
66
- }
67
- return Promise.reject(createError((_c = error.response.data.messages) === null || _c === void 0 ? void 0 : _c.join('\n'), constants_1.ResponseErrorsNames.credentials));
68
- }
69
- return Promise.reject(createError(constants_1.ResponseErrorsMessages.unexpected, constants_1.ResponseErrorsNames.unexpected));
70
- };
71
- var handleOtherErrors = function (error) {
72
- var _a, _b;
73
- var path = null;
74
- var model = null;
75
- var action = '';
76
- if (((_a = error.response) === null || _a === void 0 ? void 0 : _a.request) &&
77
- error.response.request.path &&
78
- error.response.config &&
79
- error.response.config.method) {
80
- path = error.response.request.path.split('platform/')[1];
81
- model = path.split('?')[0];
82
- model = model.split('/')[0];
83
- }
84
- switch ((_b = error.response) === null || _b === void 0 ? void 0 : _b.config.method) {
85
- case 'put':
86
- if (model === constants_1.BaseEndpoints.deviceConfig &&
87
- error.response.data.messages) {
88
- error.response.data = error.response.data.messages.join('\n');
89
- return Promise.reject(createError(error.response.data, constants_1.ResponseErrorsNames.deviceConfig));
90
- }
91
- action = constants_1.MethodsActions.put;
92
- break;
93
- case 'post':
94
- if (path && path.indexOf(constants_1.BaseEndpoints.gatewayCommand) !== -1) {
95
- return Promise.reject(createError(constants_1.ResponseErrorsMessages.issueCommand, constants_1.ResponseErrorsNames.issueCommand));
96
- }
97
- else if (path && path.indexOf(constants_1.BaseEndpoints.gatewayCsvUpload) !== -1) {
98
- return Promise.reject(createError(constants_1.ResponseErrorsMessages.csvUpload, constants_1.ResponseErrorsNames.csvUpload));
99
- }
100
- else if (path && path.indexOf(constants_1.BaseEndpoints.file) !== -1) {
101
- return Promise.reject(createError(constants_1.ResponseErrorsMessages.fileUpload, constants_1.ResponseErrorsNames.fileUpload));
102
- }
103
- if (error.response.data.messages) {
104
- var text = error.response.data.messages[0];
105
- if (model === constants_1.BaseEndpoints.device) {
106
- if (text && text.indexOf(constants_1.ErrorParts.deviceExists) !== -1) {
107
- error.response.data = createError(text, constants_1.ResponseErrorsNames.duplicatedDevice);
108
- }
109
- else if (error.response.data.messages[0] === constants_1.ErrorParts.uniqueIdError) {
110
- error.response.data = createError(constants_1.ResponseErrorsMessages.deviceCharacters, constants_1.ResponseErrorsNames.deviceCharacters);
111
- }
112
- }
113
- else if (model === constants_1.BaseEndpoints.deviceConfig) {
114
- error.response.data = createError(error.response.data.messages.join('\n'), constants_1.ResponseErrorsNames.deviceConfig);
115
- }
116
- else if (text && text.indexOf(constants_1.ErrorParts.uniqueConstraint) !== -1) {
117
- error.response.data = createError(constants_1.ResponseErrorsMessages.uniqueConstraint(model), constants_1.ResponseErrorsNames.uniqueConstraint);
118
- }
119
- else if (text && text.indexOf(constants_1.ErrorParts.duplicateKey) !== -1) {
120
- error.response.data = createError(text, constants_1.ResponseErrorsNames.duplicateKey);
121
- }
122
- else if (error.response.data.error === constants_1.ResponseErrorsNames.createError) {
123
- error.response.data = createError(error.response.data.messages.join('\n'), constants_1.ResponseErrorsNames.createError);
124
- }
125
- return Promise.reject(error.response.data);
126
- }
127
- action = constants_1.MethodsActions.post;
128
- break;
129
- case 'delete':
130
- action = constants_1.MethodsActions.delete;
131
- break;
132
- case 'get':
133
- action = constants_1.MethodsActions.get;
134
- break;
135
- }
136
- var errorMessage = mapModelError(model, action);
137
- return Promise.reject(createError(errorMessage, constants_1.ResponseErrorsNames.unexpected));
138
- };
139
- function mapModelError(path, action) {
140
- var models = {
141
- devices: 'device ',
142
- user_types: 'role ',
143
- users: 'user ',
144
- rules: 'policy ',
145
- integrations: 'integration ',
146
- device_types: 'device type ',
147
- device_errors: 'device error ',
148
- device_configs: 'device config ',
149
- software_updates: 'software update ',
150
- device_ha_groups: 'device HA group ',
151
- reports: 'report ',
152
- notifications: 'alert ',
153
- gateway_commands: 'command ',
154
- bulk_responses: 'bulk job ',
155
- companies: 'account ',
156
- };
157
- if (models[path]) {
158
- return "There was an error " + action + " " + models[path] + " data.";
159
- }
160
- return 'An error has occurred.';
161
- }
162
- function createError(message, name) {
163
- return {
164
- message: message,
165
- name: name,
166
- };
167
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleResponseError = void 0;
4
+ var constants_1 = require("../constants");
5
+ var handleResponseError = function (error) {
6
+ if (!error.response) {
7
+ return handleDisconnected();
8
+ }
9
+ var status = error.response.status;
10
+ var url = error.response.request.path;
11
+ if (!url) {
12
+ url = error.response.request.responseURL;
13
+ }
14
+ if ((status === 401 || status === 404) &&
15
+ url &&
16
+ url.indexOf(constants_1.Endpoints.login) >= 0) {
17
+ return handleCredentials(error);
18
+ }
19
+ if (status === 401 && url && url.indexOf(constants_1.Endpoints.apiTokenReset) >= 0) {
20
+ return handleCredentials(error);
21
+ }
22
+ if (status === 400 && url && url.indexOf(constants_1.Endpoints.passwordReset) >= 0) {
23
+ return handlePasswordReset(error);
24
+ }
25
+ if (status === 401) {
26
+ return handleSessionTimeout();
27
+ }
28
+ if (status === 403) {
29
+ return handleUnauthorized();
30
+ }
31
+ return handleOtherErrors(error);
32
+ };
33
+ exports.handleResponseError = handleResponseError;
34
+ var handleUnauthorized = function () {
35
+ return Promise.reject(createError(constants_1.ResponseErrorsMessages.unauthorized, constants_1.ResponseErrorsNames.unauthorized));
36
+ };
37
+ var handleDisconnected = function () {
38
+ return Promise.reject(createError(constants_1.ResponseErrorsMessages.disconnected, constants_1.ResponseErrorsNames.disconnected));
39
+ };
40
+ var handleSessionTimeout = function () {
41
+ return Promise.reject(createError(constants_1.ResponseErrorsMessages.timeout, constants_1.ResponseErrorsNames.timeout));
42
+ };
43
+ var handleCredentials = function (error) {
44
+ var _a;
45
+ var uiErrorMessage = constants_1.ResponseErrorsMessages.credentials;
46
+ var responseErrorMessage = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data.messages[0];
47
+ if (responseErrorMessage &&
48
+ responseErrorMessage.toLowerCase() === constants_1.ResponseErrorsMessages.notFound) {
49
+ uiErrorMessage = constants_1.ResponseErrorsMessages.noUser;
50
+ }
51
+ else if (responseErrorMessage === constants_1.ResponseErrorsMessages.invalidPassword) {
52
+ uiErrorMessage = constants_1.ResponseErrorsMessages.invalidPassword;
53
+ }
54
+ return Promise.reject(createError(uiErrorMessage, constants_1.ResponseErrorsNames.credentials));
55
+ };
56
+ var handlePasswordReset = function (error) {
57
+ var _a, _b, _c;
58
+ if ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) {
59
+ var errorMessage = error.response.data.error.toLowerCase();
60
+ if (errorMessage === constants_1.ResponseErrorsMessages.token.toLocaleLowerCase()) {
61
+ return Promise.reject(constants_1.ResponseErrorsMessages.token);
62
+ }
63
+ else if (errorMessage ===
64
+ constants_1.ResponseErrorsMessages.invalidPassword.toLocaleLowerCase()) {
65
+ return Promise.reject(constants_1.ResponseErrorsMessages.invalidPassword);
66
+ }
67
+ return Promise.reject(createError((_c = error.response.data.messages) === null || _c === void 0 ? void 0 : _c.join('\n'), constants_1.ResponseErrorsNames.credentials));
68
+ }
69
+ return Promise.reject(createError(constants_1.ResponseErrorsMessages.unexpected, constants_1.ResponseErrorsNames.unexpected));
70
+ };
71
+ var handleOtherErrors = function (error) {
72
+ var _a, _b;
73
+ var path = null;
74
+ var model = null;
75
+ var action = '';
76
+ if (((_a = error.response) === null || _a === void 0 ? void 0 : _a.request) &&
77
+ error.response.request.path &&
78
+ error.response.config &&
79
+ error.response.config.method) {
80
+ path = error.response.request.path.split('platform/')[1];
81
+ model = path.split('?')[0];
82
+ model = model.split('/')[0];
83
+ }
84
+ switch ((_b = error.response) === null || _b === void 0 ? void 0 : _b.config.method) {
85
+ case 'put':
86
+ if (model === constants_1.BaseEndpoints.deviceConfig &&
87
+ error.response.data.messages) {
88
+ error.response.data = error.response.data.messages.join('\n');
89
+ return Promise.reject(createError(error.response.data, constants_1.ResponseErrorsNames.deviceConfig));
90
+ }
91
+ action = constants_1.MethodsActions.put;
92
+ break;
93
+ case 'post':
94
+ if (path && path.indexOf(constants_1.BaseEndpoints.gatewayCommand) !== -1) {
95
+ return Promise.reject(createError(constants_1.ResponseErrorsMessages.issueCommand, constants_1.ResponseErrorsNames.issueCommand));
96
+ }
97
+ else if (path && path.indexOf(constants_1.BaseEndpoints.gatewayCsvUpload) !== -1) {
98
+ return Promise.reject(createError(constants_1.ResponseErrorsMessages.csvUpload, constants_1.ResponseErrorsNames.csvUpload));
99
+ }
100
+ else if (path && path.indexOf(constants_1.BaseEndpoints.file) !== -1) {
101
+ return Promise.reject(createError(constants_1.ResponseErrorsMessages.fileUpload, constants_1.ResponseErrorsNames.fileUpload));
102
+ }
103
+ if (error.response.data.messages) {
104
+ var text = error.response.data.messages[0];
105
+ if (model === constants_1.BaseEndpoints.device) {
106
+ if (text && text.indexOf(constants_1.ErrorParts.deviceExists) !== -1) {
107
+ error.response.data = createError(text, constants_1.ResponseErrorsNames.duplicatedDevice);
108
+ }
109
+ else if (error.response.data.messages[0] === constants_1.ErrorParts.uniqueIdError) {
110
+ error.response.data = createError(constants_1.ResponseErrorsMessages.deviceCharacters, constants_1.ResponseErrorsNames.deviceCharacters);
111
+ }
112
+ }
113
+ else if (model === constants_1.BaseEndpoints.deviceConfig) {
114
+ error.response.data = createError(error.response.data.messages.join('\n'), constants_1.ResponseErrorsNames.deviceConfig);
115
+ }
116
+ else if (text && text.indexOf(constants_1.ErrorParts.uniqueConstraint) !== -1) {
117
+ error.response.data = createError(constants_1.ResponseErrorsMessages.uniqueConstraint(model), constants_1.ResponseErrorsNames.uniqueConstraint);
118
+ }
119
+ else if (text && text.indexOf(constants_1.ErrorParts.duplicateKey) !== -1) {
120
+ error.response.data = createError(text, constants_1.ResponseErrorsNames.duplicateKey);
121
+ }
122
+ else if (error.response.data.error === constants_1.ResponseErrorsNames.createError) {
123
+ error.response.data = createError(error.response.data.messages.join('\n'), constants_1.ResponseErrorsNames.createError);
124
+ }
125
+ return Promise.reject(error.response.data);
126
+ }
127
+ action = constants_1.MethodsActions.post;
128
+ break;
129
+ case 'delete':
130
+ action = constants_1.MethodsActions.delete;
131
+ break;
132
+ case 'get':
133
+ action = constants_1.MethodsActions.get;
134
+ break;
135
+ }
136
+ var errorMessage = mapModelError(model, action);
137
+ return Promise.reject(createError(errorMessage, constants_1.ResponseErrorsNames.unexpected));
138
+ };
139
+ function mapModelError(path, action) {
140
+ var models = {
141
+ devices: 'device ',
142
+ user_types: 'role ',
143
+ users: 'user ',
144
+ rules: 'policy ',
145
+ integrations: 'integration ',
146
+ device_types: 'device type ',
147
+ device_errors: 'device error ',
148
+ device_configs: 'device config ',
149
+ software_updates: 'software update ',
150
+ device_ha_groups: 'device HA group ',
151
+ reports: 'report ',
152
+ notifications: 'alert ',
153
+ gateway_commands: 'command ',
154
+ bulk_responses: 'bulk job ',
155
+ companies: 'account ',
156
+ };
157
+ if (models[path]) {
158
+ return "There was an error " + action + " " + models[path] + " data.";
159
+ }
160
+ return 'An error has occurred.';
161
+ }
162
+ function createError(message, name) {
163
+ return {
164
+ message: message,
165
+ name: name,
166
+ };
167
+ }
@@ -1,19 +1,19 @@
1
- import { AxiosInstance } from 'axios';
2
- export declare type EdgeIQAPIOptions = {
3
- url?: string;
4
- timeout?: number;
5
- enableLogging?: boolean;
6
- };
7
- export declare class EdgeIQAPI {
8
- private static url;
9
- private static timeout;
10
- private static enableLogging;
11
- private static axios;
12
- private static instance;
13
- constructor();
14
- static init(options?: EdgeIQAPIOptions): void;
15
- static getAxios(): AxiosInstance;
16
- static setSessionToken(token: string): void;
17
- static logAction(message: string): void;
18
- static logError(error: string): void;
19
- }
1
+ import { AxiosInstance } from 'axios';
2
+ export declare type EdgeIQAPIOptions = {
3
+ url?: string;
4
+ timeout?: number;
5
+ enableLogging?: boolean;
6
+ };
7
+ export declare class EdgeIQAPI {
8
+ private static url;
9
+ private static timeout;
10
+ private static enableLogging;
11
+ private static axios;
12
+ private static instance;
13
+ constructor();
14
+ static init(options?: EdgeIQAPIOptions): void;
15
+ static getAxios(): AxiosInstance;
16
+ static setSessionToken(token: string): void;
17
+ static logAction(message: string): void;
18
+ static logError(error: string): void;
19
+ }
@@ -1,63 +1,63 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.EdgeIQAPI = void 0;
7
- var axios_1 = __importDefault(require("axios"));
8
- var chalk_1 = __importDefault(require("chalk"));
9
- var constants_1 = require("../constants");
10
- var handleResponseError_1 = require("./handleResponseError");
11
- var EdgeIQAPI = (function () {
12
- function EdgeIQAPI() {
13
- throw new Error(constants_1.Errors.noInstance);
14
- }
15
- EdgeIQAPI.init = function (options) {
16
- if (EdgeIQAPI.instance) {
17
- throw new Error(constants_1.Errors.instanceInitiated);
18
- }
19
- if (options === null || options === void 0 ? void 0 : options.url) {
20
- EdgeIQAPI.url = options.url;
21
- }
22
- if (options === null || options === void 0 ? void 0 : options.timeout) {
23
- EdgeIQAPI.timeout = options.timeout;
24
- }
25
- if (options === null || options === void 0 ? void 0 : options.enableLogging) {
26
- EdgeIQAPI.enableLogging = options.enableLogging;
27
- }
28
- EdgeIQAPI.axios = axios_1.default.create({
29
- baseURL: EdgeIQAPI.url,
30
- timeout: EdgeIQAPI.timeout,
31
- headers: {
32
- 'Content-Type': 'application/json',
33
- },
34
- });
35
- EdgeIQAPI.axios.interceptors.request.use(function (config) {
36
- return config;
37
- }, function (error) { return Promise.reject(error); });
38
- EdgeIQAPI.axios.interceptors.response.use(function (response) {
39
- return response;
40
- }, function (error) {
41
- return (0, handleResponseError_1.handleResponseError)(error);
42
- });
43
- };
44
- EdgeIQAPI.getAxios = function () {
45
- return EdgeIQAPI.axios;
46
- };
47
- EdgeIQAPI.setSessionToken = function (token) {
48
- EdgeIQAPI.axios.defaults.headers.Authorization = token;
49
- };
50
- EdgeIQAPI.logAction = function (message) {
51
- if (EdgeIQAPI.enableLogging) {
52
- console.info(chalk_1.default.blue(message));
53
- }
54
- };
55
- EdgeIQAPI.logError = function (error) {
56
- console.info(chalk_1.default.red(error));
57
- };
58
- EdgeIQAPI.url = constants_1.defaultBaseUrl;
59
- EdgeIQAPI.timeout = 30000;
60
- EdgeIQAPI.enableLogging = false;
61
- return EdgeIQAPI;
62
- }());
63
- exports.EdgeIQAPI = EdgeIQAPI;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EdgeIQAPI = void 0;
7
+ var axios_1 = __importDefault(require("axios"));
8
+ var chalk_1 = __importDefault(require("chalk"));
9
+ var constants_1 = require("../constants");
10
+ var handleResponseError_1 = require("./handleResponseError");
11
+ var EdgeIQAPI = (function () {
12
+ function EdgeIQAPI() {
13
+ throw new Error(constants_1.Errors.noInstance);
14
+ }
15
+ EdgeIQAPI.init = function (options) {
16
+ if (EdgeIQAPI.instance) {
17
+ throw new Error(constants_1.Errors.instanceInitiated);
18
+ }
19
+ if (options === null || options === void 0 ? void 0 : options.url) {
20
+ EdgeIQAPI.url = options.url;
21
+ }
22
+ if (options === null || options === void 0 ? void 0 : options.timeout) {
23
+ EdgeIQAPI.timeout = options.timeout;
24
+ }
25
+ if (options === null || options === void 0 ? void 0 : options.enableLogging) {
26
+ EdgeIQAPI.enableLogging = options.enableLogging;
27
+ }
28
+ EdgeIQAPI.axios = axios_1.default.create({
29
+ baseURL: EdgeIQAPI.url,
30
+ timeout: EdgeIQAPI.timeout,
31
+ headers: {
32
+ 'Content-Type': 'application/json',
33
+ },
34
+ });
35
+ EdgeIQAPI.axios.interceptors.request.use(function (config) {
36
+ return config;
37
+ }, function (error) { return Promise.reject(error); });
38
+ EdgeIQAPI.axios.interceptors.response.use(function (response) {
39
+ return response;
40
+ }, function (error) {
41
+ return (0, handleResponseError_1.handleResponseError)(error);
42
+ });
43
+ };
44
+ EdgeIQAPI.getAxios = function () {
45
+ return EdgeIQAPI.axios;
46
+ };
47
+ EdgeIQAPI.setSessionToken = function (token) {
48
+ EdgeIQAPI.axios.defaults.headers.Authorization = token;
49
+ };
50
+ EdgeIQAPI.logAction = function (message) {
51
+ if (EdgeIQAPI.enableLogging) {
52
+ console.info(chalk_1.default.blue(message));
53
+ }
54
+ };
55
+ EdgeIQAPI.logError = function (error) {
56
+ console.info(chalk_1.default.red(error));
57
+ };
58
+ EdgeIQAPI.url = constants_1.defaultBaseUrl;
59
+ EdgeIQAPI.timeout = 30000;
60
+ EdgeIQAPI.enableLogging = false;
61
+ return EdgeIQAPI;
62
+ }());
63
+ exports.EdgeIQAPI = EdgeIQAPI;
@@ -1,9 +1,9 @@
1
- import { BaseModelInterface } from '../core/ModelClass';
2
- import { BulkActionResponse } from '../models';
3
- import { DeviceConfig, DeviceConfigInput, DeviceConfigsFilters, PaginatedDeviceConfigs } from './models';
4
- interface DeviceConfigsInterface extends BaseModelInterface<DeviceConfig, DeviceConfigInput, DeviceConfigsFilters, PaginatedDeviceConfigs> {
5
- update(deviceConfig: DeviceConfig): Promise<DeviceConfig>;
6
- deleteMultiple(ids: string[]): Promise<BulkActionResponse>;
7
- }
8
- export declare const DeviceConfigs: DeviceConfigsInterface;
9
- export {};
1
+ import { BaseModelInterface } from '../core/ModelClass';
2
+ import { BulkActionResponse } from '../models';
3
+ import { DeviceConfig, DeviceConfigInput, DeviceConfigsFilters, PaginatedDeviceConfigs } from './models';
4
+ interface DeviceConfigsInterface extends BaseModelInterface<DeviceConfig, DeviceConfigInput, DeviceConfigsFilters, PaginatedDeviceConfigs> {
5
+ update(deviceConfig: DeviceConfig): Promise<DeviceConfig>;
6
+ deleteMultiple(ids: string[]): Promise<BulkActionResponse>;
7
+ }
8
+ export declare const DeviceConfigs: DeviceConfigsInterface;
9
+ export {};