dexie-cloud-addon 4.0.1-beta.43 → 4.0.1-beta.45
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/modern/dexie-cloud-addon.js +34 -23
- package/dist/modern/dexie-cloud-addon.js.map +1 -1
- package/dist/modern/dexie-cloud-addon.min.js +1 -1
- package/dist/modern/dexie-cloud-addon.min.js.map +1 -1
- package/dist/modern/service-worker.js +33 -22
- package/dist/modern/service-worker.js.map +1 -1
- package/dist/modern/service-worker.min.js +1 -1
- package/dist/modern/service-worker.min.js.map +1 -1
- package/dist/types/getInvitesObservable.d.ts +22 -2
- package/dist/umd/dexie-cloud-addon.js +34 -23
- package/dist/umd/dexie-cloud-addon.js.map +1 -1
- package/dist/umd/dexie-cloud-addon.min.js +1 -1
- package/dist/umd/dexie-cloud-addon.min.js.map +1 -1
- package/dist/umd/service-worker.js +33 -22
- package/dist/umd/service-worker.js.map +1 -1
- package/dist/umd/service-worker.min.js +1 -1
- package/dist/umd/service-worker.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,23 @@
|
|
|
1
1
|
import { Dexie } from 'dexie';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
export declare const getInvitesObservable: (x: Dexie) => import("./mapValueObservable").ObservableWithCurrentValue<{
|
|
3
|
+
accept(): Promise<void>;
|
|
4
|
+
reject(): Promise<void>;
|
|
5
|
+
id: string;
|
|
6
|
+
userId?: string | undefined;
|
|
7
|
+
email?: string | undefined;
|
|
8
|
+
name?: string | undefined;
|
|
9
|
+
invite?: boolean | undefined;
|
|
10
|
+
invitedDate?: Date | undefined;
|
|
11
|
+
invitedBy?: {
|
|
12
|
+
name: string;
|
|
13
|
+
email: string;
|
|
14
|
+
userId: string;
|
|
15
|
+
} | undefined;
|
|
16
|
+
accepted?: Date | undefined;
|
|
17
|
+
rejected?: Date | undefined;
|
|
18
|
+
roles?: string[] | undefined;
|
|
19
|
+
permissions?: import("dexie-cloud-common").DBPermissionSet | undefined;
|
|
20
|
+
realmId: string;
|
|
21
|
+
owner: string;
|
|
22
|
+
$ts?: number | undefined;
|
|
23
|
+
}[]>;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* ==========================================================================
|
|
10
10
|
*
|
|
11
|
-
* Version 4.0.1-beta.
|
|
11
|
+
* Version 4.0.1-beta.44, Wed Jul 05 2023
|
|
12
12
|
*
|
|
13
13
|
* https://dexie.org
|
|
14
14
|
*
|
|
@@ -4309,14 +4309,17 @@
|
|
|
4309
4309
|
*/
|
|
4310
4310
|
function dbOnClosed(db, handler) {
|
|
4311
4311
|
db.on.close.subscribe(handler);
|
|
4312
|
-
|
|
4313
|
-
|
|
4312
|
+
// @ts-ignore
|
|
4313
|
+
const origClose = db._close;
|
|
4314
|
+
// @ts-ignore
|
|
4315
|
+
db._close = function () {
|
|
4314
4316
|
origClose.call(this);
|
|
4315
4317
|
handler();
|
|
4316
4318
|
};
|
|
4317
4319
|
return () => {
|
|
4318
4320
|
db.on.close.unsubscribe(handler);
|
|
4319
|
-
|
|
4321
|
+
// @ts-ignore
|
|
4322
|
+
db._close = origClose;
|
|
4320
4323
|
};
|
|
4321
4324
|
}
|
|
4322
4325
|
|
|
@@ -5225,13 +5228,17 @@
|
|
|
5225
5228
|
return db.cloud.persistedSyncState.pipe(filter((syncState) => (syncState === null || syncState === void 0 ? void 0 : syncState.realms.includes(userLogin.userId)) || false), take(1), map((syncState) => [userLogin, syncState]));
|
|
5226
5229
|
}
|
|
5227
5230
|
return new rxjs.BehaviorSubject([userLogin, syncState]);
|
|
5228
|
-
}), switchMap(([userLogin, syncState]) => __awaiter(this, void 0, void 0, function* () { return [userLogin, yield computeRealmSetHash(syncState)]; })), switchMap(([userLogin, realmSetHash]) =>
|
|
5229
|
-
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
|
|
5231
|
+
}), switchMap(([userLogin, syncState]) => __awaiter(this, void 0, void 0, function* () { return [userLogin, yield computeRealmSetHash(syncState)]; })), distinctUntilChanged(([prevUser, prevHash], [currUser, currHash]) => prevUser === currUser && prevHash === currHash), switchMap(([userLogin, realmSetHash]) => {
|
|
5232
|
+
// Let server end query changes from last entry of same client-ID and forward.
|
|
5233
|
+
// If no new entries, server won't bother the client. If new entries, server sends only those
|
|
5234
|
+
// and the baseRev of the last from same client-ID.
|
|
5235
|
+
if (userLogin) {
|
|
5236
|
+
return new WSObservable(db.cloud.options.databaseUrl, db.cloud.persistedSyncState.value.serverRevision, realmSetHash, db.cloud.persistedSyncState.value.clientIdentity, messageProducer, db.cloud.webSocketStatus, userLogin.accessToken, userLogin.accessTokenExpiration);
|
|
5237
|
+
}
|
|
5238
|
+
else {
|
|
5239
|
+
return rxjs.from([]);
|
|
5240
|
+
}
|
|
5241
|
+
}), catchError((error) => {
|
|
5235
5242
|
if ((error === null || error === void 0 ? void 0 : error.name) === 'TokenExpiredError') {
|
|
5236
5243
|
console.debug('WebSocket observable: Token expired. Refreshing token...');
|
|
5237
5244
|
return rxjs.of(true).pipe(switchMap(() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -5253,15 +5260,19 @@
|
|
|
5253
5260
|
return rxjs.from(waitAndReconnectWhenUserDoesSomething(error)).pipe(switchMap(() => createObservable()));
|
|
5254
5261
|
}));
|
|
5255
5262
|
}
|
|
5256
|
-
return createObservable().subscribe(
|
|
5257
|
-
|
|
5258
|
-
|
|
5259
|
-
|
|
5260
|
-
|
|
5261
|
-
|
|
5262
|
-
|
|
5263
|
-
|
|
5264
|
-
|
|
5263
|
+
return createObservable().subscribe({
|
|
5264
|
+
next: (msg) => {
|
|
5265
|
+
if (msg) {
|
|
5266
|
+
console.debug('WS got message', msg);
|
|
5267
|
+
db.messageConsumer.enqueue(msg);
|
|
5268
|
+
}
|
|
5269
|
+
},
|
|
5270
|
+
error: (error) => {
|
|
5271
|
+
console.error('WS got error', error);
|
|
5272
|
+
},
|
|
5273
|
+
complete: () => {
|
|
5274
|
+
console.debug('WS observable completed');
|
|
5275
|
+
},
|
|
5265
5276
|
});
|
|
5266
5277
|
}
|
|
5267
5278
|
|
|
@@ -6037,7 +6048,7 @@
|
|
|
6037
6048
|
const emailMembersById = membersByEmail.reduce(reducer, {});
|
|
6038
6049
|
const membersById = accessControl.selfMembers.reduce(reducer, emailMembersById);
|
|
6039
6050
|
return Object.values(membersById)
|
|
6040
|
-
.filter((invite) => !invite.accepted
|
|
6051
|
+
.filter((invite) => !invite.accepted)
|
|
6041
6052
|
.map((invite) => (Object.assign(Object.assign({}, invite), { accept() {
|
|
6042
6053
|
return __awaiter(this, void 0, void 0, function* () {
|
|
6043
6054
|
yield db.members.update(invite.id, { accepted: new Date() });
|
|
@@ -6096,7 +6107,7 @@
|
|
|
6096
6107
|
});
|
|
6097
6108
|
const syncComplete = new rxjs.Subject();
|
|
6098
6109
|
dexie.cloud = {
|
|
6099
|
-
version: '4.0.1-beta.
|
|
6110
|
+
version: '4.0.1-beta.44',
|
|
6100
6111
|
options: Object.assign({}, DEFAULT_OPTIONS),
|
|
6101
6112
|
schema: null,
|
|
6102
6113
|
get currentUserId() {
|
|
@@ -6357,7 +6368,7 @@
|
|
|
6357
6368
|
});
|
|
6358
6369
|
}
|
|
6359
6370
|
}
|
|
6360
|
-
dexieCloud.version = '4.0.1-beta.
|
|
6371
|
+
dexieCloud.version = '4.0.1-beta.44';
|
|
6361
6372
|
Dexie__default["default"].Cloud = dexieCloud;
|
|
6362
6373
|
|
|
6363
6374
|
exports["default"] = dexieCloud;
|