@intuitionrobotics/push-pub-sub 0.47.616 → 0.47.618
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/PushKey.d.ts +1 -2
- package/app-backend/modules/PushKey.js +2 -3
- package/app-backend/modules/PushKey.js.map +1 -1
- package/app-backend/modules/PushPubSubModule.d.ts +7 -10
- package/app-backend/modules/PushPubSubModule.js +20 -52
- package/app-backend/modules/PushPubSubModule.js.map +1 -1
- package/app-frontend/core/module-pack.d.ts +1 -2
- package/app-frontend/core/module-pack.js +1 -4
- package/app-frontend/core/module-pack.js.map +1 -1
- package/app-frontend/modules/PushPubSubModule.js +1 -6
- package/app-frontend/modules/PushPubSubModule.js.map +1 -1
- package/frontend.d.ts +0 -1
- package/frontend.js +0 -1
- package/frontend.js.map +1 -1
- package/package.json +1 -1
- package/shared/api.d.ts +2 -3
- package/shared/types.d.ts +2 -7
- package/app-backend/api/v1/push/read.d.ts +0 -1
- package/app-backend/api/v1/push/read.js +0 -27
- package/app-backend/api/v1/push/read.js.map +0 -1
- package/app-frontend/modules/NotificationModule.d.ts +0 -18
- package/app-frontend/modules/NotificationModule.js +0 -55
- package/app-frontend/modules/NotificationModule.js.map +0 -1
|
@@ -2,7 +2,6 @@ import { ObjectTS } from "@intuitionrobotics/ts-common";
|
|
|
2
2
|
import { SubscribeProps } from "./_imports";
|
|
3
3
|
export declare class PushKey<K extends string, P extends SubscribeProps, D extends ObjectTS> {
|
|
4
4
|
private readonly key;
|
|
5
|
-
|
|
6
|
-
constructor(key: K, persist?: boolean);
|
|
5
|
+
constructor(key: K);
|
|
7
6
|
push(data: D, props?: P): Promise<void>;
|
|
8
7
|
}
|
|
@@ -12,13 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.PushKey = void 0;
|
|
13
13
|
const PushPubSubModule_1 = require("./PushPubSubModule");
|
|
14
14
|
class PushKey {
|
|
15
|
-
constructor(key
|
|
15
|
+
constructor(key) {
|
|
16
16
|
this.key = key;
|
|
17
|
-
this.persist = persist;
|
|
18
17
|
}
|
|
19
18
|
push(data, props) {
|
|
20
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
return PushPubSubModule_1.PushPubSubModule.pushToKey(this.key, props, data
|
|
20
|
+
return PushPubSubModule_1.PushPubSubModule.pushToKey(this.key, props, data);
|
|
22
21
|
});
|
|
23
22
|
}
|
|
24
23
|
;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushKey.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PushKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,yDAAoD;AAGpD,MAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"PushKey.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PushKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,yDAAoD;AAGpD,MAAa,OAAO;IAInB,YAAY,GAAM;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;IAEK,IAAI,CAAC,IAAO,EAAE,KAAS;;YAC5B,OAAO,mCAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;KAAA;IAAA,CAAC;CACF;AAXD,0BAWC"}
|
|
@@ -1,30 +1,27 @@
|
|
|
1
1
|
import { Module } from "@intuitionrobotics/ts-common";
|
|
2
2
|
import { FirebaseType_BatchResponse, FirebaseType_Message, FirestoreTransaction } from "@intuitionrobotics/firebase/backend";
|
|
3
|
-
import {
|
|
3
|
+
import { PushMessage, IFP, ISP, ITP, MessageType, Request_PushRegister, SubscribeProps } from "../../index";
|
|
4
4
|
import { ExpressRequest } from "@intuitionrobotics/thunderstorm/backend";
|
|
5
5
|
type Config = {
|
|
6
|
-
notificationsCleanupTime?: number;
|
|
7
6
|
sessionsCleanupTime?: number;
|
|
8
7
|
};
|
|
9
8
|
type TempMessages = {
|
|
10
|
-
[token: string]:
|
|
9
|
+
[token: string]: PushMessage[];
|
|
11
10
|
};
|
|
12
11
|
export declare class PushPubSubModule_Class extends Module<Config> {
|
|
13
12
|
constructor();
|
|
14
13
|
private pushSessions;
|
|
15
14
|
private pushKeys;
|
|
16
|
-
private notifications;
|
|
17
15
|
private messaging;
|
|
18
16
|
protected init(): void;
|
|
19
|
-
register(body: Request_PushRegister, request: ExpressRequest): Promise<
|
|
20
|
-
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,
|
|
21
|
-
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
|
|
22
|
-
private
|
|
23
|
-
sendMessage: (
|
|
17
|
+
register(body: Request_PushRegister, request: ExpressRequest): Promise<void>;
|
|
18
|
+
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, transaction?: FirestoreTransaction): Promise<void>;
|
|
19
|
+
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): Promise<void>;
|
|
20
|
+
private buildMessage;
|
|
21
|
+
sendMessage: (_messages: TempMessages) => Promise<{
|
|
24
22
|
response: FirebaseType_BatchResponse;
|
|
25
23
|
messages: FirebaseType_Message[];
|
|
26
24
|
} | undefined>;
|
|
27
|
-
readNotification: (id: string, read: boolean) => Promise<void>;
|
|
28
25
|
scheduledCleanup: () => Promise<void>;
|
|
29
26
|
cleanUp: (response: FirebaseType_BatchResponse, messages: FirebaseType_Message[]) => Promise<void>;
|
|
30
27
|
private cleanUpImpl;
|
|
@@ -16,23 +16,21 @@ const backend_2 = require("@intuitionrobotics/thunderstorm/backend");
|
|
|
16
16
|
class PushPubSubModule_Class extends ts_common_1.Module {
|
|
17
17
|
constructor() {
|
|
18
18
|
super("PushPubSubModule");
|
|
19
|
-
this.
|
|
20
|
-
const
|
|
19
|
+
this.buildMessage = (pushkey, data, props, user) => {
|
|
20
|
+
const message = {
|
|
21
21
|
_id: (0, ts_common_1.generateHex)(16),
|
|
22
22
|
timestamp: (0, ts_common_1.currentTimeMillies)(),
|
|
23
|
-
|
|
24
|
-
pushKey: pushkey,
|
|
25
|
-
persistent
|
|
23
|
+
pushKey: pushkey
|
|
26
24
|
};
|
|
27
25
|
if (data)
|
|
28
|
-
|
|
26
|
+
message.data = data;
|
|
29
27
|
if (props)
|
|
30
|
-
|
|
28
|
+
message.props = props;
|
|
31
29
|
if (user)
|
|
32
|
-
|
|
33
|
-
return
|
|
30
|
+
message.userId = user;
|
|
31
|
+
return message;
|
|
34
32
|
};
|
|
35
|
-
this.sendMessage = (
|
|
33
|
+
this.sendMessage = (_messages) => __awaiter(this, void 0, void 0, function* () {
|
|
36
34
|
const messages = Object.keys(_messages).map(token => ({
|
|
37
35
|
token,
|
|
38
36
|
data: { messages: (0, ts_common_1.__stringify)(_messages[token]) }
|
|
@@ -44,18 +42,11 @@ class PushPubSubModule_Class extends ts_common_1.Module {
|
|
|
44
42
|
console.log("and this is the response: " + response.responses.map(_response => _response.success));
|
|
45
43
|
return { response, messages };
|
|
46
44
|
});
|
|
47
|
-
this.readNotification = (id, read) => __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
yield this.notifications.patch({ _id: id, read });
|
|
49
|
-
});
|
|
50
45
|
this.scheduledCleanup = () => __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
var _a
|
|
46
|
+
var _a;
|
|
52
47
|
const sessionsCleanupTime = ((_a = this.config) === null || _a === void 0 ? void 0 : _a.sessionsCleanupTime) || ts_common_1.Hour;
|
|
53
|
-
const notificationsCleanupTime = ((_b = this.config) === null || _b === void 0 ? void 0 : _b.notificationsCleanupTime) || 7 * ts_common_1.Day;
|
|
54
48
|
const docs = yield this.pushSessions.query({ where: { timestamp: { $lt: (0, ts_common_1.currentTimeMillies)() - sessionsCleanupTime } } });
|
|
55
|
-
yield
|
|
56
|
-
this.notifications.delete({ where: { timestamp: { $lt: (0, ts_common_1.currentTimeMillies)() - notificationsCleanupTime } } }),
|
|
57
|
-
this.cleanUpImpl(docs.map(d => d.firebaseToken))
|
|
58
|
-
]);
|
|
49
|
+
yield this.cleanUpImpl(docs.map(d => d.firebaseToken));
|
|
59
50
|
});
|
|
60
51
|
this.cleanUp = (response, messages) => __awaiter(this, void 0, void 0, function* () {
|
|
61
52
|
this.logInfo(`${response.successCount} sent, ${response.failureCount} failed`);
|
|
@@ -66,7 +57,6 @@ class PushPubSubModule_Class extends ts_common_1.Module {
|
|
|
66
57
|
carry.push(messages[i].token);
|
|
67
58
|
return carry;
|
|
68
59
|
}, []);
|
|
69
|
-
//TODO: delete notifications for the user that are older than X
|
|
70
60
|
return this.cleanUpImpl(toDelete);
|
|
71
61
|
});
|
|
72
62
|
}
|
|
@@ -75,7 +65,6 @@ class PushPubSubModule_Class extends ts_common_1.Module {
|
|
|
75
65
|
const firestore = session.getFirestore();
|
|
76
66
|
this.pushSessions = firestore.getCollection("push-sessions", ["pushSessionId"]);
|
|
77
67
|
this.pushKeys = firestore.getCollection("push-keys");
|
|
78
|
-
this.notifications = firestore.getCollection("notifications", ["_id"]);
|
|
79
68
|
this.messaging = session.getMessaging();
|
|
80
69
|
}
|
|
81
70
|
register(body, request) {
|
|
@@ -104,37 +93,21 @@ class PushPubSubModule_Class extends ts_common_1.Module {
|
|
|
104
93
|
return sub;
|
|
105
94
|
});
|
|
106
95
|
return this.pushSessions.runInTransaction((transaction) => __awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
const pushKeys = subscriptions.map(_sub => _sub.pushKey);
|
|
108
|
-
let subscriptionNotifications = pushKeys.length !== 0 ?
|
|
109
|
-
yield (0, ts_common_1.batchAction)(pushKeys, 10, (elements) => __awaiter(this, void 0, void 0, function* () { return transaction.query(this.notifications, { where: { pushKey: { $in: elements } } }); })) : [];
|
|
110
|
-
if (subscriptionNotifications.length > 0)
|
|
111
|
-
subscriptionNotifications = subscriptionNotifications.filter(_notification => {
|
|
112
|
-
var _a;
|
|
113
|
-
const x = (_a = subscriptions.find(_sub => _sub.pushKey === _notification.pushKey)) === null || _a === void 0 ? void 0 : _a.props;
|
|
114
|
-
return (0, ts_common_1.compare)(x, _notification.props) || _notification.userId;
|
|
115
|
-
});
|
|
116
|
-
const userNotifications = userId ? yield transaction.query(this.notifications, { where: { userId } }) : [];
|
|
117
|
-
const notifications = userNotifications.concat(subscriptionNotifications);
|
|
118
96
|
const writePush = yield transaction.upsert_Read(this.pushSessions, session);
|
|
119
97
|
const write = yield transaction.delete_Read(this.pushKeys, { where: { pushSessionId: body.pushSessionId } });
|
|
120
98
|
yield transaction.insertAll(this.pushKeys, subscriptions);
|
|
121
99
|
yield Promise.all([write(), writePush()]);
|
|
122
|
-
return (0, ts_common_1.filterDuplicates)(notifications);
|
|
123
100
|
}));
|
|
124
101
|
});
|
|
125
102
|
}
|
|
126
|
-
pushToKey(
|
|
127
|
-
return __awaiter(this,
|
|
103
|
+
pushToKey(key, props, data, transaction) {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
105
|
const processor = (_transaction) => __awaiter(this, void 0, void 0, function* () {
|
|
129
106
|
console.log("i am pushing to key...", key, props, data);
|
|
130
107
|
let docs = yield _transaction.query(this.pushKeys, { where: { pushKey: key } });
|
|
131
108
|
if (props)
|
|
132
109
|
docs = docs.filter(doc => !doc.props || (0, ts_common_1.compare)(doc.props, props));
|
|
133
|
-
const
|
|
134
|
-
// If we need to do read and write for a transaction move this to a callback and rename to pushToKey_Read
|
|
135
|
-
if (persistent) {
|
|
136
|
-
yield this.notifications.insertAll([notification]);
|
|
137
|
-
}
|
|
110
|
+
const message = this.buildMessage(key, data, props);
|
|
138
111
|
if (docs.length === 0)
|
|
139
112
|
return;
|
|
140
113
|
const sessionsIds = docs.map(d => d.pushSessionId);
|
|
@@ -144,10 +117,10 @@ class PushPubSubModule_Class extends ts_common_1.Module {
|
|
|
144
117
|
const session = sessions.find(s => s.pushSessionId === db_pushKey.pushSessionId);
|
|
145
118
|
if (!session)
|
|
146
119
|
return carry;
|
|
147
|
-
carry[session.firebaseToken] = [
|
|
120
|
+
carry[session.firebaseToken] = [message];
|
|
148
121
|
return carry;
|
|
149
122
|
}, {});
|
|
150
|
-
const resp = yield this.sendMessage(
|
|
123
|
+
const resp = yield this.sendMessage(_messages);
|
|
151
124
|
if (!resp)
|
|
152
125
|
return this.logInfo('No messages to send. Empty subscriptions');
|
|
153
126
|
const { response, messages } = resp;
|
|
@@ -159,15 +132,10 @@ class PushPubSubModule_Class extends ts_common_1.Module {
|
|
|
159
132
|
return this.pushKeys.runInTransaction(processor);
|
|
160
133
|
});
|
|
161
134
|
}
|
|
162
|
-
pushToUser(
|
|
163
|
-
return __awaiter(this,
|
|
135
|
+
pushToUser(user, key, props, data) {
|
|
136
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
164
137
|
console.log("i am pushing to user...", user, props);
|
|
165
|
-
const
|
|
166
|
-
const notifications = [];
|
|
167
|
-
if (persistent) {
|
|
168
|
-
notifications.push(notification);
|
|
169
|
-
yield this.notifications.insertAll(notifications);
|
|
170
|
-
}
|
|
138
|
+
const message = this.buildMessage(key, data, props, user);
|
|
171
139
|
const docs = yield this.pushSessions.query({ where: { userId: user } });
|
|
172
140
|
if (docs.length === 0)
|
|
173
141
|
return;
|
|
@@ -177,10 +145,10 @@ class PushPubSubModule_Class extends ts_common_1.Module {
|
|
|
177
145
|
const session = sessions.find(s => s.pushSessionId === db_pushKey.pushSessionId);
|
|
178
146
|
if (!session)
|
|
179
147
|
return carry;
|
|
180
|
-
carry[session.firebaseToken] = [
|
|
148
|
+
carry[session.firebaseToken] = [message];
|
|
181
149
|
return carry;
|
|
182
150
|
}, {});
|
|
183
|
-
yield this.sendMessage(
|
|
151
|
+
yield this.sendMessage(_messages);
|
|
184
152
|
});
|
|
185
153
|
}
|
|
186
154
|
cleanUpImpl(_toDelete) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushPubSubModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PushPubSubModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"PushPubSubModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PushPubSubModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export declare const Frontend_ModulePack_PushPubSub: (import("@intuitionrobotics/firebase/frontend").FirebaseModule_Class | import("../modules/
|
|
1
|
+
export declare const Frontend_ModulePack_PushPubSub: (import("@intuitionrobotics/firebase/frontend").FirebaseModule_Class | import("../modules/PushPubSubModule").PushPubSubModule_Class)[];
|
|
2
2
|
export * from "../modules/PushPubSubModule";
|
|
3
|
-
export * from "../modules/NotificationModule";
|
|
@@ -17,12 +17,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.Frontend_ModulePack_PushPubSub = void 0;
|
|
18
18
|
const PushPubSubModule_1 = require("../modules/PushPubSubModule");
|
|
19
19
|
const frontend_1 = require("@intuitionrobotics/firebase/frontend");
|
|
20
|
-
const NotificationModule_1 = require("../modules/NotificationModule");
|
|
21
20
|
exports.Frontend_ModulePack_PushPubSub = [
|
|
22
21
|
frontend_1.FirebaseModule,
|
|
23
|
-
PushPubSubModule_1.PushPubSubModule
|
|
24
|
-
NotificationModule_1.NotificationsModule
|
|
22
|
+
PushPubSubModule_1.PushPubSubModule
|
|
25
23
|
];
|
|
26
24
|
__exportStar(require("../modules/PushPubSubModule"), exports);
|
|
27
|
-
__exportStar(require("../modules/NotificationModule"), exports);
|
|
28
25
|
//# sourceMappingURL=module-pack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-pack.js","sourceRoot":"","sources":["../../../src/main/app-frontend/core/module-pack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,kEAA6D;AAC7D,mEAAoE;
|
|
1
|
+
{"version":3,"file":"module-pack.js","sourceRoot":"","sources":["../../../src/main/app-frontend/core/module-pack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,kEAA6D;AAC7D,mEAAoE;AAEvD,QAAA,8BAA8B,GAAG;IAC7C,yBAAc;IACd,mCAAgB;CAChB,CAAC;AAEF,8DAA4C"}
|
|
@@ -31,7 +31,6 @@ const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
|
31
31
|
const frontend_1 = require("@intuitionrobotics/thunderstorm/frontend");
|
|
32
32
|
const thunderstorm_1 = require("@intuitionrobotics/thunderstorm");
|
|
33
33
|
const frontend_2 = require("@intuitionrobotics/firebase/frontend");
|
|
34
|
-
const NotificationModule_1 = require("./NotificationModule");
|
|
35
34
|
exports.Command_SwToApp = "SwToApp";
|
|
36
35
|
exports.pushSessionIdKey = "x-push-session-id";
|
|
37
36
|
const pushSessionId = new frontend_1.StorageKey(exports.pushSessionIdKey, false);
|
|
@@ -112,7 +111,6 @@ class PushPubSubModule_Class extends ts_common_1.Module {
|
|
|
112
111
|
this.logInfo("process message", data);
|
|
113
112
|
const arr = JSON.parse(data.messages);
|
|
114
113
|
arr.forEach(s => {
|
|
115
|
-
s.persistent && NotificationModule_1.NotificationsModule.addNotification(s);
|
|
116
114
|
this.subscriptions
|
|
117
115
|
.filter(d => d.pushKey === s.pushKey && (0, ts_common_1.compare)(s.props, d.props))
|
|
118
116
|
.forEach(d => d.callBack(s.data));
|
|
@@ -160,10 +158,7 @@ class PushPubSubModule_Class extends ts_common_1.Module {
|
|
|
160
158
|
.setRelativeUrl("/v1/push/register")
|
|
161
159
|
.setJsonBody(body)
|
|
162
160
|
.setOnError("Failed to register for push")
|
|
163
|
-
.execute((
|
|
164
|
-
NotificationModule_1.NotificationsModule.setNotificationList(response);
|
|
165
|
-
this.logVerbose("Finished register PubSub");
|
|
166
|
-
});
|
|
161
|
+
.execute(() => this.logVerbose("Finished register PubSub"));
|
|
167
162
|
}, "debounce-register", this.timeout);
|
|
168
163
|
};
|
|
169
164
|
window.name = window.name || (0, ts_common_1.generateHex)(32);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushPubSubModule.js","sourceRoot":"","sources":["../../../src/main/app-frontend/modules/PushPubSubModule.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;AAEH,4DAQsC;AAEtC,uEAAmF;AASnF,kEAA2D;AAC3D,mEAAuG;
|
|
1
|
+
{"version":3,"file":"PushPubSubModule.js","sourceRoot":"","sources":["../../../src/main/app-frontend/modules/PushPubSubModule.ts"],"names":[],"mappings":"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"}
|
package/frontend.d.ts
CHANGED
package/frontend.js
CHANGED
|
@@ -15,6 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./app-frontend/modules/PushPubSubModule"), exports);
|
|
18
|
-
__exportStar(require("./app-frontend/modules/NotificationModule"), exports);
|
|
19
18
|
__exportStar(require("./app-frontend/core/module-pack"), exports);
|
|
20
19
|
//# sourceMappingURL=frontend.js.map
|
package/frontend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend.js","sourceRoot":"","sources":["../src/main/frontend.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"frontend.js","sourceRoot":"","sources":["../src/main/frontend.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAAwD;AACxD,kEAAgD"}
|
package/package.json
CHANGED
package/shared/api.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { ApiWithBody } from "@intuitionrobotics/thunderstorm";
|
|
2
|
-
import { Request_PushRegister
|
|
3
|
-
export type PubSubRegisterClient = ApiWithBody<'/v1/push/register', Request_PushRegister,
|
|
4
|
-
export type PubSubReadNotification = ApiWithBody<'/v1/push/read', Request_ReadPush, void>;
|
|
2
|
+
import { Request_PushRegister } from "./types";
|
|
3
|
+
export type PubSubRegisterClient = ApiWithBody<'/v1/push/register', Request_PushRegister, void>;
|
package/shared/types.d.ts
CHANGED
|
@@ -18,19 +18,14 @@ export type Language = {
|
|
|
18
18
|
export type Request_PushRegister = FirebaseToken & PushSessionId & Language & {
|
|
19
19
|
subscriptions: BaseSubscriptionData[];
|
|
20
20
|
};
|
|
21
|
-
export type Request_ReadPush = DB_Object & {
|
|
22
|
-
read: boolean;
|
|
23
|
-
};
|
|
24
|
-
export type Response_PushRegister = DB_Notifications[];
|
|
25
21
|
export type DB_PushSession = FirebaseToken & PushSessionId & Language & {
|
|
26
22
|
timestamp: number;
|
|
27
23
|
userId?: string;
|
|
28
24
|
};
|
|
29
|
-
|
|
25
|
+
/** What a client actually receives over FCM - not stored anywhere. */
|
|
26
|
+
export type PushMessage = DB_Object & SubscriptionData & {
|
|
30
27
|
userId?: string;
|
|
31
28
|
timestamp: number;
|
|
32
|
-
read: boolean;
|
|
33
|
-
persistent?: boolean;
|
|
34
29
|
};
|
|
35
30
|
export type DB_PushKeys = PushSessionId & BaseSubscriptionData;
|
|
36
31
|
export type FirebaseToken = {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const backend_1 = require("@intuitionrobotics/thunderstorm/backend");
|
|
13
|
-
const thunderstorm_1 = require("@intuitionrobotics/thunderstorm");
|
|
14
|
-
const PushPubSubModule_1 = require("../../../modules/PushPubSubModule");
|
|
15
|
-
class ServerApi_PushRead extends backend_1.ServerApi {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(thunderstorm_1.HttpMethod.POST, "read");
|
|
18
|
-
}
|
|
19
|
-
process(request, response, queryParams, body) {
|
|
20
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
// const user = await KasperoProxy.validateSession(request);
|
|
22
|
-
return yield PushPubSubModule_1.PushPubSubModule.readNotification(body._id, body.read);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
module.exports = new ServerApi_PushRead();
|
|
27
|
-
//# sourceMappingURL=read.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/push/read.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,qEAIiD;AAGjD,kEAA2D;AAC3D,wEAAmE;AAMnE,MAAM,kBACL,SAAQ,mBAAiC;IAEzC;QACC,KAAK,CAAC,yBAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAEe,OAAO,CAAC,OAAuB,EAAE,QAAqB,EAAE,WAAe,EAAE,IAAsB;;YAC9G,4DAA4D;YAC5D,OAAO,MAAM,mCAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;KAAA;CACD;AAED,MAAM,CAAC,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ThunderDispatcher } from "@intuitionrobotics/thunderstorm/app-frontend/core/thunder-dispatcher";
|
|
2
|
-
import { Module } from "@intuitionrobotics/ts-common";
|
|
3
|
-
import { DB_Notifications } from "../..";
|
|
4
|
-
export interface OnNotificationsUpdated {
|
|
5
|
-
__onNotificationsUpdated(): void;
|
|
6
|
-
}
|
|
7
|
-
export declare const dispatch_NotificationsUpdated: ThunderDispatcher<OnNotificationsUpdated, "__onNotificationsUpdated", [], void>;
|
|
8
|
-
export declare class NotificationsModule_Class extends Module {
|
|
9
|
-
constructor();
|
|
10
|
-
private notifications;
|
|
11
|
-
getNotifications(): DB_Notifications[];
|
|
12
|
-
setNotificationList: (notifications: DB_Notifications[]) => void;
|
|
13
|
-
addNotification(newNotification: DB_Notifications): void;
|
|
14
|
-
removeNotification(notification: DB_Notifications): string;
|
|
15
|
-
read: (notification: DB_Notifications, read: boolean) => void;
|
|
16
|
-
readNotification: (id: string, read: boolean) => void;
|
|
17
|
-
}
|
|
18
|
-
export declare const NotificationsModule: NotificationsModule_Class;
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NotificationsModule = exports.NotificationsModule_Class = exports.dispatch_NotificationsUpdated = void 0;
|
|
4
|
-
const thunder_dispatcher_1 = require("@intuitionrobotics/thunderstorm/app-frontend/core/thunder-dispatcher");
|
|
5
|
-
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
6
|
-
const frontend_1 = require("@intuitionrobotics/thunderstorm/frontend");
|
|
7
|
-
const thunderstorm_1 = require("@intuitionrobotics/thunderstorm");
|
|
8
|
-
exports.dispatch_NotificationsUpdated = new thunder_dispatcher_1.ThunderDispatcher('__onNotificationsUpdated');
|
|
9
|
-
class NotificationsModule_Class extends ts_common_1.Module {
|
|
10
|
-
constructor() {
|
|
11
|
-
super("NotificationsModule");
|
|
12
|
-
this.notifications = [];
|
|
13
|
-
this.setNotificationList = (notifications) => {
|
|
14
|
-
this.notifications = notifications;
|
|
15
|
-
exports.dispatch_NotificationsUpdated.dispatchUI();
|
|
16
|
-
};
|
|
17
|
-
this.read = (notification, read) => {
|
|
18
|
-
const readNotification = this.notifications.find(_notification => _notification._id === notification._id);
|
|
19
|
-
if (!readNotification || !readNotification.persistent)
|
|
20
|
-
return;
|
|
21
|
-
readNotification.read = read;
|
|
22
|
-
this.readNotification(notification._id, read);
|
|
23
|
-
};
|
|
24
|
-
this.readNotification = (id, read) => {
|
|
25
|
-
const body = {
|
|
26
|
-
_id: id,
|
|
27
|
-
read
|
|
28
|
-
};
|
|
29
|
-
frontend_1.XhrHttpModule
|
|
30
|
-
.createRequest(thunderstorm_1.HttpMethod.POST, 'read-notification')
|
|
31
|
-
.setRelativeUrl("/v1/push/read")
|
|
32
|
-
.setJsonBody(body)
|
|
33
|
-
.setOnError('Something went wrong while reading your notification')
|
|
34
|
-
.setTimeout(ts_common_1.Minute)
|
|
35
|
-
.execute(() => {
|
|
36
|
-
exports.dispatch_NotificationsUpdated.dispatchUI();
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
getNotifications() {
|
|
41
|
-
return this.notifications;
|
|
42
|
-
}
|
|
43
|
-
addNotification(newNotification) {
|
|
44
|
-
this.notifications.push(newNotification);
|
|
45
|
-
exports.dispatch_NotificationsUpdated.dispatchUI();
|
|
46
|
-
}
|
|
47
|
-
removeNotification(notification) {
|
|
48
|
-
(0, ts_common_1.removeItemFromArray)(this.notifications, notification);
|
|
49
|
-
exports.dispatch_NotificationsUpdated.dispatchUI();
|
|
50
|
-
return notification._id;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
exports.NotificationsModule_Class = NotificationsModule_Class;
|
|
54
|
-
exports.NotificationsModule = new NotificationsModule_Class();
|
|
55
|
-
//# sourceMappingURL=NotificationModule.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationModule.js","sourceRoot":"","sources":["../../../src/main/app-frontend/modules/NotificationModule.ts"],"names":[],"mappings":";;;AAAA,6GAAuG;AACvG,4DAIsC;AAKtC,uEAAuE;AACvE,kEAA2D;AAM9C,QAAA,6BAA6B,GAAG,IAAI,sCAAiB,CAAqD,0BAA0B,CAAC,CAAC;AAGnJ,MAAa,yBACZ,SAAQ,kBAAM;IAEd;QACC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAGtB,kBAAa,GAAuB,EAAE,CAAC;QAM/C,wBAAmB,GAAG,CAAC,aAAiC,EAAE,EAAE;YAC3D,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,qCAA6B,CAAC,UAAU,EAAE,CAAC;QAC5C,CAAC,CAAC;QAaF,SAAI,GAAG,CAAC,YAA8B,EAAE,IAAa,EAAE,EAAE;YACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,CAAC,CAAC;YAC1G,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,UAAU;gBACpD,OAAO;YAER,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,qBAAgB,GAAG,CAAC,EAAU,EAAE,IAAa,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG;gBACZ,GAAG,EAAE,EAAE;gBACP,IAAI;aACJ,CAAC;YAEF,wBAAa;iBACX,aAAa,CAAyB,yBAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC;iBAC3E,cAAc,CAAC,eAAe,CAAC;iBAC/B,WAAW,CAAC,IAAI,CAAC;iBACjB,UAAU,CAAC,sDAAsD,CAAC;iBAClE,UAAU,CAAC,kBAAM,CAAC;iBAClB,OAAO,CAAC,GAAG,EAAE;gBACb,qCAA6B,CAAC,UAAU,EAAE,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IAhDF,CAAC;IAID,gBAAgB;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAOD,eAAe,CAAC,eAAiC;QAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,qCAA6B,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,YAA8B;QAChD,IAAA,+BAAmB,EAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACtD,qCAA6B,CAAC,UAAU,EAAE,CAAC;QAC3C,OAAO,YAAY,CAAC,GAAG,CAAC;IACzB,CAAC;CA4BD;AAvDD,8DAuDC;AAEY,QAAA,mBAAmB,GAAG,IAAI,yBAAyB,EAAE,CAAC"}
|