@robotical/webapp-types 3.10.2 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-types/src/application/ApplicationManager/ApplicationManager.d.ts +12 -1
- package/dist-types/src/application/ApplicationManager/ApplicationManager.js +21 -0
- package/dist-types/src/application/RAFTs/Marty/Marty.d.ts +14 -0
- package/dist-types/src/application/RAFTs/Marty/Marty.js +77 -1
- package/dist-types/src/application/RAFTs/Marty/notifications-manager/RICNotificationsManager.d.ts +15 -0
- package/dist-types/src/application/RAFTs/Marty/notifications-manager/RICNotificationsManager.js +498 -0
- package/dist-types/src/application/RAFTs/Marty/notifications-manager/ReportedWarningsState.d.ts +59 -0
- package/dist-types/src/application/RAFTs/Marty/notifications-manager/ReportedWarningsState.js +145 -0
- package/dist-types/src/application/RAFTs/RAFT.js +11 -1
- package/dist-types/src/components/modals/InBtButAPressed/index.d.ts +2 -0
- package/dist-types/src/components/modals/InBtButAPressed/index.js +21 -0
- package/dist-types/src/components/modals/InBtButAPressed/styles.d.ts +5 -0
- package/dist-types/src/components/modals/InBtButAPressed/styles.js +11 -0
- package/dist-types/src/services/logger/Logger.d.ts +5 -5
- package/dist-types/src/services/logger/Logger.js +40 -11
- package/dist-types/src/store/user-role-context.d.ts +12 -0
- package/dist-types/src/store/user-role-context.js +33 -0
- package/dist-types/src/types/communication-between-apps/wrapper-communication.d.ts +3 -1
- package/dist-types/src/types/communication-between-apps/wrapper-communication.js +2 -0
- package/dist-types/src/types/userDeviceInfo.d.ts +6 -0
- package/dist-types/src/utils/warranty-service/cookies.d.ts +19 -0
- package/dist-types/src/utils/warranty-service/cookies.js +76 -0
- package/dist-types/src/utils/warranty-service/warranty-service-utils.d.ts +10 -0
- package/dist-types/src/utils/warranty-service/warranty-service-utils.js +232 -0
- package/dist-types/src/wrapper-app/WrapperAppManager.d.ts +13 -1
- package/dist-types/src/wrapper-app/WrapperAppManager.js +109 -0
- package/dist-types/src/wrapper-app/communicators/WebAppCommunicator.js +48 -21
- package/dist-types/src/wrapper-app/connectors/MartyConnector/MartyConnector.d.ts +4 -0
- package/dist-types/src/wrapper-app/connectors/MartyConnector/MartyConnector.js +13 -0
- package/package.json +1 -1
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import Logger from "../../services/logger/Logger";
|
|
38
|
+
import { getOnboardingCookie, isOnboardingCookieExpired } from "./cookies";
|
|
39
|
+
import WarranyFacade from "@robotical/appv2-warranty-service-lib";
|
|
40
|
+
var SHOW_LOGS = true;
|
|
41
|
+
var TAG = "WarrantyServiceUtils";
|
|
42
|
+
export function shouldShowOnboardingModal(serialNo) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
44
|
+
var shouldShowModal, cookie, isCookieExpired, serialNoInCookie, isSerialNoRegistered, error_1;
|
|
45
|
+
return __generator(this, function (_a) {
|
|
46
|
+
switch (_a.label) {
|
|
47
|
+
case 0:
|
|
48
|
+
Logger.info(SHOW_LOGS, TAG, "Checking if should show onboarding modal for serial number: " + serialNo);
|
|
49
|
+
shouldShowModal = false;
|
|
50
|
+
_a.label = 1;
|
|
51
|
+
case 1:
|
|
52
|
+
_a.trys.push([1, 4, , 5]);
|
|
53
|
+
if (!serialNo) return [3 /*break*/, 3];
|
|
54
|
+
cookie = getOnboardingCookie();
|
|
55
|
+
isCookieExpired = isOnboardingCookieExpired();
|
|
56
|
+
serialNoInCookie = cookie ? cookie.serialNumbers.includes(serialNo) : false;
|
|
57
|
+
return [4 /*yield*/, WarranyFacade.isSerialNumberRegistered(serialNo)];
|
|
58
|
+
case 2:
|
|
59
|
+
isSerialNoRegistered = _a.sent();
|
|
60
|
+
shouldShowModal = (!cookie || isCookieExpired || !serialNoInCookie) && !isSerialNoRegistered;
|
|
61
|
+
_a.label = 3;
|
|
62
|
+
case 3: return [3 /*break*/, 5];
|
|
63
|
+
case 4:
|
|
64
|
+
error_1 = _a.sent();
|
|
65
|
+
Logger.error(SHOW_LOGS, TAG, "Error checking if should show onboarding modal: " + error_1);
|
|
66
|
+
// Don't show the modal if there was an error (probably no internet connection)
|
|
67
|
+
return [2 /*return*/, false];
|
|
68
|
+
case 5: return [2 /*return*/, shouldShowModal];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
export function getSerialNumberStubbornly(serialNumberGetter, attempts) {
|
|
74
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
75
|
+
var _this = this;
|
|
76
|
+
return __generator(this, function (_a) {
|
|
77
|
+
Logger.info(SHOW_LOGS, TAG, "Getting serial number stubbornly");
|
|
78
|
+
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
79
|
+
var currentAttempt, tryGetSerialNumber;
|
|
80
|
+
return __generator(this, function (_a) {
|
|
81
|
+
currentAttempt = 1;
|
|
82
|
+
tryGetSerialNumber = function () {
|
|
83
|
+
var serialNo = serialNumberGetter();
|
|
84
|
+
if (currentAttempt > attempts) {
|
|
85
|
+
reject(new Error('Failed to get serial number after maximum attempts'));
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (serialNo) {
|
|
89
|
+
resolve(serialNo);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
currentAttempt++;
|
|
93
|
+
setTimeout(tryGetSerialNumber, 1000);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
tryGetSerialNumber();
|
|
97
|
+
return [2 /*return*/];
|
|
98
|
+
});
|
|
99
|
+
}); })];
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
export function registerUser(email, establishment, serialNumbers) {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
105
|
+
return __generator(this, function (_a) {
|
|
106
|
+
Logger.info(SHOW_LOGS, TAG, "Registering user with email: " + email);
|
|
107
|
+
try {
|
|
108
|
+
return [2 /*return*/, WarranyFacade.registerUser(email, establishment, serialNumbers)];
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
Logger.error(SHOW_LOGS, TAG, "Error registering user: " + error);
|
|
112
|
+
return [2 /*return*/, false];
|
|
113
|
+
}
|
|
114
|
+
return [2 /*return*/];
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
export function isUserRegistered(email) {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
120
|
+
var error_2;
|
|
121
|
+
return __generator(this, function (_a) {
|
|
122
|
+
switch (_a.label) {
|
|
123
|
+
case 0:
|
|
124
|
+
Logger.info(SHOW_LOGS, TAG, "Checking if user is registered with email: " + email);
|
|
125
|
+
_a.label = 1;
|
|
126
|
+
case 1:
|
|
127
|
+
_a.trys.push([1, 3, , 4]);
|
|
128
|
+
return [4 /*yield*/, WarranyFacade.getUser(email)];
|
|
129
|
+
case 2: return [2 /*return*/, !!(_a.sent())];
|
|
130
|
+
case 3:
|
|
131
|
+
error_2 = _a.sent();
|
|
132
|
+
Logger.error(SHOW_LOGS, TAG, "Error checking if user is registered: " + error_2);
|
|
133
|
+
return [2 /*return*/, false];
|
|
134
|
+
case 4: return [2 /*return*/];
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
export function getUserGivenEmail(email) {
|
|
140
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
141
|
+
var user, error_3;
|
|
142
|
+
return __generator(this, function (_a) {
|
|
143
|
+
switch (_a.label) {
|
|
144
|
+
case 0:
|
|
145
|
+
Logger.info(SHOW_LOGS, TAG, "Getting user given email: " + email);
|
|
146
|
+
_a.label = 1;
|
|
147
|
+
case 1:
|
|
148
|
+
_a.trys.push([1, 3, , 4]);
|
|
149
|
+
return [4 /*yield*/, WarranyFacade.getUser(email)];
|
|
150
|
+
case 2:
|
|
151
|
+
user = _a.sent();
|
|
152
|
+
return [2 /*return*/, user];
|
|
153
|
+
case 3:
|
|
154
|
+
error_3 = _a.sent();
|
|
155
|
+
Logger.error(SHOW_LOGS, TAG, "Error getting user given email: " + error_3);
|
|
156
|
+
return [2 /*return*/, null];
|
|
157
|
+
case 4: return [2 /*return*/];
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
export var isSerialNumberRegistered = function (serialNo) { return __awaiter(void 0, void 0, void 0, function () {
|
|
163
|
+
return __generator(this, function (_a) {
|
|
164
|
+
Logger.info(SHOW_LOGS, TAG, "Checking if serial number is registered: " + serialNo);
|
|
165
|
+
try {
|
|
166
|
+
return [2 /*return*/, WarranyFacade.isSerialNumberRegistered(serialNo)];
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
Logger.error(SHOW_LOGS, TAG, "Error checking if serial number is registered: " + error);
|
|
170
|
+
return [2 /*return*/, false];
|
|
171
|
+
}
|
|
172
|
+
return [2 /*return*/];
|
|
173
|
+
});
|
|
174
|
+
}); };
|
|
175
|
+
export var createTicket = function (serialNo, title, description, robotName, robotType) { return __awaiter(void 0, void 0, void 0, function () {
|
|
176
|
+
var serialNumber, error_4;
|
|
177
|
+
return __generator(this, function (_a) {
|
|
178
|
+
switch (_a.label) {
|
|
179
|
+
case 0:
|
|
180
|
+
Logger.info(SHOW_LOGS, TAG, "Creating ticket for serial number: " + serialNo);
|
|
181
|
+
_a.label = 1;
|
|
182
|
+
case 1:
|
|
183
|
+
_a.trys.push([1, 5, , 6]);
|
|
184
|
+
return [4 /*yield*/, WarranyFacade.getSerialNumber(serialNo)];
|
|
185
|
+
case 2:
|
|
186
|
+
serialNumber = _a.sent();
|
|
187
|
+
if (!serialNumber) return [3 /*break*/, 4];
|
|
188
|
+
return [4 /*yield*/, WarranyFacade.registerReport(serialNumber.email, serialNo, title, description, robotName, robotType)];
|
|
189
|
+
case 3: return [2 /*return*/, !!(_a.sent())];
|
|
190
|
+
case 4: return [2 /*return*/, false];
|
|
191
|
+
case 5:
|
|
192
|
+
error_4 = _a.sent();
|
|
193
|
+
Logger.error(SHOW_LOGS, TAG, "Error creating ticket: " + error_4);
|
|
194
|
+
return [2 /*return*/, false];
|
|
195
|
+
case 6: return [2 /*return*/];
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
}); };
|
|
199
|
+
export var getEmailGivenSerialNumber = function (serialNo) { return __awaiter(void 0, void 0, void 0, function () {
|
|
200
|
+
var serialNumber, error_5;
|
|
201
|
+
return __generator(this, function (_a) {
|
|
202
|
+
switch (_a.label) {
|
|
203
|
+
case 0:
|
|
204
|
+
Logger.info(SHOW_LOGS, TAG, "Getting email given serial number: " + serialNo);
|
|
205
|
+
_a.label = 1;
|
|
206
|
+
case 1:
|
|
207
|
+
_a.trys.push([1, 3, , 4]);
|
|
208
|
+
return [4 /*yield*/, WarranyFacade.getSerialNumber(serialNo)];
|
|
209
|
+
case 2:
|
|
210
|
+
serialNumber = _a.sent();
|
|
211
|
+
return [2 /*return*/, serialNumber === null || serialNumber === void 0 ? void 0 : serialNumber.email];
|
|
212
|
+
case 3:
|
|
213
|
+
error_5 = _a.sent();
|
|
214
|
+
Logger.error(SHOW_LOGS, TAG, "Error getting email given serial number: " + error_5);
|
|
215
|
+
return [2 /*return*/, undefined];
|
|
216
|
+
case 4: return [2 /*return*/];
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
}); };
|
|
220
|
+
export var addRobotNameToSerialNumber = function (serialNo, name) { return __awaiter(void 0, void 0, void 0, function () {
|
|
221
|
+
return __generator(this, function (_a) {
|
|
222
|
+
Logger.info(SHOW_LOGS, TAG, "Adding robot name to serial number: " + serialNo);
|
|
223
|
+
try {
|
|
224
|
+
return [2 /*return*/, WarranyFacade.addRobotNameToSerialNumber(serialNo, name)];
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
Logger.error(SHOW_LOGS, TAG, "Error adding robot name to serial number: " + error);
|
|
228
|
+
return [2 /*return*/, false];
|
|
229
|
+
}
|
|
230
|
+
return [2 /*return*/];
|
|
231
|
+
});
|
|
232
|
+
}); };
|
|
@@ -3,7 +3,7 @@ import { ConnectionAttemptResults, RaftConnectionMethod } from "../types/raft";
|
|
|
3
3
|
import Connector from "./connectors/Connector";
|
|
4
4
|
import { RaftConnEvent, RaftPublishEvent, RaftUpdateEvent } from "@robotical/raftjs";
|
|
5
5
|
import { RICLedLcdColours } from "@robotical/roboticaljs";
|
|
6
|
-
import { UserDeviceInfo } from "../types/userDeviceInfo";
|
|
6
|
+
import { CustomBluetoothItem, UserDeviceInfo } from "../types/userDeviceInfo";
|
|
7
7
|
export declare class WrapperAppManager {
|
|
8
8
|
private connectors;
|
|
9
9
|
private _observers;
|
|
@@ -77,6 +77,18 @@ export declare class WrapperAppManager {
|
|
|
77
77
|
* Removes from the martys list after x seconds so that we can still get the last event
|
|
78
78
|
*/
|
|
79
79
|
_removeRICConnector(connectorId: string, timeout: number): void;
|
|
80
|
+
/**
|
|
81
|
+
* Warranty Service bluetooth scan for device
|
|
82
|
+
* It scans for a device and gets the device object
|
|
83
|
+
* Then it checks if the device is already in the given devices array having CustomBluetoothItem[] type
|
|
84
|
+
* if not, it gets its serial number and adds it to the devices array
|
|
85
|
+
* @returns {Promise<CustomBluetoothItem[]>}
|
|
86
|
+
*/
|
|
87
|
+
scanForPotentialWarrantyDevice(existingDevices: CustomBluetoothItem[]): Promise<CustomBluetoothItem[]>;
|
|
88
|
+
/**
|
|
89
|
+
* Sends atomic read operation to Marty
|
|
90
|
+
*/
|
|
91
|
+
sendAtomicReadOperationToMarty(raftId: string): Promise<boolean>;
|
|
80
92
|
}
|
|
81
93
|
declare const wrapperAppManager: WrapperAppManager;
|
|
82
94
|
export default wrapperAppManager;
|
|
@@ -34,9 +34,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
38
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
39
|
+
if (ar || !(i in from)) {
|
|
40
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
41
|
+
ar[i] = from[i];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
45
|
+
};
|
|
37
46
|
import { WrapperSentMessage } from "../types/communication-between-apps/wrapper-communication";
|
|
38
47
|
import Logger from "../services/logger/Logger";
|
|
39
48
|
import { RaftConnEvent } from "@robotical/raftjs";
|
|
49
|
+
import { ConnManager } from "@robotical/roboticaljs";
|
|
40
50
|
import ConnectorFactory from "./connectors/ConnectorFactory";
|
|
41
51
|
import ColourSensorManualCalibratorMarty from "./utils/ColourSensorManualCalibratorMarty";
|
|
42
52
|
import { getBrowserVersion, getOrGenerateDeviceId, getOSName, isTablet } from "./utils/device-info";
|
|
@@ -270,6 +280,105 @@ var WrapperAppManager = /** @class */ (function () {
|
|
|
270
280
|
clearTimeout(martyRemovalTimeout);
|
|
271
281
|
}, timeout);
|
|
272
282
|
};
|
|
283
|
+
/**
|
|
284
|
+
* Warranty Service bluetooth scan for device
|
|
285
|
+
* It scans for a device and gets the device object
|
|
286
|
+
* Then it checks if the device is already in the given devices array having CustomBluetoothItem[] type
|
|
287
|
+
* if not, it gets its serial number and adds it to the devices array
|
|
288
|
+
* @returns {Promise<CustomBluetoothItem[]>}
|
|
289
|
+
*/
|
|
290
|
+
WrapperAppManager.prototype.scanForPotentialWarrantyDevice = function (existingDevices) {
|
|
291
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
292
|
+
var namesToIgnore, device_1, connector, isConnected, ricSystem, systemInfo, serialNumber, raftType, newDevice, error_1;
|
|
293
|
+
return __generator(this, function (_a) {
|
|
294
|
+
switch (_a.label) {
|
|
295
|
+
case 0:
|
|
296
|
+
namesToIgnore = __spreadArray([], existingDevices.map(function (item) {
|
|
297
|
+
return { name: item.name || "" };
|
|
298
|
+
}), true).filter(function (item) { return item.name; });
|
|
299
|
+
_a.label = 1;
|
|
300
|
+
case 1:
|
|
301
|
+
_a.trys.push([1, 9, , 10]);
|
|
302
|
+
return [4 /*yield*/, ConnManager.getInstance().getBleDevicesWithGivenNamesToIgnore(namesToIgnore)];
|
|
303
|
+
case 2:
|
|
304
|
+
device_1 = _a.sent();
|
|
305
|
+
if (!device_1) {
|
|
306
|
+
Logger.warn(SHOW_LOGS, TAG, "No device was found/selected");
|
|
307
|
+
return [2 /*return*/, []];
|
|
308
|
+
}
|
|
309
|
+
if (!!existingDevices.find(function (deviceInList) {
|
|
310
|
+
return deviceInList.id === device_1.id;
|
|
311
|
+
})) return [3 /*break*/, 7];
|
|
312
|
+
connector = ConnManager.getInstance().getConnector();
|
|
313
|
+
return [4 /*yield*/, connector.initializeChannel("WebBLE")];
|
|
314
|
+
case 3:
|
|
315
|
+
_a.sent();
|
|
316
|
+
return [4 /*yield*/, connector.connect(device_1)];
|
|
317
|
+
case 4:
|
|
318
|
+
isConnected = _a.sent();
|
|
319
|
+
if (!isConnected) {
|
|
320
|
+
Logger.warn(SHOW_LOGS, TAG, "Failed to connect to device: ".concat(device_1.name));
|
|
321
|
+
return [2 /*return*/, existingDevices];
|
|
322
|
+
}
|
|
323
|
+
ricSystem = connector.getRaftSystemUtils();
|
|
324
|
+
return [4 /*yield*/, ricSystem.getSystemInfo()];
|
|
325
|
+
case 5:
|
|
326
|
+
systemInfo = _a.sent();
|
|
327
|
+
serialNumber = systemInfo.SerialNo || "";
|
|
328
|
+
raftType = systemInfo.SystemName;
|
|
329
|
+
return [4 /*yield*/, connector.disconnect()];
|
|
330
|
+
case 6:
|
|
331
|
+
_a.sent();
|
|
332
|
+
newDevice = { id: device_1.id, name: device_1.name || "", serialNumber: serialNumber, type: raftType };
|
|
333
|
+
existingDevices.push(newDevice);
|
|
334
|
+
Logger.info(SHOW_LOGS, TAG, "".concat(device_1.name, " added to the list of robots."));
|
|
335
|
+
return [2 /*return*/, existingDevices];
|
|
336
|
+
case 7:
|
|
337
|
+
Logger.warn(SHOW_LOGS, TAG, "".concat(device_1.name, " is already in the list of robots."));
|
|
338
|
+
_a.label = 8;
|
|
339
|
+
case 8: return [3 /*break*/, 10];
|
|
340
|
+
case 9:
|
|
341
|
+
error_1 = _a.sent();
|
|
342
|
+
Logger.error(SHOW_LOGS, TAG, JSON.stringify(error_1));
|
|
343
|
+
return [2 /*return*/, existingDevices];
|
|
344
|
+
case 10: return [2 /*return*/, existingDevices];
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
});
|
|
348
|
+
};
|
|
349
|
+
/**
|
|
350
|
+
* Sends atomic read operation to Marty
|
|
351
|
+
*/
|
|
352
|
+
WrapperAppManager.prototype.sendAtomicReadOperationToMarty = function (raftId) {
|
|
353
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
354
|
+
var raftConnector, systemType, error_2;
|
|
355
|
+
return __generator(this, function (_a) {
|
|
356
|
+
switch (_a.label) {
|
|
357
|
+
case 0:
|
|
358
|
+
Logger.info(SHOW_LOGS, TAG, "Sending atomic read operation to Marty with id: ".concat(raftId));
|
|
359
|
+
if (!this.connectors[raftId]) return [3 /*break*/, 5];
|
|
360
|
+
_a.label = 1;
|
|
361
|
+
case 1:
|
|
362
|
+
_a.trys.push([1, 3, , 4]);
|
|
363
|
+
raftConnector = this.connectors[raftId].connManager.getConnector();
|
|
364
|
+
systemType = raftConnector.getSystemType();
|
|
365
|
+
return [4 /*yield*/, systemType.getRICServoFaultDetector().atomicReadOperation()];
|
|
366
|
+
case 2:
|
|
367
|
+
_a.sent();
|
|
368
|
+
return [2 /*return*/, true];
|
|
369
|
+
case 3:
|
|
370
|
+
error_2 = _a.sent();
|
|
371
|
+
Logger.error(SHOW_LOGS, TAG, "Failed to send atomic read operation to Marty: ".concat(error_2));
|
|
372
|
+
return [3 /*break*/, 4];
|
|
373
|
+
case 4: return [3 /*break*/, 6];
|
|
374
|
+
case 5:
|
|
375
|
+
Logger.warn(SHOW_LOGS, TAG, "No connector found for raftId: ".concat(raftId));
|
|
376
|
+
_a.label = 6;
|
|
377
|
+
case 6: return [2 /*return*/, false];
|
|
378
|
+
}
|
|
379
|
+
});
|
|
380
|
+
});
|
|
381
|
+
};
|
|
273
382
|
return WrapperAppManager;
|
|
274
383
|
}());
|
|
275
384
|
export { WrapperAppManager };
|
|
@@ -116,7 +116,7 @@ var WebAppCommunicator = /** @class */ (function () {
|
|
|
116
116
|
}());
|
|
117
117
|
export default WebAppCommunicator;
|
|
118
118
|
var receivedMessageHandler = function (receivedMessage, data, messagePromiseId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
119
|
-
var _a, connectionResults, error_1, ricName, error_2, verifyResults, error_3, stopVerifyResults, error_4, disconnectResults, error_5, restResults, error_6, missedConnEventResults, streamAudioResults, commsStats, calibrateColourSensorResults, error_7, deviceInfoResults, wasSaved, wasSaved, fileContents;
|
|
119
|
+
var _a, connectionResults, error_1, ricName, error_2, verifyResults, error_3, stopVerifyResults, error_4, disconnectResults, error_5, restResults, error_6, missedConnEventResults, streamAudioResults, commsStats, calibrateColourSensorResults, error_7, deviceInfoResults, wasSaved, wasSaved, fileContents, existingDevices, devices, error_8, wasSent, error_9;
|
|
120
120
|
return __generator(this, function (_b) {
|
|
121
121
|
switch (_b.label) {
|
|
122
122
|
case 0:
|
|
@@ -137,8 +137,10 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
137
137
|
case AppSentMessage.SAVE_FILE_ON_DEVICE: return [3 /*break*/, 34];
|
|
138
138
|
case AppSentMessage.SAVE_FILE_ON_DEVICE_LOCAL_STORAGE: return [3 /*break*/, 35];
|
|
139
139
|
case AppSentMessage.LOAD_FILE_FROM_DEVICE_LOCAL_STORAGE: return [3 /*break*/, 36];
|
|
140
|
+
case AppSentMessage.SCAN_FOR_POTENTIAL_WARRANTY_DEVICE: return [3 /*break*/, 37];
|
|
141
|
+
case AppSentMessage.SEND_ATOMIC_READ_OPERATION_TO_MARTY: return [3 /*break*/, 41];
|
|
140
142
|
}
|
|
141
|
-
return [3 /*break*/,
|
|
143
|
+
return [3 /*break*/, 45];
|
|
142
144
|
case 1:
|
|
143
145
|
try {
|
|
144
146
|
console.log("3");
|
|
@@ -150,7 +152,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
150
152
|
catch (error) {
|
|
151
153
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
|
|
152
154
|
}
|
|
153
|
-
return [3 /*break*/,
|
|
155
|
+
return [3 /*break*/, 46];
|
|
154
156
|
case 2:
|
|
155
157
|
_b.trys.push([2, 4, , 5]);
|
|
156
158
|
return [4 /*yield*/, wrapperAppManager.connect(data.method, data.uuids)];
|
|
@@ -162,7 +164,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
162
164
|
error_1 = _b.sent();
|
|
163
165
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error_1.message, messagePromiseId: messagePromiseId });
|
|
164
166
|
return [3 /*break*/, 5];
|
|
165
|
-
case 5: return [3 /*break*/,
|
|
167
|
+
case 5: return [3 /*break*/, 46];
|
|
166
168
|
case 6:
|
|
167
169
|
_b.trys.push([6, 8, , 9]);
|
|
168
170
|
return [4 /*yield*/, wrapperAppManager.getRaftName(data.raftId)];
|
|
@@ -174,7 +176,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
174
176
|
error_2 = _b.sent();
|
|
175
177
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error_2.message, messagePromiseId: messagePromiseId });
|
|
176
178
|
return [3 /*break*/, 9];
|
|
177
|
-
case 9: return [3 /*break*/,
|
|
179
|
+
case 9: return [3 /*break*/, 46];
|
|
178
180
|
case 10:
|
|
179
181
|
_b.trys.push([10, 12, , 13]);
|
|
180
182
|
return [4 /*yield*/, wrapperAppManager.verifyRaft(data.ledLcdColours, data.raftId)];
|
|
@@ -186,7 +188,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
186
188
|
error_3 = _b.sent();
|
|
187
189
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error_3.message, messagePromiseId: messagePromiseId });
|
|
188
190
|
return [3 /*break*/, 13];
|
|
189
|
-
case 13: return [3 /*break*/,
|
|
191
|
+
case 13: return [3 /*break*/, 46];
|
|
190
192
|
case 14:
|
|
191
193
|
_b.trys.push([14, 16, , 17]);
|
|
192
194
|
return [4 /*yield*/, wrapperAppManager.stopVerifyingRaft(data.isCorrectRIC, data.raftId)];
|
|
@@ -198,7 +200,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
198
200
|
error_4 = _b.sent();
|
|
199
201
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error_4.message, messagePromiseId: messagePromiseId });
|
|
200
202
|
return [3 /*break*/, 17];
|
|
201
|
-
case 17: return [3 /*break*/,
|
|
203
|
+
case 17: return [3 /*break*/, 46];
|
|
202
204
|
case 18:
|
|
203
205
|
_b.trys.push([18, 20, , 21]);
|
|
204
206
|
return [4 /*yield*/, wrapperAppManager.disconnect(data.raftId)];
|
|
@@ -210,7 +212,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
210
212
|
error_5 = _b.sent();
|
|
211
213
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error_5.message, messagePromiseId: messagePromiseId });
|
|
212
214
|
return [3 /*break*/, 21];
|
|
213
|
-
case 21: return [3 /*break*/,
|
|
215
|
+
case 21: return [3 /*break*/, 46];
|
|
214
216
|
case 22:
|
|
215
217
|
_b.trys.push([22, 24, , 25]);
|
|
216
218
|
return [4 /*yield*/, wrapperAppManager.sendRestMessage(data.msg, data.params, data.raftId)];
|
|
@@ -222,7 +224,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
222
224
|
error_6 = _b.sent();
|
|
223
225
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error_6.message, messagePromiseId: messagePromiseId });
|
|
224
226
|
return [3 /*break*/, 25];
|
|
225
|
-
case 25: return [3 /*break*/,
|
|
227
|
+
case 25: return [3 /*break*/, 46];
|
|
226
228
|
case 26:
|
|
227
229
|
try {
|
|
228
230
|
missedConnEventResults = wrapperAppManager.getMissedConnEvent(data.raftId);
|
|
@@ -231,7 +233,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
231
233
|
catch (error) {
|
|
232
234
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
|
|
233
235
|
}
|
|
234
|
-
return [3 /*break*/,
|
|
236
|
+
return [3 /*break*/, 46];
|
|
235
237
|
case 27:
|
|
236
238
|
try {
|
|
237
239
|
streamAudioResults = wrapperAppManager.streamAudio(data.raftId, data.streamContents, data.clearExisting, data.duration);
|
|
@@ -240,7 +242,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
240
242
|
catch (error) {
|
|
241
243
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
|
|
242
244
|
}
|
|
243
|
-
return [3 /*break*/,
|
|
245
|
+
return [3 /*break*/, 46];
|
|
244
246
|
case 28:
|
|
245
247
|
try {
|
|
246
248
|
commsStats = wrapperAppManager.getCommsStatsMarty(data.raftId);
|
|
@@ -249,7 +251,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
249
251
|
catch (error) {
|
|
250
252
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
|
|
251
253
|
}
|
|
252
|
-
return [3 /*break*/,
|
|
254
|
+
return [3 /*break*/, 46];
|
|
253
255
|
case 29:
|
|
254
256
|
_b.trys.push([29, 31, , 32]);
|
|
255
257
|
return [4 /*yield*/, wrapperAppManager.calibrateColourSensorMarty(data.raftId)];
|
|
@@ -261,7 +263,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
261
263
|
error_7 = _b.sent();
|
|
262
264
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error_7.message, messagePromiseId: messagePromiseId });
|
|
263
265
|
return [3 /*break*/, 32];
|
|
264
|
-
case 32: return [3 /*break*/,
|
|
266
|
+
case 32: return [3 /*break*/, 46];
|
|
265
267
|
case 33:
|
|
266
268
|
try {
|
|
267
269
|
deviceInfoResults = wrapperAppManager.getDeviceInfo();
|
|
@@ -270,25 +272,25 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
270
272
|
catch (error) {
|
|
271
273
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
|
|
272
274
|
}
|
|
273
|
-
return [3 /*break*/,
|
|
275
|
+
return [3 /*break*/, 46];
|
|
274
276
|
case 34:
|
|
275
277
|
try {
|
|
276
278
|
wasSaved = saveItemOnDevice(data.fileName, data.base64);
|
|
277
|
-
window.wrapperCommunicator.onMessageResponse({ success: wasSaved, error: "", results:
|
|
279
|
+
window.wrapperCommunicator.onMessageResponse({ success: wasSaved, error: "", results: wasSaved, messagePromiseId: messagePromiseId });
|
|
278
280
|
}
|
|
279
281
|
catch (error) {
|
|
280
282
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
|
|
281
283
|
}
|
|
282
|
-
return [3 /*break*/,
|
|
284
|
+
return [3 /*break*/, 46];
|
|
283
285
|
case 35:
|
|
284
286
|
try {
|
|
285
287
|
wasSaved = saveItemOnDevice(data.fileName, data.base64);
|
|
286
|
-
window.wrapperCommunicator.onMessageResponse({ success: wasSaved, error: "", results:
|
|
288
|
+
window.wrapperCommunicator.onMessageResponse({ success: wasSaved, error: "", results: wasSaved, messagePromiseId: messagePromiseId });
|
|
287
289
|
}
|
|
288
290
|
catch (error) {
|
|
289
291
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
|
|
290
292
|
}
|
|
291
|
-
return [3 /*break*/,
|
|
293
|
+
return [3 /*break*/, 46];
|
|
292
294
|
case 36:
|
|
293
295
|
try {
|
|
294
296
|
fileContents = loadItem(data.fileName);
|
|
@@ -302,11 +304,36 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
|
|
|
302
304
|
catch (error) {
|
|
303
305
|
window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
|
|
304
306
|
}
|
|
305
|
-
return [3 /*break*/,
|
|
307
|
+
return [3 /*break*/, 46];
|
|
306
308
|
case 37:
|
|
309
|
+
_b.trys.push([37, 39, , 40]);
|
|
310
|
+
existingDevices = data.existingDevices;
|
|
311
|
+
return [4 /*yield*/, wrapperAppManager.scanForPotentialWarrantyDevice(existingDevices)];
|
|
312
|
+
case 38:
|
|
313
|
+
devices = _b.sent();
|
|
314
|
+
window.wrapperCommunicator.onMessageResponse({ success: true, error: "", results: devices, messagePromiseId: messagePromiseId });
|
|
315
|
+
return [3 /*break*/, 40];
|
|
316
|
+
case 39:
|
|
317
|
+
error_8 = _b.sent();
|
|
318
|
+
window.wrapperCommunicator.onMessageResponse({ success: false, error: error_8.message, messagePromiseId: messagePromiseId });
|
|
319
|
+
return [3 /*break*/, 40];
|
|
320
|
+
case 40: return [3 /*break*/, 46];
|
|
321
|
+
case 41:
|
|
322
|
+
_b.trys.push([41, 43, , 44]);
|
|
323
|
+
return [4 /*yield*/, wrapperAppManager.sendAtomicReadOperationToMarty(data.raftId)];
|
|
324
|
+
case 42:
|
|
325
|
+
wasSent = _b.sent();
|
|
326
|
+
window.wrapperCommunicator.onMessageResponse({ success: true, error: "", results: wasSent, messagePromiseId: messagePromiseId });
|
|
327
|
+
return [3 /*break*/, 44];
|
|
328
|
+
case 43:
|
|
329
|
+
error_9 = _b.sent();
|
|
330
|
+
window.wrapperCommunicator.onMessageResponse({ success: false, error: error_9.message, messagePromiseId: messagePromiseId });
|
|
331
|
+
return [3 /*break*/, 44];
|
|
332
|
+
case 44: return [3 /*break*/, 46];
|
|
333
|
+
case 45:
|
|
307
334
|
Logger.warn(SHOW_LOGS, TAG, "Unhandled message: ".concat(receivedMessage));
|
|
308
|
-
_b.label =
|
|
309
|
-
case
|
|
335
|
+
_b.label = 46;
|
|
336
|
+
case 46: return [2 /*return*/];
|
|
310
337
|
}
|
|
311
338
|
});
|
|
312
339
|
}); };
|
|
@@ -36,5 +36,9 @@ declare class MartyConnector extends Connector implements ConnectorInterface {
|
|
|
36
36
|
* Pub Event Handler
|
|
37
37
|
*/
|
|
38
38
|
pubEventHandler(eventEnum: RaftPublishEvent, eventName: string, data: any): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Msg Event Handler
|
|
41
|
+
*/
|
|
42
|
+
msgEventHandler(eventEnum: RaftConnEvent, eventName: string, data: any): Promise<void>;
|
|
39
43
|
}
|
|
40
44
|
export default MartyConnector;
|
|
@@ -145,6 +145,9 @@ var MartyConnector = /** @class */ (function (_super) {
|
|
|
145
145
|
case "pub":
|
|
146
146
|
this.pubEventHandler(eventEnum, eventName, data);
|
|
147
147
|
break;
|
|
148
|
+
case "msg":
|
|
149
|
+
this.msgEventHandler(eventEnum, eventName, data);
|
|
150
|
+
break;
|
|
148
151
|
default:
|
|
149
152
|
break;
|
|
150
153
|
}
|
|
@@ -238,6 +241,16 @@ var MartyConnector = /** @class */ (function (_super) {
|
|
|
238
241
|
});
|
|
239
242
|
});
|
|
240
243
|
};
|
|
244
|
+
/**
|
|
245
|
+
* Msg Event Handler
|
|
246
|
+
*/
|
|
247
|
+
MartyConnector.prototype.msgEventHandler = function (eventEnum, eventName, data) {
|
|
248
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
249
|
+
return __generator(this, function (_a) {
|
|
250
|
+
return [2 /*return*/];
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
};
|
|
241
254
|
return MartyConnector;
|
|
242
255
|
}(Connector));
|
|
243
256
|
export default MartyConnector;
|