@edgeiq/edgeiq-api-js 1.5.3 → 1.5.5

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.
@@ -66,6 +66,7 @@ describe('Device Types', function () {
66
66
  }
67
67
  });
68
68
  }); });
69
+ var testDevice = testConstants_1.EmptyDevice;
69
70
  var deviceType = testConstants_1.EmptyDeviceType;
70
71
  var deviceType2 = testConstants_1.EmptyDeviceType;
71
72
  it('Creates a device type', function () { return __awaiter(void 0, void 0, void 0, function () {
@@ -82,6 +83,17 @@ describe('Device Types', function () {
82
83
  }
83
84
  });
84
85
  }); });
86
+ it('Prepare a device to assign a device type', function () { return __awaiter(void 0, void 0, void 0, function () {
87
+ return __generator(this, function (_a) {
88
+ switch (_a.label) {
89
+ case 0: return [4, __1.Devices.create(__assign(__assign({}, testConstants_1.TestDevice), { device_type_id: deviceType._id }))];
90
+ case 1:
91
+ testDevice = _a.sent();
92
+ expect(testDevice._id).not.toBeNull();
93
+ return [2];
94
+ }
95
+ });
96
+ }); });
85
97
  it('Creates a second device type', function () { return __awaiter(void 0, void 0, void 0, function () {
86
98
  var result;
87
99
  return __generator(this, function (_a) {
@@ -139,33 +151,60 @@ describe('Device Types', function () {
139
151
  result = _a.sent();
140
152
  expect(result.deviceTypes).toBeDefined();
141
153
  expect(result.deviceTypes).toBeInstanceOf(Array);
142
- expect(result.deviceTypes).toHaveLength(2);
154
+ expect(result.deviceTypes).toHaveLength(3);
143
155
  expect(result.pagination.page).toBe(constants_1.DefaultPagination.page);
144
- expect(result.pagination.total).toBe(2);
156
+ expect(result.pagination.total).toBe(3);
145
157
  expect(result.pagination.itemsPerPage).toBe(constants_1.DefaultPagination.itemsPerPage);
146
158
  return [2];
147
159
  }
148
160
  });
149
161
  }); });
150
- it('Deletes the device types created', function () { return __awaiter(void 0, void 0, void 0, function () {
151
- var result, result;
162
+ it('Throw an error after a delete attempt of a deviceType with devices', function () { return __awaiter(void 0, void 0, void 0, function () {
163
+ var error_1;
152
164
  return __generator(this, function (_a) {
153
165
  switch (_a.label) {
154
166
  case 0:
155
- if (!deviceType._id) return [3, 2];
167
+ _a.trys.push([0, 2, , 3]);
156
168
  return [4, __1.DeviceTypes.delete(deviceType._id)];
169
+ case 1:
170
+ _a.sent();
171
+ return [3, 3];
172
+ case 2:
173
+ error_1 = _a.sent();
174
+ if ((0, helpers_1.isApiError)(error_1)) {
175
+ expect(error_1.message).toBe("Device Type currently in use by Device(s): [" + testDevice._id + "]");
176
+ }
177
+ return [3, 3];
178
+ case 3: return [2];
179
+ }
180
+ });
181
+ }); });
182
+ it('Deletes the device types created', function () { return __awaiter(void 0, void 0, void 0, function () {
183
+ var result, result, result;
184
+ return __generator(this, function (_a) {
185
+ switch (_a.label) {
186
+ case 0:
187
+ if (!testDevice._id) return [3, 2];
188
+ return [4, __1.Devices.delete(testDevice._id)];
157
189
  case 1:
158
190
  result = _a.sent();
159
- expect(result).toBe((0, helpers_1.getReturnDeleteMessage)('device type'));
191
+ expect(result).toBe((0, helpers_1.getReturnDeleteMessage)('device'));
160
192
  _a.label = 2;
161
193
  case 2:
162
- if (!deviceType2._id) return [3, 4];
163
- return [4, __1.DeviceTypes.delete(deviceType2._id)];
194
+ if (!deviceType._id) return [3, 4];
195
+ return [4, __1.DeviceTypes.delete(deviceType._id)];
164
196
  case 3:
165
197
  result = _a.sent();
166
198
  expect(result).toBe((0, helpers_1.getReturnDeleteMessage)('device type'));
167
199
  _a.label = 4;
168
- case 4: return [2];
200
+ case 4:
201
+ if (!deviceType2._id) return [3, 6];
202
+ return [4, __1.DeviceTypes.delete(deviceType2._id)];
203
+ case 5:
204
+ result = _a.sent();
205
+ expect(result).toBe((0, helpers_1.getReturnDeleteMessage)('device type'));
206
+ _a.label = 6;
207
+ case 6: return [2];
169
208
  }
170
209
  });
171
210
  }); });
@@ -139,9 +139,9 @@ describe('Translators', function () {
139
139
  result = _a.sent();
140
140
  expect(result.translators).toBeDefined();
141
141
  expect(result.translators).toBeInstanceOf(Array);
142
- expect(result.translators).toHaveLength(2);
142
+ expect(result.translators).toHaveLength(4);
143
143
  expect(result.pagination.page).toBe(constants_1.DefaultPagination.page);
144
- expect(result.pagination.total).toBe(2);
144
+ expect(result.pagination.total).toBe(4);
145
145
  expect(result.pagination.itemsPerPage).toBe(constants_1.DefaultPagination.itemsPerPage);
146
146
  return [2];
147
147
  }
@@ -68,6 +68,7 @@ var handlePasswordReset = function (error) {
68
68
  }
69
69
  return Promise.reject(createError(constants_1.ResponseErrorsMessages.unexpected, constants_1.ResponseErrorsNames.unexpected));
70
70
  };
71
+ var errorMessages = function (error) { var _a, _b; return (_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data.messages) === null || _b === void 0 ? void 0 : _b.join('\n'); };
71
72
  var handleOtherErrors = function (error) {
72
73
  var _a, _b;
73
74
  var path = null;
@@ -81,15 +82,16 @@ var handleOtherErrors = function (error) {
81
82
  model = path.split('?')[0];
82
83
  model = model.split('/')[0];
83
84
  }
85
+ var parseErrorMessages = errorMessages(error);
84
86
  switch ((_b = error.response) === null || _b === void 0 ? void 0 : _b.config.method) {
85
87
  case 'put':
86
- if (model === constants_1.BaseEndpoints.deviceConfig &&
87
- error.response.data.messages) {
88
- error.response.data = error.response.data.messages.join('\n');
88
+ if (model === constants_1.BaseEndpoints.deviceConfig && parseErrorMessages) {
89
+ error.response.data = parseErrorMessages;
89
90
  return Promise.reject(createError(error.response.data, constants_1.ResponseErrorsNames.deviceConfig));
90
91
  }
91
- else if (error.response.data.error === constants_1.ResponseErrorsNames.validationError) {
92
- return Promise.reject(createError(error.response.data.messages.join('\n'), constants_1.ResponseErrorsNames.validationError));
92
+ else if (error.response.data.error === constants_1.ResponseErrorsNames.validationError &&
93
+ parseErrorMessages) {
94
+ return Promise.reject(createError(parseErrorMessages, constants_1.ResponseErrorsNames.validationError));
93
95
  }
94
96
  action = constants_1.MethodsActions.put;
95
97
  break;
@@ -113,8 +115,8 @@ var handleOtherErrors = function (error) {
113
115
  error.response.data = createError(constants_1.ResponseErrorsMessages.deviceCharacters, constants_1.ResponseErrorsNames.deviceCharacters);
114
116
  }
115
117
  }
116
- else if (model === constants_1.BaseEndpoints.deviceConfig) {
117
- error.response.data = createError(error.response.data.messages.join('\n'), constants_1.ResponseErrorsNames.deviceConfig);
118
+ else if (model === constants_1.BaseEndpoints.deviceConfig && parseErrorMessages) {
119
+ error.response.data = createError(parseErrorMessages, constants_1.ResponseErrorsNames.deviceConfig);
118
120
  }
119
121
  else if (text && text.indexOf(constants_1.ErrorParts.uniqueConstraint) !== -1) {
120
122
  error.response.data = createError(constants_1.ResponseErrorsMessages.uniqueConstraint(model), constants_1.ResponseErrorsNames.uniqueConstraint);
@@ -122,8 +124,9 @@ var handleOtherErrors = function (error) {
122
124
  else if (text && text.indexOf(constants_1.ErrorParts.duplicateKey) !== -1) {
123
125
  error.response.data = createError(text, constants_1.ResponseErrorsNames.duplicateKey);
124
126
  }
125
- else if (error.response.data.error === constants_1.ResponseErrorsNames.createError) {
126
- error.response.data = createError(error.response.data.messages.join('\n'), constants_1.ResponseErrorsNames.createError);
127
+ else if (error.response.data.error === constants_1.ResponseErrorsNames.createError &&
128
+ parseErrorMessages) {
129
+ error.response.data = createError(parseErrorMessages, constants_1.ResponseErrorsNames.createError);
127
130
  }
128
131
  return Promise.reject(error.response.data);
129
132
  }
@@ -131,9 +134,15 @@ var handleOtherErrors = function (error) {
131
134
  break;
132
135
  case 'delete':
133
136
  action = constants_1.MethodsActions.delete;
137
+ if (parseErrorMessages) {
138
+ return Promise.reject(createError(parseErrorMessages, action));
139
+ }
134
140
  break;
135
141
  case 'get':
136
142
  action = constants_1.MethodsActions.get;
143
+ if (parseErrorMessages) {
144
+ return Promise.reject(createError(parseErrorMessages, action));
145
+ }
137
146
  break;
138
147
  }
139
148
  var errorMessage = mapModelError(model, action);
@@ -16,6 +16,8 @@ export interface ScheduledJobInput {
16
16
  company_id: string;
17
17
  }
18
18
  export interface ScheduledJob extends ScheduledJobInput, Base {
19
+ next_run_time: string;
20
+ last_run_time: string;
19
21
  }
20
22
  export interface ScheduledJobsFilters extends Filters {
21
23
  name?: Filter;
@@ -33,10 +33,10 @@ exports.TestAuth = {
33
33
  exports.TestDevice = {
34
34
  device_type_id: '',
35
35
  name: 'EdgeIQAPI Test Device',
36
- unique_id: 'api_js_test_device',
36
+ unique_id: 'api_eiq_test_device',
37
37
  company_id: parentCompanyId,
38
38
  };
39
- exports.TestDevice2 = __assign(__assign({}, exports.TestDevice), { name: 'EdgeIQAPI Test Device 2', unique_id: 'api_js_test_device_2' });
39
+ exports.TestDevice2 = __assign(__assign({}, exports.TestDevice), { name: 'EdgeIQAPI Test Device 2', unique_id: 'api_eiq_test_device_2' });
40
40
  exports.EmptyDevice = __assign(__assign({}, baseModel), { unique_id: '', device_type_id: '', name: '' });
41
41
  exports.NewTestDeviceName = 'Updated Test Device name';
42
42
  exports.TestUser = {
@@ -356,4 +356,4 @@ exports.TestScheduledJob = {
356
356
  command_id: '648a07c58fc32100018b1d34',
357
357
  company_id: parentCompanyId,
358
358
  };
359
- exports.EmptyScheduledJob = __assign(__assign({}, exports.TestScheduledJob), baseModel);
359
+ exports.EmptyScheduledJob = __assign(__assign(__assign({}, exports.TestScheduledJob), baseModel), { last_run_time: '', next_run_time: '' });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgeiq/edgeiq-api-js",
3
- "version": "1.5.3",
3
+ "version": "1.5.5",
4
4
  "author": "EdgeIQ",
5
5
  "license": "ISC",
6
6
  "description": "This project presents EdgeIQ API SDK.",