@towns-labs/sdk 2.0.11 → 2.0.12
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/client.d.ts +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +45 -1
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/streamStateView_User.d.ts.map +1 -1
- package/dist/streamStateView_User.js +1 -0
- package/dist/streamStateView_User.js.map +1 -1
- package/dist/streamStateView_UserInbox.d.ts.map +1 -1
- package/dist/streamStateView_UserInbox.js +1 -0
- package/dist/streamStateView_UserInbox.js.map +1 -1
- package/dist/streamStateView_UserMetadata.d.ts.map +1 -1
- package/dist/streamStateView_UserMetadata.js +1 -0
- package/dist/streamStateView_UserMetadata.js.map +1 -1
- package/dist/streamStateView_UserSettings.d.ts.map +1 -1
- package/dist/streamStateView_UserSettings.js +9 -1
- package/dist/streamStateView_UserSettings.js.map +1 -1
- package/dist/sync-agent/dms/dms.d.ts +5 -5
- package/dist/sync-agent/dms/dms.d.ts.map +1 -1
- package/dist/sync-agent/dms/dms.js +12 -27
- package/dist/sync-agent/dms/dms.js.map +1 -1
- package/dist/sync-agent/dms/models/dm.d.ts +4 -5
- package/dist/sync-agent/dms/models/dm.d.ts.map +1 -1
- package/dist/sync-agent/dms/models/dm.js +28 -34
- package/dist/sync-agent/dms/models/dm.js.map +1 -1
- package/dist/sync-agent/gdms/gdms.d.ts +5 -6
- package/dist/sync-agent/gdms/gdms.d.ts.map +1 -1
- package/dist/sync-agent/gdms/gdms.js +12 -27
- package/dist/sync-agent/gdms/gdms.js.map +1 -1
- package/dist/sync-agent/gdms/models/gdm.d.ts +7 -5
- package/dist/sync-agent/gdms/models/gdm.d.ts.map +1 -1
- package/dist/sync-agent/gdms/models/gdm.js +29 -34
- package/dist/sync-agent/gdms/models/gdm.js.map +1 -1
- package/dist/sync-agent/members/members.d.ts +6 -18
- package/dist/sync-agent/members/members.d.ts.map +1 -1
- package/dist/sync-agent/members/members.js +25 -124
- package/dist/sync-agent/members/members.js.map +1 -1
- package/dist/sync-agent/members/models/member.d.ts +3 -45
- package/dist/sync-agent/members/models/member.d.ts.map +1 -1
- package/dist/sync-agent/members/models/member.js +15 -114
- package/dist/sync-agent/members/models/member.js.map +1 -1
- package/dist/sync-agent/members/models/myself.d.ts +1 -11
- package/dist/sync-agent/members/models/myself.d.ts.map +1 -1
- package/dist/sync-agent/members/models/myself.js +1 -84
- package/dist/sync-agent/members/models/myself.js.map +1 -1
- package/dist/sync-agent/river-connection/riverConnection.d.ts +5 -11
- package/dist/sync-agent/river-connection/riverConnection.d.ts.map +1 -1
- package/dist/sync-agent/river-connection/riverConnection.js +27 -29
- package/dist/sync-agent/river-connection/riverConnection.js.map +1 -1
- package/dist/sync-agent/spaces/models/channel.d.ts +7 -26
- package/dist/sync-agent/spaces/models/channel.d.ts.map +1 -1
- package/dist/sync-agent/spaces/models/channel.js +24 -37
- package/dist/sync-agent/spaces/models/channel.js.map +1 -1
- package/dist/sync-agent/spaces/models/space.d.ts +4 -5
- package/dist/sync-agent/spaces/models/space.d.ts.map +1 -1
- package/dist/sync-agent/spaces/models/space.js +27 -37
- package/dist/sync-agent/spaces/models/space.js.map +1 -1
- package/dist/sync-agent/spaces/spaces.d.ts +8 -11
- package/dist/sync-agent/spaces/spaces.d.ts.map +1 -1
- package/dist/sync-agent/spaces/spaces.js +13 -28
- package/dist/sync-agent/spaces/spaces.js.map +1 -1
- package/dist/sync-agent/syncAgent.d.ts +13 -18
- package/dist/sync-agent/syncAgent.d.ts.map +1 -1
- package/dist/sync-agent/syncAgent.js +5 -14
- package/dist/sync-agent/syncAgent.js.map +1 -1
- package/dist/sync-agent/user/models/userInbox.d.ts +4 -17
- package/dist/sync-agent/user/models/userInbox.d.ts.map +1 -1
- package/dist/sync-agent/user/models/userInbox.js +14 -61
- package/dist/sync-agent/user/models/userInbox.js.map +1 -1
- package/dist/sync-agent/user/models/userMemberships.d.ts +6 -22
- package/dist/sync-agent/user/models/userMemberships.d.ts.map +1 -1
- package/dist/sync-agent/user/models/userMemberships.js +16 -68
- package/dist/sync-agent/user/models/userMemberships.js.map +1 -1
- package/dist/sync-agent/user/models/userMetadata.d.ts +4 -17
- package/dist/sync-agent/user/models/userMetadata.d.ts.map +1 -1
- package/dist/sync-agent/user/models/userMetadata.js +14 -61
- package/dist/sync-agent/user/models/userMetadata.js.map +1 -1
- package/dist/sync-agent/user/models/userSettings.d.ts +5 -8
- package/dist/sync-agent/user/models/userSettings.d.ts.map +1 -1
- package/dist/sync-agent/user/models/userSettings.js +15 -42
- package/dist/sync-agent/user/models/userSettings.js.map +1 -1
- package/dist/sync-agent/user/user.d.ts +2 -6
- package/dist/sync-agent/user/user.d.ts.map +1 -1
- package/dist/sync-agent/user/user.js +9 -20
- package/dist/sync-agent/user/user.js.map +1 -1
- package/dist/tests/multi_ne/sync-agent/member.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/member.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/member.test.js +20 -0
- package/dist/tests/multi_ne/sync-agent/member.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/members.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/members.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/members.test.js +35 -0
- package/dist/tests/multi_ne/sync-agent/members.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/riverConnection.test.d.ts +5 -0
- package/dist/tests/multi_ne/sync-agent/riverConnection.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/riverConnection.test.js +39 -0
- package/dist/tests/multi_ne/sync-agent/riverConnection.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/spaces.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/spaces.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/spaces.test.js +33 -0
- package/dist/tests/multi_ne/sync-agent/spaces.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/streams.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/streams.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/streams.test.js +27 -0
- package/dist/tests/multi_ne/sync-agent/streams.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.js +58 -0
- package/dist/tests/multi_ne/sync-agent/syncAgent.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.js +153 -0
- package/dist/tests/multi_ne/sync-agent/syncAgents.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/timeline.test.d.ts +2 -0
- package/dist/tests/multi_ne/sync-agent/timeline.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/timeline.test.js +206 -0
- package/dist/tests/multi_ne/sync-agent/timeline.test.js.map +1 -0
- package/dist/tests/multi_ne/sync-agent/user.test.d.ts +5 -0
- package/dist/tests/multi_ne/sync-agent/user.test.d.ts.map +1 -0
- package/dist/tests/multi_ne/sync-agent/user.test.js +48 -0
- package/dist/tests/multi_ne/sync-agent/user.test.js.map +1 -0
- package/dist/views/models/timelineEvent.d.ts.map +1 -1
- package/dist/views/models/timelineEvent.js +153 -1
- package/dist/views/models/timelineEvent.js.map +1 -1
- package/dist/views/models/timelineTypes.d.ts +48 -1
- package/dist/views/models/timelineTypes.d.ts.map +1 -1
- package/dist/views/models/timelineTypes.js +3 -0
- package/dist/views/models/timelineTypes.js.map +1 -1
- package/dist/views/streams/userInboxStreams.d.ts +3 -0
- package/dist/views/streams/userInboxStreams.d.ts.map +1 -1
- package/dist/views/streams/userInboxStreams.js +15 -4
- package/dist/views/streams/userInboxStreams.js.map +1 -1
- package/dist/views/streams/userMetadataStreams.d.ts +3 -0
- package/dist/views/streams/userMetadataStreams.d.ts.map +1 -1
- package/dist/views/streams/userMetadataStreams.js +15 -4
- package/dist/views/streams/userMetadataStreams.js.map +1 -1
- package/dist/views/streams/userSettingsStreams.d.ts +3 -0
- package/dist/views/streams/userSettingsStreams.d.ts.map +1 -1
- package/dist/views/streams/userSettingsStreams.js +17 -6
- package/dist/views/streams/userSettingsStreams.js.map +1 -1
- package/dist/views/streams/userStreamsView.d.ts +3 -0
- package/dist/views/streams/userStreamsView.d.ts.map +1 -1
- package/dist/views/streams/userStreamsView.js +21 -10
- package/dist/views/streams/userStreamsView.js.map +1 -1
- package/package.json +10 -9
- package/dist/sync-agent/db.d.ts +0 -18
- package/dist/sync-agent/db.d.ts.map +0 -1
- package/dist/sync-agent/db.js +0 -34
- package/dist/sync-agent/db.js.map +0 -1
- package/dist/sync-agent/river-connection/models/transactionalClient.d.ts +0 -11
- package/dist/sync-agent/river-connection/models/transactionalClient.d.ts.map +0 -1
- package/dist/sync-agent/river-connection/models/transactionalClient.js +0 -14
- package/dist/sync-agent/river-connection/models/transactionalClient.js.map +0 -1
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { RiverConnection } from './river-connection/riverConnection';
|
|
2
|
-
import { Store } from '../store/store';
|
|
3
2
|
import { userIdFromAddress } from '../id';
|
|
4
3
|
import { User } from './user/user';
|
|
5
4
|
import { RiverDbManager } from '../riverDbManager';
|
|
6
|
-
import { DB_MODELS, DB_VERSION } from './db';
|
|
7
5
|
import { Spaces } from './spaces/spaces';
|
|
8
6
|
import { Gdms } from './gdms/gdms';
|
|
9
7
|
import { Dms } from './dms/dms';
|
|
@@ -13,7 +11,6 @@ export class SyncAgent {
|
|
|
13
11
|
userId;
|
|
14
12
|
config;
|
|
15
13
|
riverConnection;
|
|
16
|
-
store;
|
|
17
14
|
user;
|
|
18
15
|
spaces;
|
|
19
16
|
gdms;
|
|
@@ -26,9 +23,7 @@ export class SyncAgent {
|
|
|
26
23
|
const logId = config.logId ?? shortenHexString(this.userId);
|
|
27
24
|
this.log = dlog('csb:syncAgent', { defaultEnabled: true }).extend(logId);
|
|
28
25
|
this.config = config;
|
|
29
|
-
this.
|
|
30
|
-
this.store.newTransactionGroup('SyncAgent::initialization');
|
|
31
|
-
this.riverConnection = new RiverConnection(this.store, config.townsConfig, {
|
|
26
|
+
this.riverConnection = new RiverConnection(config.townsConfig, {
|
|
32
27
|
signerContext: config.context,
|
|
33
28
|
cryptoStore: RiverDbManager.getCryptoDb(this.userId, this.cryptoDbName()),
|
|
34
29
|
opts: {
|
|
@@ -42,16 +37,14 @@ export class SyncAgent {
|
|
|
42
37
|
encryptionDevice: config.encryptionDevice,
|
|
43
38
|
onTokenExpired: config.onTokenExpired,
|
|
44
39
|
});
|
|
45
|
-
this.user = new User(this.userId, this.
|
|
46
|
-
this.spaces = new Spaces(this.
|
|
47
|
-
this.gdms = new Gdms(this.
|
|
48
|
-
this.dms = new Dms(this.
|
|
40
|
+
this.user = new User(this.userId, this.riverConnection);
|
|
41
|
+
this.spaces = new Spaces(this.riverConnection, this.user.memberships);
|
|
42
|
+
this.gdms = new Gdms(this.riverConnection, this.user.memberships);
|
|
43
|
+
this.dms = new Dms(this.riverConnection, this.user.memberships);
|
|
49
44
|
// flatten out the observables
|
|
50
45
|
this.observables = {
|
|
51
46
|
riverAuthStatus: this.riverConnection.authStatus,
|
|
52
|
-
riverConnection: this.riverConnection,
|
|
53
47
|
spaces: this.spaces,
|
|
54
|
-
user: this.user,
|
|
55
48
|
userMemberships: this.user.memberships,
|
|
56
49
|
userInbox: this.user.inbox,
|
|
57
50
|
userMetadata: this.user.deviceKeys,
|
|
@@ -64,8 +57,6 @@ export class SyncAgent {
|
|
|
64
57
|
if (this.stopped) {
|
|
65
58
|
throw new Error('SyncAgent is stopped, please instantiate a new sync agent');
|
|
66
59
|
}
|
|
67
|
-
// commit the initialization transaction, which triggers onLoaded on the models
|
|
68
|
-
await this.store.commitTransaction();
|
|
69
60
|
this.log('SyncAgent::start: starting river connection');
|
|
70
61
|
// start this river connection, this will log us in if the user is already signed up
|
|
71
62
|
// it will leave us in a connected state otherwise, see riverConnection.authStatus
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncAgent.js","sourceRoot":"","sources":["../../src/sync-agent/syncAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"syncAgent.js","sourceRoot":"","sources":["../../src/sync-agent/syncAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,8 @@
|
|
|
1
|
-
import { Identifiable, Store } from '../../../store/store';
|
|
2
|
-
import { UserInboxPayload_Snapshot_DeviceSummary } from '@towns-labs/proto';
|
|
3
|
-
import { PersistedObservable } from '../../../observable/persistedObservable';
|
|
4
1
|
import { RiverConnection } from '../../river-connection/riverConnection';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
initialized: boolean;
|
|
9
|
-
deviceId?: string;
|
|
10
|
-
deviceSummary?: UserInboxPayload_Snapshot_DeviceSummary;
|
|
11
|
-
}
|
|
12
|
-
export declare class UserInbox extends PersistedObservable<UserInboxModel> {
|
|
2
|
+
import { UserInboxStreamModel } from '../../../views/streams/userInboxStreams';
|
|
3
|
+
import { Observable } from '../../../observable/observable';
|
|
4
|
+
export declare class UserInbox extends Observable<UserInboxStreamModel> {
|
|
13
5
|
private riverConnection;
|
|
14
|
-
constructor(id: string,
|
|
15
|
-
protected onLoaded(): void;
|
|
16
|
-
private onClientStarted;
|
|
17
|
-
private onStreamInitialized;
|
|
18
|
-
private onDeviceSummaryUpdated;
|
|
19
|
-
private initialize;
|
|
6
|
+
constructor(id: string, riverConnection: RiverConnection);
|
|
20
7
|
}
|
|
21
8
|
//# sourceMappingURL=userInbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userInbox.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userInbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userInbox.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userInbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAEH,oBAAoB,EACvB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAK3D,qBAAa,SAAU,SAAQ,UAAU,CAAC,oBAAoB,CAAC;IAGvD,OAAO,CAAC,eAAe;gBADvB,EAAE,EAAE,MAAM,EACF,eAAe,EAAE,eAAe;CAe/C"}
|
|
@@ -1,68 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { check, dlogger } from '@towns-labs/utils';
|
|
8
|
-
import { LoadPriority } from '../../../store/store';
|
|
9
|
-
import { PersistedObservable, persistedObservable } from '../../../observable/persistedObservable';
|
|
1
|
+
import { dlogger } from '@towns-labs/utils';
|
|
10
2
|
import { makeUserInboxStreamId } from '../../../id';
|
|
11
|
-
import {
|
|
3
|
+
import { DEFAULT_USER_INBOX_STREAM_MODEL, } from '../../../views/streams/userInboxStreams';
|
|
4
|
+
import { Observable } from '../../../observable/observable';
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
12
6
|
const logger = dlogger('csb:userInbox');
|
|
13
|
-
|
|
7
|
+
export class UserInbox extends Observable {
|
|
14
8
|
riverConnection;
|
|
15
|
-
constructor(id,
|
|
16
|
-
|
|
9
|
+
constructor(id, riverConnection) {
|
|
10
|
+
const streamId = makeUserInboxStreamId(id);
|
|
11
|
+
super(DEFAULT_USER_INBOX_STREAM_MODEL(streamId));
|
|
17
12
|
this.riverConnection = riverConnection;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
logger.log('onClientStarted');
|
|
24
|
-
if (this.riverConnection.client?.cryptoInitialized) {
|
|
25
|
-
const deviceId = this.riverConnection.client.userDeviceKey().deviceKey;
|
|
26
|
-
const streamView = this.riverConnection.client.stream(this.data.streamId)?.view;
|
|
27
|
-
if (streamView && deviceId) {
|
|
28
|
-
this.initialize(deviceId, streamView);
|
|
29
|
-
}
|
|
30
|
-
else if (deviceId) {
|
|
31
|
-
this.setData({ deviceId });
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
client.addListener('userInboxDeviceSummaryUpdated', this.onDeviceSummaryUpdated);
|
|
35
|
-
client.addListener('streamInitialized', this.onStreamInitialized);
|
|
36
|
-
return () => {
|
|
37
|
-
client.removeListener('userInboxDeviceSummaryUpdated', this.onDeviceSummaryUpdated);
|
|
38
|
-
client.removeListener('streamInitialized', this.onStreamInitialized);
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
onStreamInitialized = (streamId) => {
|
|
42
|
-
if (streamId === this.data.streamId) {
|
|
43
|
-
const streamView = this.riverConnection.client?.stream(this.data.streamId)?.view;
|
|
44
|
-
const deviceId = this.riverConnection.client?.userDeviceKey().deviceKey;
|
|
45
|
-
check(isDefined(deviceId), 'deviceId is not defined');
|
|
46
|
-
check(isDefined(streamView), 'streamView is not defined');
|
|
47
|
-
this.initialize(deviceId, streamView);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
onDeviceSummaryUpdated = (streamId, deviceId, deviceSummary) => {
|
|
51
|
-
if (streamId === this.data.streamId) {
|
|
52
|
-
logger.log('onUserInboxDeviceSummaryUpdated', deviceId, deviceSummary);
|
|
53
|
-
this.setData({ deviceId, deviceSummary });
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
initialize(deviceId, streamView) {
|
|
57
|
-
this.setData({
|
|
58
|
-
initialized: true,
|
|
59
|
-
deviceId,
|
|
60
|
-
deviceSummary: streamView.userInboxContent.deviceSummary[deviceId],
|
|
13
|
+
this.riverConnection.registerView((client) => {
|
|
14
|
+
const unsub = client.streamsView.userInboxStreams.subscribe((value) => {
|
|
15
|
+
this.setValue(value[streamId] ?? this.value);
|
|
16
|
+
}, { fireImediately: true });
|
|
17
|
+
return unsub;
|
|
61
18
|
});
|
|
62
19
|
}
|
|
63
|
-
}
|
|
64
|
-
UserInbox = __decorate([
|
|
65
|
-
persistedObservable({ tableName: 'userInbox' })
|
|
66
|
-
], UserInbox);
|
|
67
|
-
export { UserInbox };
|
|
20
|
+
}
|
|
68
21
|
//# sourceMappingURL=userInbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userInbox.js","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userInbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userInbox.js","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userInbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEnD,OAAO,EACH,+BAA+B,GAElC,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAE3D,6DAA6D;AAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAEvC,MAAM,OAAO,SAAU,SAAQ,UAAgC;IAG/C;IAFZ,YACI,EAAU,EACF,eAAgC;QAExC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAA;QAC1C,KAAK,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAA;QAHxC,oBAAe,GAAf,eAAe,CAAiB;QAKxC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,CACvD,CAAC,KAAK,EAAE,EAAE;gBACN,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;YAChD,CAAC,EACD,EAAE,cAAc,EAAE,IAAI,EAAE,CAC3B,CAAA;YACD,OAAO,KAAK,CAAA;QAChB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ"}
|
|
@@ -1,28 +1,12 @@
|
|
|
1
|
-
import { MembershipOp } from '@towns-labs/proto';
|
|
2
|
-
import { PersistedObservable } from '../../../observable/persistedObservable';
|
|
3
|
-
import { Store } from '../../../store/store';
|
|
1
|
+
import { MembershipOp, UserPayload_UserMembership } from '@towns-labs/proto';
|
|
4
2
|
import { RiverConnection } from '../../river-connection/riverConnection';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
inviter?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface UserMembershipsModel {
|
|
11
|
-
id: string;
|
|
12
|
-
streamId: string;
|
|
13
|
-
initialized: boolean;
|
|
14
|
-
memberships: Record<string, UserMembership>;
|
|
15
|
-
}
|
|
16
|
-
export declare class UserMemberships extends PersistedObservable<UserMembershipsModel> {
|
|
3
|
+
import { UserStreamModel } from '../../../views/streams/userStreamsView';
|
|
4
|
+
import { Observable } from '../../../observable/observable';
|
|
5
|
+
export declare class UserMemberships extends Observable<UserStreamModel> {
|
|
17
6
|
private riverConnection;
|
|
18
|
-
constructor(id: string,
|
|
19
|
-
|
|
20
|
-
private onClientStarted;
|
|
21
|
-
getMembership(streamId: string): UserMembership | undefined;
|
|
7
|
+
constructor(id: string, riverConnection: RiverConnection);
|
|
8
|
+
getMembership(streamId: string): UserPayload_UserMembership | undefined;
|
|
22
9
|
isMember(streamId: string, membership: MembershipOp): boolean;
|
|
23
10
|
isJoined(streamId: string): boolean;
|
|
24
|
-
private initialize;
|
|
25
|
-
private onStreamInitialized;
|
|
26
|
-
private onUserStreamMembershipChanged;
|
|
27
11
|
}
|
|
28
12
|
//# sourceMappingURL=userMemberships.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userMemberships.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userMemberships.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"userMemberships.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userMemberships.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAExE,OAAO,EAA0B,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAM3D,qBAAa,eAAgB,SAAQ,UAAU,CAAC,eAAe,CAAC;IAC5D,OAAO,CAAC,eAAe,CAAiB;gBAE5B,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAexD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS;IAIvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,GAAG,OAAO;IAI7D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGtC"}
|
|
@@ -1,40 +1,25 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
1
|
import { MembershipOp } from '@towns-labs/proto';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { makeUserStreamId
|
|
12
|
-
|
|
2
|
+
import { dlogger } from '@towns-labs/utils';
|
|
3
|
+
import { EMPTY_USER_STEAM_MODEL } from '../../../views/streams/userStreamsView';
|
|
4
|
+
import { Observable } from '../../../observable/observable';
|
|
5
|
+
import { makeUserStreamId } from '../../../id';
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
13
7
|
const logger = dlogger('csb:userMemberships');
|
|
14
|
-
|
|
8
|
+
export class UserMemberships extends Observable {
|
|
15
9
|
riverConnection;
|
|
16
|
-
constructor(id,
|
|
17
|
-
|
|
10
|
+
constructor(id, riverConnection) {
|
|
11
|
+
const streamId = makeUserStreamId(id);
|
|
12
|
+
super(EMPTY_USER_STEAM_MODEL(streamId));
|
|
18
13
|
this.riverConnection = riverConnection;
|
|
14
|
+
this.riverConnection.registerView((client) => {
|
|
15
|
+
const unsubFn = client.streamsView.userStreams.subscribe((x) => this.setValue(x[streamId] ?? this.value));
|
|
16
|
+
return () => {
|
|
17
|
+
unsubFn();
|
|
18
|
+
};
|
|
19
|
+
});
|
|
19
20
|
}
|
|
20
|
-
onLoaded() {
|
|
21
|
-
this.riverConnection.registerView(this.onClientStarted);
|
|
22
|
-
}
|
|
23
|
-
onClientStarted = (client) => {
|
|
24
|
-
logger.log('onClientStarted');
|
|
25
|
-
const streamView = this.riverConnection.client?.stream(this.data.streamId)?.view;
|
|
26
|
-
if (streamView) {
|
|
27
|
-
this.initialize(streamView);
|
|
28
|
-
}
|
|
29
|
-
client.addListener('userStreamMembershipChanged', this.onUserStreamMembershipChanged);
|
|
30
|
-
client.addListener('streamInitialized', this.onStreamInitialized);
|
|
31
|
-
return () => {
|
|
32
|
-
client.removeListener('userStreamMembershipChanged', this.onUserStreamMembershipChanged);
|
|
33
|
-
client.removeListener('streamInitialized', this.onStreamInitialized);
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
21
|
getMembership(streamId) {
|
|
37
|
-
return this.
|
|
22
|
+
return this.value.streamMemberships[streamId];
|
|
38
23
|
}
|
|
39
24
|
isMember(streamId, membership) {
|
|
40
25
|
return this.getMembership(streamId)?.op === membership;
|
|
@@ -42,42 +27,5 @@ let UserMemberships = class UserMemberships extends PersistedObservable {
|
|
|
42
27
|
isJoined(streamId) {
|
|
43
28
|
return this.isMember(streamId, MembershipOp.SO_JOIN);
|
|
44
29
|
}
|
|
45
|
-
initialize = (streamView) => {
|
|
46
|
-
const memberships = Object.entries(streamView.userContent.streamMemberships).reduce((acc, [streamId, payload]) => {
|
|
47
|
-
if (payload) {
|
|
48
|
-
acc[streamId] = toUserMembership(payload);
|
|
49
|
-
}
|
|
50
|
-
return acc;
|
|
51
|
-
}, {});
|
|
52
|
-
this.setData({ memberships, initialized: true });
|
|
53
|
-
};
|
|
54
|
-
onStreamInitialized = (streamId) => {
|
|
55
|
-
if (streamId === this.data.streamId) {
|
|
56
|
-
const streamView = this.riverConnection.client?.stream(this.data.streamId)?.view;
|
|
57
|
-
check(isDefined(streamView), 'streamView is not defined');
|
|
58
|
-
this.initialize(streamView);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
onUserStreamMembershipChanged = (streamId, payload) => {
|
|
62
|
-
this.setData({
|
|
63
|
-
memberships: {
|
|
64
|
-
...this.data.memberships,
|
|
65
|
-
[streamId]: toUserMembership(payload),
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
};
|
|
69
|
-
};
|
|
70
|
-
UserMemberships = __decorate([
|
|
71
|
-
persistedObservable({ tableName: 'userMemberships' })
|
|
72
|
-
], UserMemberships);
|
|
73
|
-
export { UserMemberships };
|
|
74
|
-
function toUserMembership(payload) {
|
|
75
|
-
const { op, streamId: inStreamId } = payload;
|
|
76
|
-
const streamId = streamIdFromBytes(inStreamId);
|
|
77
|
-
return {
|
|
78
|
-
streamId,
|
|
79
|
-
op,
|
|
80
|
-
inviter: payload.inviter ? userIdFromAddress(payload.inviter) : undefined,
|
|
81
|
-
};
|
|
82
30
|
}
|
|
83
31
|
//# sourceMappingURL=userMemberships.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userMemberships.js","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userMemberships.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userMemberships.js","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userMemberships.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8B,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAG3C,OAAO,EAAE,sBAAsB,EAAmB,MAAM,wCAAwC,CAAA;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,6DAA6D;AAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAE7C,MAAM,OAAO,eAAgB,SAAQ,UAA2B;IACpD,eAAe,CAAiB;IAExC,YAAY,EAAU,EAAE,eAAgC;QACpD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAA;QACrC,KAAK,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAA;QAEvC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,MAAc,EAAE,EAAE;YACjD,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAC3C,CAAA;YACD,OAAO,GAAG,EAAE;gBACR,OAAO,EAAE,CAAA;YACb,CAAC,CAAA;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED,aAAa,CAAC,QAAgB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IAED,QAAQ,CAAC,QAAgB,EAAE,UAAwB;QAC/C,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,UAAU,CAAA;IAC1D,CAAC;IAED,QAAQ,CAAC,QAAgB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;CACJ"}
|
|
@@ -1,21 +1,8 @@
|
|
|
1
|
-
import { Store } from '../../../store/store';
|
|
2
|
-
import { UserDevice } from '@towns-labs/encryption';
|
|
3
|
-
import { PersistedObservable } from '../../../observable/persistedObservable';
|
|
4
1
|
import { RiverConnection } from '../../river-connection/riverConnection';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
initialized: boolean;
|
|
9
|
-
deviceId?: string;
|
|
10
|
-
deviceKeys: UserDevice[];
|
|
11
|
-
}
|
|
12
|
-
export declare class UserMetadata extends PersistedObservable<UserMetadataModel> {
|
|
2
|
+
import { UserMetadataStreamModel } from '../../../views/streams/userMetadataStreams';
|
|
3
|
+
import { Observable } from '../../../observable/observable';
|
|
4
|
+
export declare class UserMetadata extends Observable<UserMetadataStreamModel> {
|
|
13
5
|
private riverConnection;
|
|
14
|
-
constructor(id: string,
|
|
15
|
-
protected onLoaded(): void;
|
|
16
|
-
private onClientStarted;
|
|
17
|
-
private onStreamInitialized;
|
|
18
|
-
private onUserMetadataUpdated;
|
|
19
|
-
private initialize;
|
|
6
|
+
constructor(id: string, riverConnection: RiverConnection);
|
|
20
7
|
}
|
|
21
8
|
//# sourceMappingURL=userMetadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userMetadata.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userMetadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userMetadata.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAEH,uBAAuB,EAC1B,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAK3D,qBAAa,YAAa,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IAG7D,OAAO,CAAC,eAAe;gBADvB,EAAE,EAAE,MAAM,EACF,eAAe,EAAE,eAAe;CAc/C"}
|
|
@@ -1,68 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { check, dlogger } from '@towns-labs/utils';
|
|
8
|
-
import { LoadPriority } from '../../../store/store';
|
|
9
|
-
import { PersistedObservable, persistedObservable } from '../../../observable/persistedObservable';
|
|
1
|
+
import { dlogger } from '@towns-labs/utils';
|
|
10
2
|
import { makeUserMetadataStreamId } from '../../../id';
|
|
11
|
-
import {
|
|
3
|
+
import { DEFAULT_USER_METADATA_STREAM_MODEL, } from '../../../views/streams/userMetadataStreams';
|
|
4
|
+
import { Observable } from '../../../observable/observable';
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
12
6
|
const logger = dlogger('csb:userMetadata');
|
|
13
|
-
|
|
7
|
+
export class UserMetadata extends Observable {
|
|
14
8
|
riverConnection;
|
|
15
|
-
constructor(id,
|
|
16
|
-
|
|
9
|
+
constructor(id, riverConnection) {
|
|
10
|
+
const streamId = makeUserMetadataStreamId(id);
|
|
11
|
+
super(DEFAULT_USER_METADATA_STREAM_MODEL(streamId));
|
|
17
12
|
this.riverConnection = riverConnection;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
logger.log('onClientStarted');
|
|
24
|
-
if (this.riverConnection.client?.cryptoInitialized) {
|
|
25
|
-
const deviceId = this.riverConnection.client.userDeviceKey().deviceKey;
|
|
26
|
-
const streamView = this.riverConnection.client.stream(this.data.streamId)?.view;
|
|
27
|
-
if (streamView && deviceId) {
|
|
28
|
-
this.initialize(deviceId, streamView);
|
|
29
|
-
}
|
|
30
|
-
else if (deviceId) {
|
|
31
|
-
this.setData({ deviceId });
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
client.addListener('userDeviceKeysUpdated', this.onUserMetadataUpdated);
|
|
35
|
-
client.addListener('streamInitialized', this.onStreamInitialized);
|
|
36
|
-
return () => {
|
|
37
|
-
client.removeListener('userDeviceKeysUpdated', this.onUserMetadataUpdated);
|
|
38
|
-
client.removeListener('streamInitialized', this.onStreamInitialized);
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
onStreamInitialized = (streamId) => {
|
|
42
|
-
if (streamId === this.data.streamId) {
|
|
43
|
-
const streamView = this.riverConnection.client?.stream(this.data.streamId)?.view;
|
|
44
|
-
const deviceId = this.riverConnection.client?.userDeviceKey().deviceKey;
|
|
45
|
-
check(isDefined(deviceId), 'deviceId is not defined');
|
|
46
|
-
check(isDefined(streamView), 'streamView is not defined');
|
|
47
|
-
this.initialize(deviceId, streamView);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
onUserMetadataUpdated = (streamId, deviceKeys) => {
|
|
51
|
-
if (streamId === this.data.streamId) {
|
|
52
|
-
logger.log('updated', streamId, deviceKeys);
|
|
53
|
-
this.setData({ deviceKeys });
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
initialize(deviceId, streamView) {
|
|
57
|
-
this.setData({
|
|
58
|
-
initialized: true,
|
|
59
|
-
deviceId,
|
|
60
|
-
deviceKeys: streamView.userMetadataContent.deviceKeys,
|
|
13
|
+
this.riverConnection.registerView((client) => {
|
|
14
|
+
const unsub = client.streamsView.userMetadataStreams.subscribe((x) => this.setValue(x[streamId] ?? this.value));
|
|
15
|
+
return () => {
|
|
16
|
+
unsub();
|
|
17
|
+
};
|
|
61
18
|
});
|
|
62
19
|
}
|
|
63
|
-
}
|
|
64
|
-
UserMetadata = __decorate([
|
|
65
|
-
persistedObservable({ tableName: 'userMetadata' })
|
|
66
|
-
], UserMetadata);
|
|
67
|
-
export { UserMetadata };
|
|
20
|
+
}
|
|
68
21
|
//# sourceMappingURL=userMetadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userMetadata.js","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userMetadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userMetadata.js","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAEtD,OAAO,EACH,kCAAkC,GAErC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAE3D,6DAA6D;AAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAE1C,MAAM,OAAO,YAAa,SAAQ,UAAmC;IAGrD;IAFZ,YACI,EAAU,EACF,eAAgC;QAExC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAA;QAC7C,KAAK,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAC,CAAA;QAH3C,oBAAe,GAAf,eAAe,CAAiB;QAKxC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CACjE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAC3C,CAAA;YACD,OAAO,GAAG,EAAE;gBACR,KAAK,EAAE,CAAA;YACX,CAAC,CAAA;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import { Identifiable
|
|
2
|
-
import { PersistedObservable } from '../../../observable/persistedObservable';
|
|
1
|
+
import { Identifiable } from '../../../store/store';
|
|
3
2
|
import { RiverConnection } from '../../river-connection/riverConnection';
|
|
3
|
+
import { UserSettingsStreamModel } from '../../../views/streams/userSettingsStreams';
|
|
4
|
+
import { Observable } from '../../../observable/observable';
|
|
4
5
|
export interface UserSettingsModel extends Identifiable {
|
|
5
6
|
id: string;
|
|
6
7
|
streamId: string;
|
|
7
8
|
initialized: boolean;
|
|
8
9
|
}
|
|
9
|
-
export declare class UserSettings extends
|
|
10
|
+
export declare class UserSettings extends Observable<UserSettingsStreamModel> {
|
|
10
11
|
private riverConnection;
|
|
11
|
-
constructor(id: string,
|
|
12
|
-
protected onLoaded(): void;
|
|
13
|
-
private onClientStarted;
|
|
14
|
-
private onStreamInitialized;
|
|
15
|
-
private initialize;
|
|
12
|
+
constructor(id: string, riverConnection: RiverConnection);
|
|
16
13
|
}
|
|
17
14
|
//# sourceMappingURL=userSettings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userSettings.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userSettings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"userSettings.d.ts","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userSettings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAExE,OAAO,EAEH,uBAAuB,EAC1B,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAK3D,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,YAAa,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IAG7D,OAAO,CAAC,eAAe;gBADvB,EAAE,EAAE,MAAM,EACF,eAAe,EAAE,eAAe;CAc/C"}
|
|
@@ -1,48 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { check, dlogger } from '@towns-labs/utils';
|
|
8
|
-
import { LoadPriority } from '../../../store/store';
|
|
9
|
-
import { PersistedObservable, persistedObservable } from '../../../observable/persistedObservable';
|
|
1
|
+
import { dlogger } from '@towns-labs/utils';
|
|
10
2
|
import { makeUserSettingsStreamId } from '../../../id';
|
|
11
|
-
import {
|
|
3
|
+
import { DEFAULT_USER_SETTINGS_STREAM_MODEL, } from '../../../views/streams/userSettingsStreams';
|
|
4
|
+
import { Observable } from '../../../observable/observable';
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
12
6
|
const logger = dlogger('csb:userSettings');
|
|
13
|
-
|
|
7
|
+
export class UserSettings extends Observable {
|
|
14
8
|
riverConnection;
|
|
15
|
-
constructor(id,
|
|
16
|
-
|
|
9
|
+
constructor(id, riverConnection) {
|
|
10
|
+
const streamId = makeUserSettingsStreamId(id);
|
|
11
|
+
super(DEFAULT_USER_SETTINGS_STREAM_MODEL(streamId));
|
|
17
12
|
this.riverConnection = riverConnection;
|
|
13
|
+
this.riverConnection.registerView((client) => {
|
|
14
|
+
const unsub = client.streamsView.userSettingsStreams.subscribe((x) => this.setValue(x[streamId] ?? this.value));
|
|
15
|
+
return () => {
|
|
16
|
+
unsub();
|
|
17
|
+
};
|
|
18
|
+
});
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
this.riverConnection.registerView(this.onClientStarted);
|
|
21
|
-
}
|
|
22
|
-
onClientStarted = (client) => {
|
|
23
|
-
logger.log('onClientStarted');
|
|
24
|
-
const streamView = client.stream(this.data.streamId)?.view;
|
|
25
|
-
if (streamView) {
|
|
26
|
-
this.initialize(streamView);
|
|
27
|
-
}
|
|
28
|
-
client.addListener('streamInitialized', this.onStreamInitialized);
|
|
29
|
-
return () => {
|
|
30
|
-
client.removeListener('streamInitialized', this.onStreamInitialized);
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
onStreamInitialized = (streamId) => {
|
|
34
|
-
if (streamId === this.data.streamId) {
|
|
35
|
-
const streamView = this.riverConnection.client?.stream(this.data.streamId)?.view;
|
|
36
|
-
check(isDefined(streamView), 'streamView is not defined');
|
|
37
|
-
this.initialize(streamView);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
initialize = (_streamView) => {
|
|
41
|
-
this.setData({ initialized: true });
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
UserSettings = __decorate([
|
|
45
|
-
persistedObservable({ tableName: 'userSettings' })
|
|
46
|
-
], UserSettings);
|
|
47
|
-
export { UserSettings };
|
|
20
|
+
}
|
|
48
21
|
//# sourceMappingURL=userSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userSettings.js","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userSettings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userSettings.js","sourceRoot":"","sources":["../../../../src/sync-agent/user/models/userSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAG3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EACH,kCAAkC,GAErC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAE3D,6DAA6D;AAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAQ1C,MAAM,OAAO,YAAa,SAAQ,UAAmC;IAGrD;IAFZ,YACI,EAAU,EACF,eAAgC;QAExC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAA;QAC7C,KAAK,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAC,CAAA;QAH3C,oBAAe,GAAf,eAAe,CAAiB;QAKxC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CACjE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAC3C,CAAA;YACD,OAAO,GAAG,EAAE;gBACR,KAAK,EAAE,CAAA;YACX,CAAC,CAAA;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ"}
|