@intuitionrobotics/push-pub-sub 0.40.25 → 0.41.2
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/app-backend/modules/PushPubSubModule.d.ts +4 -4
- package/app-backend/modules/PushPubSubModule.js +95 -72
- package/app-backend/modules/PushPubSubModule.js.map +1 -1
- package/app-frontend/modules/PushPubSubModule.d.ts +4 -3
- package/app-frontend/modules/PushPubSubModule.js +66 -88
- package/app-frontend/modules/PushPubSubModule.js.map +1 -1
- package/package.json +12 -12
- package/shared/types.d.ts +1 -1
- package/index-sw.d.ts +0 -1
- package/index-sw.js +0 -32
- package/index-sw.js.map +0 -1
- package/modules/PushPubSubModule.d.ts +0 -15
- package/modules/PushPubSubModule.js +0 -139
- package/modules/PushPubSubModule.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Module } from "@intuitionrobotics/ts-common";
|
|
2
|
-
import { FirebaseType_BatchResponse, FirebaseType_Message } from
|
|
2
|
+
import { FirebaseType_BatchResponse, FirebaseType_Message, FirestoreTransaction } from "@intuitionrobotics/firebase/backend";
|
|
3
3
|
import { DB_Notifications, IFP, ISP, ITP, MessageType, Request_PushRegister, SubscribeProps } from "../../index";
|
|
4
4
|
import { ExpressRequest } from "@intuitionrobotics/thunderstorm/backend";
|
|
5
5
|
declare type Config = {
|
|
@@ -16,16 +16,16 @@ export declare class PushPubSubModule_Class extends Module<Config> {
|
|
|
16
16
|
private messaging;
|
|
17
17
|
protected init(): void;
|
|
18
18
|
register(body: Request_PushRegister, request: ExpressRequest): Promise<DB_Notifications[]>;
|
|
19
|
-
pushToKey<M extends MessageType<any, any, any> = never, S extends string = IFP<M>, P extends SubscribeProps = ISP<M>, D = ITP<M>>(key: S, props?: P, data?: D, persistent?: boolean): Promise<void>;
|
|
19
|
+
pushToKey<M extends MessageType<any, any, any> = never, S extends string = IFP<M>, P extends SubscribeProps = ISP<M>, D = ITP<M>>(key: S, props?: P, data?: D, persistent?: boolean, transaction?: FirestoreTransaction): Promise<void>;
|
|
20
20
|
pushToUser<M extends MessageType<any, any, any> = never, S extends string = IFP<M>, P extends SubscribeProps = ISP<M>, D = ITP<M>>(user: string, key: string, props?: P, data?: D, persistent?: boolean): Promise<void>;
|
|
21
21
|
private buildNotification;
|
|
22
22
|
sendMessage: (persistent: boolean, _messages: TempMessages) => Promise<{
|
|
23
23
|
response: FirebaseType_BatchResponse;
|
|
24
24
|
messages: FirebaseType_Message[];
|
|
25
|
-
}>;
|
|
25
|
+
} | undefined>;
|
|
26
26
|
readNotification: (id: string, read: boolean) => Promise<void>;
|
|
27
27
|
scheduledCleanup: () => Promise<void>;
|
|
28
|
-
|
|
28
|
+
cleanUp: (response: FirebaseType_BatchResponse, messages: FirebaseType_Message[]) => Promise<void>;
|
|
29
29
|
private cleanUpImpl;
|
|
30
30
|
}
|
|
31
31
|
export declare const PushPubSubModule: PushPubSubModule_Class;
|
|
@@ -97,11 +97,13 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
97
97
|
switch (_a.label) {
|
|
98
98
|
case 0:
|
|
99
99
|
messages = Object.keys(_messages).map(function (token) { return ({ token: token, data: { messages: ts_common_1.__stringify(_messages[token]) } }); });
|
|
100
|
-
|
|
100
|
+
if (messages.length === 0)
|
|
101
|
+
return [2 /*return*/];
|
|
102
|
+
console.log("sending a message to \n" + Object.keys(_messages).join("\n"));
|
|
101
103
|
return [4 /*yield*/, this.messaging.sendAll(messages)];
|
|
102
104
|
case 1:
|
|
103
105
|
response = _a.sent();
|
|
104
|
-
console.log(
|
|
106
|
+
console.log("and this is the response: " + response.responses.map(function (_response) { return _response.success; }));
|
|
105
107
|
return [2 /*return*/, { response: response, messages: messages }];
|
|
106
108
|
}
|
|
107
109
|
});
|
|
@@ -157,9 +159,9 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
157
159
|
PushPubSubModule_Class.prototype.init = function () {
|
|
158
160
|
var session = backend_1.FirebaseModule.createAdminSession();
|
|
159
161
|
var firestore = session.getFirestore();
|
|
160
|
-
this.pushSessions = firestore.getCollection(
|
|
161
|
-
this.pushKeys = firestore.getCollection(
|
|
162
|
-
this.notifications = firestore.getCollection(
|
|
162
|
+
this.pushSessions = firestore.getCollection("push-sessions", ["pushSessionId"]);
|
|
163
|
+
this.pushKeys = firestore.getCollection("push-keys");
|
|
164
|
+
this.notifications = firestore.getCollection("notifications", ["_id"]);
|
|
163
165
|
this.messaging = session.getMessaging();
|
|
164
166
|
};
|
|
165
167
|
PushPubSubModule_Class.prototype.register = function (body, request) {
|
|
@@ -172,15 +174,14 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
172
174
|
case 0: return [4 /*yield*/, backend_2.dispatch_queryRequestInfo.dispatchModuleAsync([request])];
|
|
173
175
|
case 1:
|
|
174
176
|
resp = _d.sent();
|
|
175
|
-
userId = ((_b = (_a = resp.find(function (e) { return e.key ===
|
|
176
|
-
if (!userId)
|
|
177
|
-
throw new ts_common_1.ImplementationMissingException('Missing user from accounts Module');
|
|
177
|
+
userId = ((_b = (_a = resp.find(function (e) { return e.key === "AccountsModule"; })) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b._id) || ((_c = resp.find(function (e) { return e.key === "RemoteProxy"; })) === null || _c === void 0 ? void 0 : _c.data);
|
|
178
178
|
session = {
|
|
179
179
|
firebaseToken: body.firebaseToken,
|
|
180
180
|
pushSessionId: body.pushSessionId,
|
|
181
|
-
timestamp: ts_common_1.currentTimeMillies()
|
|
182
|
-
userId: userId
|
|
181
|
+
timestamp: ts_common_1.currentTimeMillies()
|
|
183
182
|
};
|
|
183
|
+
if (userId)
|
|
184
|
+
session.userId = userId;
|
|
184
185
|
subscriptions = body.subscriptions.map(function (s) {
|
|
185
186
|
var sub = {
|
|
186
187
|
pushSessionId: body.pushSessionId,
|
|
@@ -191,10 +192,10 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
191
192
|
return sub;
|
|
192
193
|
});
|
|
193
194
|
return [2 /*return*/, this.pushSessions.runInTransaction(function (transaction) { return __awaiter(_this, void 0, void 0, function () {
|
|
194
|
-
var pushKeys, subscriptionNotifications, _a, userNotifications, notifications, writePush, write;
|
|
195
|
+
var pushKeys, subscriptionNotifications, _a, userNotifications, _b, notifications, writePush, write;
|
|
195
196
|
var _this = this;
|
|
196
|
-
return __generator(this, function (
|
|
197
|
-
switch (
|
|
197
|
+
return __generator(this, function (_c) {
|
|
198
|
+
switch (_c.label) {
|
|
198
199
|
case 0:
|
|
199
200
|
pushKeys = subscriptions.map(function (_sub) { return _sub.pushKey; });
|
|
200
201
|
if (!(pushKeys.length !== 0)) return [3 /*break*/, 2];
|
|
@@ -202,11 +203,11 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
202
203
|
return [2 /*return*/, transaction.query(this.notifications, { where: { pushKey: { $in: elements } } })];
|
|
203
204
|
}); }); })];
|
|
204
205
|
case 1:
|
|
205
|
-
_a =
|
|
206
|
+
_a = _c.sent();
|
|
206
207
|
return [3 /*break*/, 3];
|
|
207
208
|
case 2:
|
|
208
209
|
_a = [];
|
|
209
|
-
|
|
210
|
+
_c.label = 3;
|
|
210
211
|
case 3:
|
|
211
212
|
subscriptionNotifications = _a;
|
|
212
213
|
if (subscriptionNotifications.length > 0)
|
|
@@ -215,22 +216,29 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
215
216
|
var x = (_a = subscriptions.find(function (_sub) { return _sub.pushKey === _notification.pushKey; })) === null || _a === void 0 ? void 0 : _a.props;
|
|
216
217
|
return ts_common_1.compare(x, _notification.props) || _notification.userId;
|
|
217
218
|
});
|
|
219
|
+
if (!userId) return [3 /*break*/, 5];
|
|
218
220
|
return [4 /*yield*/, transaction.query(this.notifications, { where: { userId: userId } })];
|
|
219
221
|
case 4:
|
|
220
|
-
|
|
222
|
+
_b = _c.sent();
|
|
223
|
+
return [3 /*break*/, 6];
|
|
224
|
+
case 5:
|
|
225
|
+
_b = [];
|
|
226
|
+
_c.label = 6;
|
|
227
|
+
case 6:
|
|
228
|
+
userNotifications = _b;
|
|
221
229
|
notifications = userNotifications.concat(subscriptionNotifications);
|
|
222
230
|
return [4 /*yield*/, transaction.upsert_Read(this.pushSessions, session)];
|
|
223
|
-
case
|
|
224
|
-
writePush =
|
|
231
|
+
case 7:
|
|
232
|
+
writePush = _c.sent();
|
|
225
233
|
return [4 /*yield*/, transaction.delete_Read(this.pushKeys, { where: { pushSessionId: body.pushSessionId } })];
|
|
226
|
-
case
|
|
227
|
-
write =
|
|
234
|
+
case 8:
|
|
235
|
+
write = _c.sent();
|
|
228
236
|
return [4 /*yield*/, transaction.insertAll(this.pushKeys, subscriptions)];
|
|
229
|
-
case
|
|
230
|
-
|
|
237
|
+
case 9:
|
|
238
|
+
_c.sent();
|
|
231
239
|
return [4 /*yield*/, Promise.all([write(), writePush()])];
|
|
232
|
-
case
|
|
233
|
-
|
|
240
|
+
case 10:
|
|
241
|
+
_c.sent();
|
|
234
242
|
return [2 /*return*/, ts_common_1.filterDuplicates(notifications)];
|
|
235
243
|
}
|
|
236
244
|
});
|
|
@@ -239,49 +247,60 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
239
247
|
});
|
|
240
248
|
});
|
|
241
249
|
};
|
|
242
|
-
PushPubSubModule_Class.prototype.pushToKey = function (key, props, data, persistent) {
|
|
250
|
+
PushPubSubModule_Class.prototype.pushToKey = function (key, props, data, persistent, transaction) {
|
|
243
251
|
if (persistent === void 0) { persistent = false; }
|
|
244
252
|
return __awaiter(this, void 0, void 0, function () {
|
|
245
|
-
var
|
|
253
|
+
var processor;
|
|
246
254
|
var _this = this;
|
|
247
|
-
return __generator(this, function (
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
255
|
+
return __generator(this, function (_a) {
|
|
256
|
+
processor = function (_transaction) { return __awaiter(_this, void 0, void 0, function () {
|
|
257
|
+
var docs, notification, sessionsIds, sessions, _messages, resp, response, messages;
|
|
258
|
+
var _this = this;
|
|
259
|
+
return __generator(this, function (_a) {
|
|
260
|
+
switch (_a.label) {
|
|
261
|
+
case 0:
|
|
262
|
+
console.log("i am pushing to key...", key, props, data);
|
|
263
|
+
return [4 /*yield*/, _transaction.query(this.pushKeys, { where: { pushKey: key } })];
|
|
264
|
+
case 1:
|
|
265
|
+
docs = _a.sent();
|
|
266
|
+
if (props)
|
|
267
|
+
docs = docs.filter(function (doc) { return !doc.props || ts_common_1.compare(doc.props, props); });
|
|
268
|
+
notification = this.buildNotification(key, persistent, data, props);
|
|
269
|
+
if (!persistent) return [3 /*break*/, 3];
|
|
270
|
+
return [4 /*yield*/, this.notifications.insertAll([notification])];
|
|
271
|
+
case 2:
|
|
272
|
+
_a.sent();
|
|
273
|
+
_a.label = 3;
|
|
274
|
+
case 3:
|
|
275
|
+
if (docs.length === 0)
|
|
276
|
+
return [2 /*return*/];
|
|
277
|
+
sessionsIds = docs.map(function (d) { return d.pushSessionId; });
|
|
278
|
+
return [4 /*yield*/, ts_common_1.batchAction(sessionsIds, 10, function (elements) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
279
|
+
return [2 /*return*/, _transaction.query(this.pushSessions, { where: { pushSessionId: { $in: elements } } })];
|
|
280
|
+
}); }); })];
|
|
281
|
+
case 4:
|
|
282
|
+
sessions = _a.sent();
|
|
283
|
+
_messages = docs.reduce(function (carry, db_pushKey) {
|
|
284
|
+
var session = sessions.find(function (s) { return s.pushSessionId === db_pushKey.pushSessionId; });
|
|
285
|
+
if (!session)
|
|
286
|
+
return carry;
|
|
287
|
+
carry[session.firebaseToken] = [notification];
|
|
288
|
+
return carry;
|
|
289
|
+
}, {});
|
|
290
|
+
return [4 /*yield*/, this.sendMessage(persistent, _messages)];
|
|
291
|
+
case 5:
|
|
292
|
+
resp = _a.sent();
|
|
293
|
+
if (!resp)
|
|
294
|
+
return [2 /*return*/, this.logInfo('No messages to send. Empty subscriptions')];
|
|
295
|
+
response = resp.response, messages = resp.messages;
|
|
296
|
+
this.logInfo(response.successCount + " sent, " + response.failureCount + " failed", "messages", messages);
|
|
297
|
+
return [2 /*return*/];
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
}); };
|
|
301
|
+
if (transaction)
|
|
302
|
+
return [2 /*return*/, processor(transaction)];
|
|
303
|
+
return [2 /*return*/, this.pushKeys.runInTransaction(processor)];
|
|
285
304
|
});
|
|
286
305
|
});
|
|
287
306
|
};
|
|
@@ -293,7 +312,7 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
293
312
|
return __generator(this, function (_a) {
|
|
294
313
|
switch (_a.label) {
|
|
295
314
|
case 0:
|
|
296
|
-
console.log(
|
|
315
|
+
console.log("i am pushing to user...", user, props);
|
|
297
316
|
notification = this.buildNotification(key, persistent, data, props, user);
|
|
298
317
|
notifications = [];
|
|
299
318
|
if (!persistent) return [3 /*break*/, 2];
|
|
@@ -328,23 +347,27 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
328
347
|
});
|
|
329
348
|
});
|
|
330
349
|
};
|
|
331
|
-
PushPubSubModule_Class.prototype.cleanUpImpl = function (
|
|
350
|
+
PushPubSubModule_Class.prototype.cleanUpImpl = function (_toDelete) {
|
|
332
351
|
return __awaiter(this, void 0, void 0, function () {
|
|
333
|
-
var sessions, async;
|
|
352
|
+
var toDelete, _sessions, sessions, async;
|
|
334
353
|
var _this = this;
|
|
335
354
|
return __generator(this, function (_a) {
|
|
336
355
|
switch (_a.label) {
|
|
337
356
|
case 0:
|
|
338
|
-
if (
|
|
357
|
+
if (_toDelete.length === 0)
|
|
339
358
|
return [2 /*return*/];
|
|
340
|
-
|
|
359
|
+
toDelete = ts_common_1.filterDuplicates(_toDelete);
|
|
360
|
+
return [4 /*yield*/, ts_common_1.batchActionParallel(toDelete, 10, function (elements) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
361
|
+
return [2 /*return*/, this.pushSessions.query({ where: { firebaseToken: { $in: elements } } })];
|
|
362
|
+
}); }); })];
|
|
341
363
|
case 1:
|
|
342
|
-
|
|
364
|
+
_sessions = _a.sent();
|
|
365
|
+
sessions = ts_common_1.filterDuplicates(_sessions.map(function (s) { return s.pushSessionId; }));
|
|
343
366
|
async = [
|
|
344
|
-
ts_common_1.
|
|
367
|
+
ts_common_1.batchActionParallel(toDelete, 10, function (elements) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
345
368
|
return [2 /*return*/, this.pushSessions.delete({ where: { firebaseToken: { $in: elements } } })];
|
|
346
369
|
}); }); }),
|
|
347
|
-
ts_common_1.
|
|
370
|
+
ts_common_1.batchActionParallel(sessions, 10, function (elements) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
348
371
|
return [2 /*return*/, this.pushKeys.delete({ where: { pushSessionId: { $in: elements } } })];
|
|
349
372
|
}); }); })
|
|
350
373
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushPubSubModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PushPubSubModule.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,0DAYsC;AAEtC,+
|
|
1
|
+
{"version":3,"file":"PushPubSubModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PushPubSubModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ export declare class PushPubSubModule_Class extends Module<PushPubSubConfig> {
|
|
|
24
24
|
private messaging?;
|
|
25
25
|
private dispatch_pushMessage;
|
|
26
26
|
private readonly pushSessionId;
|
|
27
|
+
protected timeout: number;
|
|
27
28
|
constructor();
|
|
28
29
|
init(): void;
|
|
29
30
|
getPushSessionId(): string;
|
|
@@ -35,10 +36,10 @@ export declare class PushPubSubModule_Class extends Module<PushPubSubConfig> {
|
|
|
35
36
|
} | undefined) => Promise<void>;
|
|
36
37
|
private processMessageFromSw;
|
|
37
38
|
private processMessage;
|
|
38
|
-
subscribe: (subscription: BaseSubscriptionData) =>
|
|
39
|
+
subscribe: (subscription: BaseSubscriptionData) => void;
|
|
39
40
|
private subscribeImpl;
|
|
40
|
-
subscribeMulti: (subscriptions: BaseSubscriptionData[]) =>
|
|
41
|
-
unsubscribe: (subscription: BaseSubscriptionData) =>
|
|
41
|
+
subscribeMulti: (subscriptions: BaseSubscriptionData[]) => void;
|
|
42
|
+
unsubscribe: (subscription: BaseSubscriptionData) => void;
|
|
42
43
|
private register;
|
|
43
44
|
}
|
|
44
45
|
export declare const PushPubSubModule: PushPubSubModule_Class;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/*
|
|
3
3
|
* A typescript & react boilerplate with api call example
|
|
4
4
|
*
|
|
5
|
-
* Copyright (C)
|
|
5
|
+
* Copyright (C) 2018 Intuition Robotics
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -72,8 +72,8 @@ var frontend_1 = require("@intuitionrobotics/thunderstorm/frontend");
|
|
|
72
72
|
var thunderstorm_1 = require("@intuitionrobotics/thunderstorm");
|
|
73
73
|
var frontend_2 = require("@intuitionrobotics/firebase/frontend");
|
|
74
74
|
var NotificationModule_1 = require("./NotificationModule");
|
|
75
|
-
exports.Command_SwToApp =
|
|
76
|
-
exports.pushSessionIdKey =
|
|
75
|
+
exports.Command_SwToApp = "SwToApp";
|
|
76
|
+
exports.pushSessionIdKey = "x-push-session-id";
|
|
77
77
|
var pushSessionId = new frontend_1.StorageKey(exports.pushSessionIdKey, false);
|
|
78
78
|
var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
79
79
|
__extends(PushPubSubModule_Class, _super);
|
|
@@ -81,12 +81,13 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
81
81
|
var _this = _super.call(this) || this;
|
|
82
82
|
_this.subscriptions = [];
|
|
83
83
|
_this.dispatch_pushMessage = new frontend_1.ThunderDispatcher("__onMessageReceived");
|
|
84
|
+
_this.timeout = 800;
|
|
84
85
|
_this.registerServiceWorker = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
85
86
|
return __generator(this, function (_a) {
|
|
86
87
|
switch (_a.label) {
|
|
87
88
|
case 0:
|
|
88
|
-
console.log(
|
|
89
|
-
return [4 /*yield*/, navigator.serviceWorker.register("/" + (this.config.swFileName ||
|
|
89
|
+
console.log("Registering service worker...");
|
|
90
|
+
return [4 /*yield*/, navigator.serviceWorker.register("/" + (this.config.swFileName || "ts_service_worker.js"))];
|
|
90
91
|
case 1: return [2 /*return*/, _a.sent()];
|
|
91
92
|
}
|
|
92
93
|
});
|
|
@@ -95,13 +96,13 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
95
96
|
var _a;
|
|
96
97
|
if (!((_a = _this.config) === null || _a === void 0 ? void 0 : _a.publicKeyBase64))
|
|
97
98
|
throw new ts_common_1.ImplementationMissingException("Please specify the right config for the 'PushPubSubModule'");
|
|
98
|
-
_this.runAsync(
|
|
99
|
+
_this.runAsync("Initializing Firebase SDK and registering SW", function () { return __awaiter(_this, void 0, void 0, function () {
|
|
99
100
|
var asyncs, _a, registration, app;
|
|
100
101
|
var _this = this;
|
|
101
102
|
return __generator(this, function (_b) {
|
|
102
103
|
switch (_b.label) {
|
|
103
104
|
case 0:
|
|
104
|
-
if (!(
|
|
105
|
+
if (!("serviceWorker" in navigator)) return [3 /*break*/, 4];
|
|
105
106
|
asyncs = [
|
|
106
107
|
this.registerServiceWorker(),
|
|
107
108
|
frontend_2.FirebaseModule.createSession()
|
|
@@ -124,7 +125,7 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
124
125
|
console.log("This page is currently controlled by: " + navigator.serviceWorker.controller);
|
|
125
126
|
}
|
|
126
127
|
navigator.serviceWorker.oncontrollerchange = function () {
|
|
127
|
-
console.log(
|
|
128
|
+
console.log("This page is now controlled by:", navigator.serviceWorker.controller);
|
|
128
129
|
};
|
|
129
130
|
navigator.serviceWorker.onmessage = function (event) {
|
|
130
131
|
_this.processMessageFromSw(event.data);
|
|
@@ -142,16 +143,16 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
142
143
|
return __generator(this, function (_b) {
|
|
143
144
|
switch (_b.label) {
|
|
144
145
|
case 0:
|
|
145
|
-
_b.trys.push([0,
|
|
146
|
-
this.logVerbose(
|
|
146
|
+
_b.trys.push([0, 5, , 6]);
|
|
147
|
+
this.logVerbose("Checking/Requesting permission...");
|
|
147
148
|
return [4 /*yield*/, Notification.requestPermission()];
|
|
148
149
|
case 1:
|
|
149
150
|
permission = _b.sent();
|
|
150
151
|
this.logVerbose("Notification permission: " + permission);
|
|
151
|
-
if (permission !==
|
|
152
|
+
if (permission !== "granted")
|
|
152
153
|
return [2 /*return*/];
|
|
153
154
|
if (!this.messaging)
|
|
154
|
-
throw new ts_common_1.BadImplementationException(
|
|
155
|
+
throw new ts_common_1.BadImplementationException("I literally just set this!");
|
|
155
156
|
_a = this;
|
|
156
157
|
return [4 /*yield*/, this.messaging.getToken(options)];
|
|
157
158
|
case 2:
|
|
@@ -159,103 +160,80 @@ var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
|
159
160
|
if (!this.firebaseToken)
|
|
160
161
|
return [2 /*return*/];
|
|
161
162
|
this.messaging.onMessage(function (payload) {
|
|
163
|
+
if (!payload.data)
|
|
164
|
+
return _this.logInfo('No data passed to the message handler, I got this', payload);
|
|
162
165
|
_this.processMessage(payload.data);
|
|
163
166
|
});
|
|
164
|
-
this.logVerbose(
|
|
165
|
-
this.
|
|
166
|
-
this.
|
|
167
|
-
return [3 /*break*/, 4];
|
|
167
|
+
this.logVerbose("new token received: " + this.firebaseToken);
|
|
168
|
+
if (!(this.subscriptions.length > 0)) return [3 /*break*/, 4];
|
|
169
|
+
return [4 /*yield*/, this.register()];
|
|
168
170
|
case 3:
|
|
171
|
+
_b.sent();
|
|
172
|
+
_b.label = 4;
|
|
173
|
+
case 4: return [3 /*break*/, 6];
|
|
174
|
+
case 5:
|
|
169
175
|
err_1 = _b.sent();
|
|
170
176
|
this.logError("Unable to get token", err_1);
|
|
171
|
-
return [3 /*break*/,
|
|
172
|
-
case
|
|
177
|
+
return [3 /*break*/, 6];
|
|
178
|
+
case 6: return [2 /*return*/];
|
|
173
179
|
}
|
|
174
180
|
});
|
|
175
181
|
}); };
|
|
176
182
|
_this.processMessageFromSw = function (data) {
|
|
177
|
-
_this.logInfo(
|
|
183
|
+
_this.logInfo("Got data from SW: ", data);
|
|
178
184
|
if (!data.command || !data.message || data.command !== exports.Command_SwToApp)
|
|
179
185
|
return;
|
|
180
186
|
_this.processMessage(data.message);
|
|
181
187
|
};
|
|
182
188
|
_this.processMessage = function (data) {
|
|
183
|
-
_this.logInfo(
|
|
189
|
+
_this.logInfo("process message", data);
|
|
184
190
|
var arr = JSON.parse(data.messages);
|
|
185
191
|
arr.forEach(function (s) {
|
|
186
192
|
s.persistent && NotificationModule_1.NotificationsModule.addNotification(s);
|
|
187
193
|
_this.dispatch_pushMessage.dispatchModule([s]);
|
|
188
194
|
});
|
|
189
195
|
};
|
|
190
|
-
_this.subscribe = function (subscription) {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
pushSessionId: this.getPushSessionId(),
|
|
220
|
-
subscriptions: this.subscriptions.map(function (_a) {
|
|
221
|
-
var pushKey = _a.pushKey, props = _a.props;
|
|
222
|
-
return ({ pushKey: pushKey, props: props });
|
|
223
|
-
})
|
|
224
|
-
};
|
|
225
|
-
return [4 /*yield*/, new Promise(function (resolve, reject) {
|
|
226
|
-
_this.debounce(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
227
|
-
var response, e_1;
|
|
228
|
-
return __generator(this, function (_a) {
|
|
229
|
-
switch (_a.label) {
|
|
230
|
-
case 0:
|
|
231
|
-
_a.trys.push([0, 2, , 3]);
|
|
232
|
-
return [4 /*yield*/, frontend_1.XhrHttpModule
|
|
233
|
-
.createRequest(thunderstorm_1.HttpMethod.POST, 'register-pub-sub-tab')
|
|
234
|
-
.setRelativeUrl("/v1/push/register")
|
|
235
|
-
.setJsonBody(body)
|
|
236
|
-
.setOnError("Failed to register for push")
|
|
237
|
-
.executeSync()];
|
|
238
|
-
case 1:
|
|
239
|
-
response = _a.sent();
|
|
240
|
-
NotificationModule_1.NotificationsModule.setNotificationList(response);
|
|
241
|
-
this.logVerbose('Finished register PubSub');
|
|
242
|
-
resolve();
|
|
243
|
-
return [3 /*break*/, 3];
|
|
244
|
-
case 2:
|
|
245
|
-
e_1 = _a.sent();
|
|
246
|
-
reject(e_1);
|
|
247
|
-
return [3 /*break*/, 3];
|
|
248
|
-
case 3: return [2 /*return*/];
|
|
249
|
-
}
|
|
250
|
-
});
|
|
251
|
-
}); }, 'push-registration', 800);
|
|
252
|
-
})];
|
|
253
|
-
case 1:
|
|
254
|
-
_a.sent();
|
|
255
|
-
return [2 /*return*/];
|
|
196
|
+
_this.subscribe = function (subscription) {
|
|
197
|
+
_this.subscribeImpl(subscription);
|
|
198
|
+
return _this.register();
|
|
199
|
+
};
|
|
200
|
+
_this.subscribeMulti = function (subscriptions) {
|
|
201
|
+
subscriptions.forEach(function (subscription) { return _this.subscribeImpl(subscription); });
|
|
202
|
+
return _this.register();
|
|
203
|
+
};
|
|
204
|
+
_this.unsubscribe = function (subscription) {
|
|
205
|
+
ts_common_1.removeFromArray(_this.subscriptions, function (d) { return d.pushKey === subscription.pushKey && ts_common_1.compare(subscription.props, d.props); });
|
|
206
|
+
return _this.register();
|
|
207
|
+
};
|
|
208
|
+
_this.register = function () {
|
|
209
|
+
var firebaseToken = _this.firebaseToken;
|
|
210
|
+
if (!firebaseToken)
|
|
211
|
+
return _this.logWarning("No Firebase token...");
|
|
212
|
+
_this.debounce(function () {
|
|
213
|
+
var body = {
|
|
214
|
+
firebaseToken: firebaseToken,
|
|
215
|
+
pushSessionId: _this.getPushSessionId(),
|
|
216
|
+
subscriptions: _this.subscriptions.map(function (_a) {
|
|
217
|
+
var pushKey = _a.pushKey, props = _a.props;
|
|
218
|
+
return ({ pushKey: pushKey, props: props });
|
|
219
|
+
})
|
|
220
|
+
};
|
|
221
|
+
_this.logDebug("Registering subscriptions");
|
|
222
|
+
for (var _i = 0, _a = _this.subscriptions; _i < _a.length; _i++) {
|
|
223
|
+
var sub = _a[_i];
|
|
224
|
+
_this.logDebug(sub.pushKey + " => " + (sub.props ? ts_common_1.__stringify(sub.props) : "no props"));
|
|
256
225
|
}
|
|
257
|
-
|
|
258
|
-
|
|
226
|
+
frontend_1.XhrHttpModule
|
|
227
|
+
.createRequest(thunderstorm_1.HttpMethod.POST, "register-pub-sub-tab")
|
|
228
|
+
.setRelativeUrl("/v1/push/register")
|
|
229
|
+
.setJsonBody(body)
|
|
230
|
+
.setOnError("Failed to register for push")
|
|
231
|
+
.execute(function (response) {
|
|
232
|
+
NotificationModule_1.NotificationsModule.setNotificationList(response);
|
|
233
|
+
_this.logVerbose("Finished register PubSub");
|
|
234
|
+
});
|
|
235
|
+
}, "debounce-register", _this.timeout);
|
|
236
|
+
};
|
|
259
237
|
window.name = window.name || ts_common_1.generateHex(32);
|
|
260
238
|
_this.pushSessionId = pushSessionId.set(window.name);
|
|
261
239
|
return _this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushPubSubModule.js","sourceRoot":"","sources":["../../../src/main/app-frontend/modules/PushPubSubModule.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,
|
|
1
|
+
{"version":3,"file":"PushPubSubModule.js","sourceRoot":"","sources":["../../../src/main/app-frontend/modules/PushPubSubModule.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intuitionrobotics/push-pub-sub",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.2",
|
|
4
4
|
"description": "push-pub-sub",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"
|
|
6
|
+
"IR",
|
|
7
7
|
"express",
|
|
8
8
|
"infra",
|
|
9
9
|
"nu-art",
|
|
@@ -16,22 +16,22 @@
|
|
|
16
16
|
"url": "git+ssh://git@github.com:intuition-robotics/push-pub-sub.git"
|
|
17
17
|
},
|
|
18
18
|
"license": "Apache-2.0",
|
|
19
|
-
"author": "
|
|
20
|
-
"main": "./
|
|
21
|
-
"types": "
|
|
19
|
+
"author": "IR",
|
|
20
|
+
"main": "./index.js",
|
|
21
|
+
"types": "./index.d.ts",
|
|
22
22
|
"scripts": {
|
|
23
|
-
"build": "tsc
|
|
23
|
+
"build": "tsc"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@intuitionrobotics/firebase": "~0.
|
|
27
|
-
"@intuitionrobotics/thunderstorm": "~0.
|
|
28
|
-
"@intuitionrobotics/ts-common": "~0.
|
|
26
|
+
"@intuitionrobotics/firebase": "~0.41.0",
|
|
27
|
+
"@intuitionrobotics/thunderstorm": "~0.41.0",
|
|
28
|
+
"@intuitionrobotics/ts-common": "~0.41.0",
|
|
29
29
|
"moment": "^2.24.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@intuitionrobotics/testelot": "~0.
|
|
33
|
-
"firebase": "^
|
|
34
|
-
"firebase-admin": "^
|
|
32
|
+
"@intuitionrobotics/testelot": "~0.41.0",
|
|
33
|
+
"firebase": "^9.6.1",
|
|
34
|
+
"firebase-admin": "^10.0.1",
|
|
35
35
|
"ts-node": "^8.6.2",
|
|
36
36
|
"tslint": "^5.16.0",
|
|
37
37
|
"typescript": "~4.1.0",
|
package/shared/types.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export declare type Request_ReadPush = DB_Object & {
|
|
|
18
18
|
export declare type Response_PushRegister = DB_Notifications[];
|
|
19
19
|
export declare type DB_PushSession = FirebaseToken & PushSessionId & {
|
|
20
20
|
timestamp: number;
|
|
21
|
-
userId
|
|
21
|
+
userId?: string;
|
|
22
22
|
};
|
|
23
23
|
export declare type DB_Notifications = DB_Object & SubscriptionData & {
|
|
24
24
|
userId?: string;
|
package/index-sw.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './modules/PushPubSubModule';
|
package/index-sw.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Permissions management system, define access level for each of
|
|
4
|
-
* your server apis, and restrict users by giving them access levels
|
|
5
|
-
*
|
|
6
|
-
* Copyright (C) 2020 Intuition Robotics
|
|
7
|
-
*
|
|
8
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
-
* you may not use this file except in compliance with the License.
|
|
10
|
-
* You may obtain a copy of the License at
|
|
11
|
-
*
|
|
12
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
-
*
|
|
14
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
15
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
-
* See the License for the specific language governing permissions and
|
|
18
|
-
* limitations under the License.
|
|
19
|
-
*/
|
|
20
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
23
|
-
}) : (function(o, m, k, k2) {
|
|
24
|
-
if (k2 === undefined) k2 = k;
|
|
25
|
-
o[k2] = m[k];
|
|
26
|
-
}));
|
|
27
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
28
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
29
|
-
};
|
|
30
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
__exportStar(require("./modules/PushPubSubModule"), exports);
|
|
32
|
-
//# sourceMappingURL=index-sw.js.map
|
package/index-sw.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-sw.js","sourceRoot":"","sources":["../src/sw/index-sw.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;AAEH,6DAA2C"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Module, StringMap } from '@intuitionrobotics/ts-common';
|
|
2
|
-
export declare const Command_SwToApp = "SwToApp";
|
|
3
|
-
declare type PushPubSubConfig = {
|
|
4
|
-
publicKeyBase64: string;
|
|
5
|
-
};
|
|
6
|
-
declare class PushPubSubModule_Class extends Module<PushPubSubConfig> {
|
|
7
|
-
constructor();
|
|
8
|
-
protected init(): void;
|
|
9
|
-
private initApp;
|
|
10
|
-
getClients: () => Promise<readonly Client[]>;
|
|
11
|
-
sendMessage: (data: StringMap) => Promise<void>;
|
|
12
|
-
handleMessageFromClient(event: ExtendableMessageEvent): void;
|
|
13
|
-
}
|
|
14
|
-
export declare const PushPubSubModule: PushPubSubModule_Class;
|
|
15
|
-
export {};
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* A typescript & react boilerplate with api call example
|
|
4
|
-
*
|
|
5
|
-
* Copyright (C) 2020 Intuition Robotics
|
|
6
|
-
*
|
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
-
* you may not use this file except in compliance with the License.
|
|
9
|
-
* You may obtain a copy of the License at
|
|
10
|
-
*
|
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
* See the License for the specific language governing permissions and
|
|
17
|
-
* limitations under the License.
|
|
18
|
-
*/
|
|
19
|
-
var __extends = (this && this.__extends) || (function () {
|
|
20
|
-
var extendStatics = function (d, b) {
|
|
21
|
-
extendStatics = Object.setPrototypeOf ||
|
|
22
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
23
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
24
|
-
return extendStatics(d, b);
|
|
25
|
-
};
|
|
26
|
-
return function (d, b) {
|
|
27
|
-
extendStatics(d, b);
|
|
28
|
-
function __() { this.constructor = d; }
|
|
29
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
30
|
-
};
|
|
31
|
-
})();
|
|
32
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
33
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
34
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
35
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
36
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
37
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
38
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
42
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
43
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
44
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
45
|
-
function step(op) {
|
|
46
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
47
|
-
while (_) try {
|
|
48
|
-
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;
|
|
49
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
50
|
-
switch (op[0]) {
|
|
51
|
-
case 0: case 1: t = op; break;
|
|
52
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
53
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
54
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
55
|
-
default:
|
|
56
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
57
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
58
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
59
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
60
|
-
if (t[2]) _.ops.pop();
|
|
61
|
-
_.trys.pop(); continue;
|
|
62
|
-
}
|
|
63
|
-
op = body.call(thisArg, _);
|
|
64
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
65
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
69
|
-
exports.PushPubSubModule = exports.Command_SwToApp = void 0;
|
|
70
|
-
// Give the service worker access to Firebase Messaging.
|
|
71
|
-
// Note that you can only use Firebase Messaging here, other Firebase libraries
|
|
72
|
-
// are not available in the service worker.
|
|
73
|
-
// import * as firebase from 'firebase/app';
|
|
74
|
-
var ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
75
|
-
var frontend_1 = require("@intuitionrobotics/firebase/frontend");
|
|
76
|
-
var self_1 = require("@intuitionrobotics/thunderstorm/core/self");
|
|
77
|
-
exports.Command_SwToApp = 'SwToApp';
|
|
78
|
-
var PushPubSubModule_Class = /** @class */ (function (_super) {
|
|
79
|
-
__extends(PushPubSubModule_Class, _super);
|
|
80
|
-
function PushPubSubModule_Class() {
|
|
81
|
-
var _this = _super.call(this, 'Service Worker PushPubSubModule') || this;
|
|
82
|
-
_this.initApp = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
83
|
-
var app, messaging;
|
|
84
|
-
var _this = this;
|
|
85
|
-
return __generator(this, function (_a) {
|
|
86
|
-
switch (_a.label) {
|
|
87
|
-
case 0:
|
|
88
|
-
this.logDebug('SW: Initiating app');
|
|
89
|
-
return [4 /*yield*/, frontend_1.FirebaseModule.createSwSession()];
|
|
90
|
-
case 1:
|
|
91
|
-
app = _a.sent();
|
|
92
|
-
this.logDebug('SW: app session', app);
|
|
93
|
-
messaging = app.getMessaging();
|
|
94
|
-
this.logDebug('SW: messaging wrapper', messaging);
|
|
95
|
-
messaging.onBackgroundMessage(function (payload) {
|
|
96
|
-
_this.runAsync("Sending message to window " + ts_common_1.__stringify(payload.data, true), function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
97
|
-
return [2 /*return*/, this.sendMessage(payload.data)];
|
|
98
|
-
}); }); });
|
|
99
|
-
});
|
|
100
|
-
return [2 /*return*/];
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}); };
|
|
104
|
-
_this.getClients = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
105
|
-
return [2 /*return*/, self_1.swSelf.clients.matchAll({ type: "window", includeUncontrolled: true })];
|
|
106
|
-
}); }); };
|
|
107
|
-
_this.sendMessage = function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
108
|
-
var clients, message;
|
|
109
|
-
return __generator(this, function (_a) {
|
|
110
|
-
switch (_a.label) {
|
|
111
|
-
case 0: return [4 /*yield*/, this.getClients()];
|
|
112
|
-
case 1:
|
|
113
|
-
clients = _a.sent();
|
|
114
|
-
message = {
|
|
115
|
-
command: exports.Command_SwToApp,
|
|
116
|
-
message: data
|
|
117
|
-
};
|
|
118
|
-
clients.forEach(function (client) {
|
|
119
|
-
client.postMessage(message);
|
|
120
|
-
});
|
|
121
|
-
return [2 /*return*/];
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
}); };
|
|
125
|
-
return _this;
|
|
126
|
-
}
|
|
127
|
-
PushPubSubModule_Class.prototype.init = function () {
|
|
128
|
-
this.runAsync('Init App', this.initApp);
|
|
129
|
-
};
|
|
130
|
-
PushPubSubModule_Class.prototype.handleMessageFromClient = function (event) {
|
|
131
|
-
// @ts-ignore
|
|
132
|
-
var respondToEvent = function (e, message) {
|
|
133
|
-
e.ports[0].postMessage(message);
|
|
134
|
-
};
|
|
135
|
-
};
|
|
136
|
-
return PushPubSubModule_Class;
|
|
137
|
-
}(ts_common_1.Module));
|
|
138
|
-
exports.PushPubSubModule = new PushPubSubModule_Class();
|
|
139
|
-
//# sourceMappingURL=PushPubSubModule.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PushPubSubModule.js","sourceRoot":"","sources":["../../src/sw/modules/PushPubSubModule.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,wDAAwD;AACxD,+EAA+E;AAC/E,2CAA2C;AAC3C,4CAA4C;AAC5C,0DAIsC;AACtC,iEAAoE;AACpE,kEAAiE;AAEpD,QAAA,eAAe,GAAG,SAAS,CAAC;AAMzC;IACS,0CAAwB;IAEhC;QAAA,YACC,kBAAM,iCAAiC,CAAC,SACxC;QAMO,aAAO,GAAG;;;;;;wBACjB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;wBACxB,qBAAM,yBAAc,CAAC,eAAe,EAAE,EAAA;;wBAA5C,GAAG,GAAG,SAAsC;wBAClD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;wBAChC,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;wBACrC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;wBAClD,SAAS,CAAC,mBAAmB,CAAC,UAAC,OAAY;4BAC1C,KAAI,CAAC,QAAQ,CAAC,+BAA6B,uBAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAG,EAAE;gCAAY,sBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAA;qCAAA,CAAC,CAAC;wBAC3H,CAAC,CAAC,CAAC;;;;aACH,CAAC;QAGF,gBAAU,GAAG;YAAY,sBAAA,aAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAC,CAAC,EAAA;iBAAA,CAAC;QAE9F,iBAAW,GAAG,UAAO,IAAe;;;;4BACnB,qBAAM,IAAI,CAAC,UAAU,EAAE,EAAA;;wBAAjC,OAAO,GAAG,SAAuB;wBAEjC,OAAO,GAAG;4BACf,OAAO,EAAE,uBAAe;4BACxB,OAAO,EAAE,IAAI;yBACb,CAAC;wBAEF,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;4BAC/B,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;wBAC7B,CAAC,CAAC,CAAC;;;;aACH,CAAC;;IA/BF,CAAC;IAES,qCAAI,GAAd;QACC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IA6BD,wDAAuB,GAAvB,UAAwB,KAA6B;QACpD,aAAa;QACb,IAAM,cAAc,GAAG,UAAC,CAAe,EAAE,OAAY;YACpD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC;IACH,CAAC;IACF,6BAAC;AAAD,CAAC,AA5CD,CACS,kBAAM,GA2Cd;AAEY,QAAA,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC"}
|