@edgeiq/edgeiq-api-js 1.4.4 → 1.4.6

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 (210) 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__/testConstants.d.ts +7 -0
  31. package/dist/__tests__/testConstants.js +14 -0
  32. package/dist/__tests__/translators.test.d.ts +1 -1
  33. package/dist/__tests__/translators.test.js +172 -172
  34. package/dist/__tests__/users.test.d.ts +1 -1
  35. package/dist/__tests__/users.test.js +208 -208
  36. package/dist/auth/index.d.ts +9 -9
  37. package/dist/auth/index.js +183 -183
  38. package/dist/bulkResponses/index.d.ts +8 -8
  39. package/dist/bulkResponses/index.js +124 -124
  40. package/dist/bulkResponses/models.d.ts +45 -44
  41. package/dist/bulkResponses/models.js +2 -2
  42. package/dist/commandExecutions/index.d.ts +8 -8
  43. package/dist/commandExecutions/index.js +220 -220
  44. package/dist/commandExecutions/models.d.ts +26 -25
  45. package/dist/commandExecutions/models.js +2 -2
  46. package/dist/commands/index.d.ts +18 -18
  47. package/dist/commands/index.js +378 -378
  48. package/dist/commands/models.d.ts +40 -39
  49. package/dist/commands/models.js +16 -16
  50. package/dist/companies/index.d.ts +10 -10
  51. package/dist/companies/index.js +246 -246
  52. package/dist/companies/models.d.ts +110 -110
  53. package/dist/companies/models.js +2 -2
  54. package/dist/configurations/index.d.ts +9 -9
  55. package/dist/configurations/index.js +223 -223
  56. package/dist/configurations/models.d.ts +34 -34
  57. package/dist/configurations/models.js +2 -2
  58. package/dist/constants.d.ts +153 -153
  59. package/dist/constants.js +169 -169
  60. package/dist/core/ModelClass.d.ts +13 -13
  61. package/dist/core/ModelClass.js +19 -19
  62. package/dist/core/handleResponseError.d.ts +2 -2
  63. package/dist/core/handleResponseError.js +167 -167
  64. package/dist/core/index.d.ts +19 -19
  65. package/dist/core/index.js +63 -63
  66. package/dist/deviceConfigs/index.d.ts +9 -9
  67. package/dist/deviceConfigs/index.js +224 -224
  68. package/dist/deviceConfigs/models.d.ts +38 -38
  69. package/dist/deviceConfigs/models.js +2 -2
  70. package/dist/deviceErrors/index.d.ts +8 -8
  71. package/dist/deviceErrors/index.js +124 -124
  72. package/dist/deviceErrors/models.d.ts +19 -19
  73. package/dist/deviceErrors/models.js +2 -2
  74. package/dist/deviceLocationObservations/index.d.ts +5 -5
  75. package/dist/deviceLocationObservations/index.js +189 -189
  76. package/dist/deviceLocationObservations/models.d.ts +26 -26
  77. package/dist/deviceLocationObservations/models.js +2 -2
  78. package/dist/deviceTemplates/index.d.ts +9 -9
  79. package/dist/deviceTemplates/index.js +226 -226
  80. package/dist/deviceTemplates/models.d.ts +36 -36
  81. package/dist/deviceTemplates/models.js +2 -2
  82. package/dist/deviceTransferRequests/index.d.ts +10 -10
  83. package/dist/deviceTransferRequests/index.js +247 -247
  84. package/dist/deviceTransferRequests/models.d.ts +26 -26
  85. package/dist/deviceTransferRequests/models.js +2 -2
  86. package/dist/deviceTypes/index.d.ts +20 -20
  87. package/dist/deviceTypes/index.js +464 -464
  88. package/dist/deviceTypes/models.d.ts +109 -109
  89. package/dist/deviceTypes/models.js +2 -2
  90. package/dist/devices/index.d.ts +33 -32
  91. package/dist/devices/index.js +758 -730
  92. package/dist/devices/models.d.ts +128 -127
  93. package/dist/devices/models.js +2 -2
  94. package/dist/discoveredDevices/index.d.ts +15 -15
  95. package/dist/discoveredDevices/index.js +361 -361
  96. package/dist/discoveredDevices/models.d.ts +41 -41
  97. package/dist/discoveredDevices/models.js +2 -2
  98. package/dist/downstreamSystems/index.d.ts +7 -7
  99. package/dist/downstreamSystems/index.js +198 -198
  100. package/dist/downstreamSystems/models.d.ts +17 -17
  101. package/dist/downstreamSystems/models.js +2 -2
  102. package/dist/escrowDevices/index.d.ts +9 -9
  103. package/dist/escrowDevices/index.js +224 -224
  104. package/dist/escrowDevices/models.d.ts +32 -32
  105. package/dist/escrowDevices/models.js +2 -2
  106. package/dist/example/index.d.ts +1 -0
  107. package/dist/example/index.js +5 -0
  108. package/dist/files/index.d.ts +11 -11
  109. package/dist/files/index.js +278 -278
  110. package/dist/files/models.d.ts +20 -20
  111. package/dist/files/models.js +2 -2
  112. package/dist/filtersParser.d.ts +5 -5
  113. package/dist/filtersParser.js +54 -54
  114. package/dist/gatewayCommands/index.d.ts +9 -9
  115. package/dist/gatewayCommands/index.js +224 -224
  116. package/dist/gatewayCommands/models.d.ts +81 -81
  117. package/dist/gatewayCommands/models.js +2 -2
  118. package/dist/helpers.d.ts +3 -3
  119. package/dist/helpers.js +11 -11
  120. package/dist/index.d.ts +74 -74
  121. package/dist/index.js +124 -124
  122. package/dist/ingestors/index.d.ts +9 -9
  123. package/dist/ingestors/index.js +224 -224
  124. package/dist/ingestors/models.d.ts +97 -97
  125. package/dist/ingestors/models.js +2 -2
  126. package/dist/integrations/index.d.ts +10 -10
  127. package/dist/integrations/index.js +340 -340
  128. package/dist/integrations/models.d.ts +76 -76
  129. package/dist/integrations/models.js +2 -2
  130. package/dist/log/models.d.ts +6 -6
  131. package/dist/log/models.js +2 -2
  132. package/dist/lwm2m/index.d.ts +5 -5
  133. package/dist/lwm2m/index.js +84 -84
  134. package/dist/lwm2m/models.d.ts +68 -68
  135. package/dist/lwm2m/models.js +2 -2
  136. package/dist/lwm2mState/index.d.ts +5 -5
  137. package/dist/lwm2mState/index.js +71 -71
  138. package/dist/lwm2mState/models.d.ts +10 -10
  139. package/dist/lwm2mState/models.js +2 -2
  140. package/dist/models/index.d.ts +1896 -1893
  141. package/dist/models/index.js +2 -2
  142. package/dist/models.d.ts +67 -67
  143. package/dist/models.js +2 -2
  144. package/dist/notifications/index.d.ts +8 -8
  145. package/dist/notifications/index.js +124 -124
  146. package/dist/notifications/models.d.ts +19 -19
  147. package/dist/notifications/models.js +2 -2
  148. package/dist/pollableAttributes/index.d.ts +7 -7
  149. package/dist/pollableAttributes/index.js +198 -198
  150. package/dist/pollableAttributes/models.d.ts +49 -49
  151. package/dist/pollableAttributes/models.js +2 -2
  152. package/dist/regions/index.d.ts +5 -5
  153. package/dist/regions/index.js +173 -173
  154. package/dist/regions/models.d.ts +17 -17
  155. package/dist/regions/models.js +2 -2
  156. package/dist/reports/index.d.ts +8 -8
  157. package/dist/reports/index.js +199 -199
  158. package/dist/reports/models.d.ts +25 -25
  159. package/dist/reports/models.js +2 -2
  160. package/dist/rules/index.d.ts +12 -12
  161. package/dist/rules/index.js +272 -272
  162. package/dist/rules/models.d.ts +129 -129
  163. package/dist/rules/models.js +2 -2
  164. package/dist/secrets/index.d.ts +8 -8
  165. package/dist/secrets/index.js +199 -199
  166. package/dist/secrets/models.d.ts +18 -18
  167. package/dist/secrets/models.js +2 -2
  168. package/dist/settings/index.d.ts +7 -7
  169. package/dist/settings/index.js +198 -198
  170. package/dist/settings/models.d.ts +25 -25
  171. package/dist/settings/models.js +2 -2
  172. package/dist/settingsApplicationRecord/index.d.ts +6 -6
  173. package/dist/settingsApplicationRecord/index.js +79 -79
  174. package/dist/settingsApplicationRecord/models.d.ts +28 -28
  175. package/dist/settingsApplicationRecord/models.js +2 -2
  176. package/dist/softwareUpdates/index.d.ts +15 -15
  177. package/dist/softwareUpdates/index.js +374 -374
  178. package/dist/softwareUpdates/models.d.ts +31 -31
  179. package/dist/softwareUpdates/models.js +2 -2
  180. package/dist/stats/index.d.ts +9 -9
  181. package/dist/stats/index.js +140 -140
  182. package/dist/stats/models.d.ts +27 -27
  183. package/dist/stats/models.js +2 -2
  184. package/dist/systemCommandJobs/index.d.ts +5 -5
  185. package/dist/systemCommandJobs/index.js +173 -173
  186. package/dist/systemCommandJobs/models.d.ts +32 -32
  187. package/dist/systemCommandJobs/models.js +2 -2
  188. package/dist/systemCommands/index.d.ts +7 -7
  189. package/dist/systemCommands/index.js +198 -198
  190. package/dist/systemCommands/models.d.ts +32 -32
  191. package/dist/systemCommands/models.js +2 -2
  192. package/dist/testConstants.d.ts +50 -50
  193. package/dist/testConstants.js +332 -332
  194. package/dist/translators/index.d.ts +9 -9
  195. package/dist/translators/index.js +224 -224
  196. package/dist/translators/models.d.ts +21 -21
  197. package/dist/translators/models.js +2 -2
  198. package/dist/userTypes/index.d.ts +7 -7
  199. package/dist/userTypes/index.js +198 -198
  200. package/dist/userTypes/models.d.ts +79 -79
  201. package/dist/userTypes/models.js +2 -2
  202. package/dist/users/index.d.ts +12 -12
  203. package/dist/users/index.js +300 -300
  204. package/dist/users/models.d.ts +42 -42
  205. package/dist/users/models.js +2 -2
  206. package/package.json +56 -56
  207. package/dist/deviceFiles/index.d.ts +0 -9
  208. package/dist/deviceFiles/index.js +0 -278
  209. package/dist/deviceFiles/models.d.ts +0 -17
  210. package/dist/deviceFiles/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 {};