@towns-labs/sdk 2.0.10 → 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.
Files changed (156) hide show
  1. package/dist/client.d.ts +3 -1
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +45 -1
  4. package/dist/client.js.map +1 -1
  5. package/dist/index.d.ts +0 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +0 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/streamStateView_User.d.ts.map +1 -1
  10. package/dist/streamStateView_User.js +1 -0
  11. package/dist/streamStateView_User.js.map +1 -1
  12. package/dist/streamStateView_UserInbox.d.ts.map +1 -1
  13. package/dist/streamStateView_UserInbox.js +1 -0
  14. package/dist/streamStateView_UserInbox.js.map +1 -1
  15. package/dist/streamStateView_UserMetadata.d.ts.map +1 -1
  16. package/dist/streamStateView_UserMetadata.js +1 -0
  17. package/dist/streamStateView_UserMetadata.js.map +1 -1
  18. package/dist/streamStateView_UserSettings.d.ts.map +1 -1
  19. package/dist/streamStateView_UserSettings.js +9 -1
  20. package/dist/streamStateView_UserSettings.js.map +1 -1
  21. package/dist/sync-agent/dms/dms.d.ts +5 -5
  22. package/dist/sync-agent/dms/dms.d.ts.map +1 -1
  23. package/dist/sync-agent/dms/dms.js +12 -27
  24. package/dist/sync-agent/dms/dms.js.map +1 -1
  25. package/dist/sync-agent/dms/models/dm.d.ts +4 -5
  26. package/dist/sync-agent/dms/models/dm.d.ts.map +1 -1
  27. package/dist/sync-agent/dms/models/dm.js +28 -34
  28. package/dist/sync-agent/dms/models/dm.js.map +1 -1
  29. package/dist/sync-agent/gdms/gdms.d.ts +5 -6
  30. package/dist/sync-agent/gdms/gdms.d.ts.map +1 -1
  31. package/dist/sync-agent/gdms/gdms.js +12 -27
  32. package/dist/sync-agent/gdms/gdms.js.map +1 -1
  33. package/dist/sync-agent/gdms/models/gdm.d.ts +7 -5
  34. package/dist/sync-agent/gdms/models/gdm.d.ts.map +1 -1
  35. package/dist/sync-agent/gdms/models/gdm.js +29 -34
  36. package/dist/sync-agent/gdms/models/gdm.js.map +1 -1
  37. package/dist/sync-agent/members/members.d.ts +6 -18
  38. package/dist/sync-agent/members/members.d.ts.map +1 -1
  39. package/dist/sync-agent/members/members.js +25 -124
  40. package/dist/sync-agent/members/members.js.map +1 -1
  41. package/dist/sync-agent/members/models/member.d.ts +3 -45
  42. package/dist/sync-agent/members/models/member.d.ts.map +1 -1
  43. package/dist/sync-agent/members/models/member.js +15 -114
  44. package/dist/sync-agent/members/models/member.js.map +1 -1
  45. package/dist/sync-agent/members/models/myself.d.ts +1 -11
  46. package/dist/sync-agent/members/models/myself.d.ts.map +1 -1
  47. package/dist/sync-agent/members/models/myself.js +1 -84
  48. package/dist/sync-agent/members/models/myself.js.map +1 -1
  49. package/dist/sync-agent/river-connection/riverConnection.d.ts +5 -11
  50. package/dist/sync-agent/river-connection/riverConnection.d.ts.map +1 -1
  51. package/dist/sync-agent/river-connection/riverConnection.js +27 -29
  52. package/dist/sync-agent/river-connection/riverConnection.js.map +1 -1
  53. package/dist/sync-agent/spaces/models/channel.d.ts +7 -26
  54. package/dist/sync-agent/spaces/models/channel.d.ts.map +1 -1
  55. package/dist/sync-agent/spaces/models/channel.js +24 -37
  56. package/dist/sync-agent/spaces/models/channel.js.map +1 -1
  57. package/dist/sync-agent/spaces/models/space.d.ts +4 -5
  58. package/dist/sync-agent/spaces/models/space.d.ts.map +1 -1
  59. package/dist/sync-agent/spaces/models/space.js +27 -37
  60. package/dist/sync-agent/spaces/models/space.js.map +1 -1
  61. package/dist/sync-agent/spaces/spaces.d.ts +8 -11
  62. package/dist/sync-agent/spaces/spaces.d.ts.map +1 -1
  63. package/dist/sync-agent/spaces/spaces.js +13 -28
  64. package/dist/sync-agent/spaces/spaces.js.map +1 -1
  65. package/dist/sync-agent/syncAgent.d.ts +13 -18
  66. package/dist/sync-agent/syncAgent.d.ts.map +1 -1
  67. package/dist/sync-agent/syncAgent.js +5 -14
  68. package/dist/sync-agent/syncAgent.js.map +1 -1
  69. package/dist/sync-agent/user/models/userInbox.d.ts +4 -17
  70. package/dist/sync-agent/user/models/userInbox.d.ts.map +1 -1
  71. package/dist/sync-agent/user/models/userInbox.js +14 -61
  72. package/dist/sync-agent/user/models/userInbox.js.map +1 -1
  73. package/dist/sync-agent/user/models/userMemberships.d.ts +6 -22
  74. package/dist/sync-agent/user/models/userMemberships.d.ts.map +1 -1
  75. package/dist/sync-agent/user/models/userMemberships.js +16 -68
  76. package/dist/sync-agent/user/models/userMemberships.js.map +1 -1
  77. package/dist/sync-agent/user/models/userMetadata.d.ts +4 -17
  78. package/dist/sync-agent/user/models/userMetadata.d.ts.map +1 -1
  79. package/dist/sync-agent/user/models/userMetadata.js +14 -61
  80. package/dist/sync-agent/user/models/userMetadata.js.map +1 -1
  81. package/dist/sync-agent/user/models/userSettings.d.ts +5 -8
  82. package/dist/sync-agent/user/models/userSettings.d.ts.map +1 -1
  83. package/dist/sync-agent/user/models/userSettings.js +15 -42
  84. package/dist/sync-agent/user/models/userSettings.js.map +1 -1
  85. package/dist/sync-agent/user/user.d.ts +2 -6
  86. package/dist/sync-agent/user/user.d.ts.map +1 -1
  87. package/dist/sync-agent/user/user.js +9 -20
  88. package/dist/sync-agent/user/user.js.map +1 -1
  89. package/dist/tests/multi_ne/sync-agent/member.test.d.ts +2 -0
  90. package/dist/tests/multi_ne/sync-agent/member.test.d.ts.map +1 -0
  91. package/dist/tests/multi_ne/sync-agent/member.test.js +20 -0
  92. package/dist/tests/multi_ne/sync-agent/member.test.js.map +1 -0
  93. package/dist/tests/multi_ne/sync-agent/members.test.d.ts +2 -0
  94. package/dist/tests/multi_ne/sync-agent/members.test.d.ts.map +1 -0
  95. package/dist/tests/multi_ne/sync-agent/members.test.js +35 -0
  96. package/dist/tests/multi_ne/sync-agent/members.test.js.map +1 -0
  97. package/dist/tests/multi_ne/sync-agent/riverConnection.test.d.ts +5 -0
  98. package/dist/tests/multi_ne/sync-agent/riverConnection.test.d.ts.map +1 -0
  99. package/dist/tests/multi_ne/sync-agent/riverConnection.test.js +39 -0
  100. package/dist/tests/multi_ne/sync-agent/riverConnection.test.js.map +1 -0
  101. package/dist/tests/multi_ne/sync-agent/spaces.test.d.ts +2 -0
  102. package/dist/tests/multi_ne/sync-agent/spaces.test.d.ts.map +1 -0
  103. package/dist/tests/multi_ne/sync-agent/spaces.test.js +33 -0
  104. package/dist/tests/multi_ne/sync-agent/spaces.test.js.map +1 -0
  105. package/dist/tests/multi_ne/sync-agent/streams.test.d.ts +2 -0
  106. package/dist/tests/multi_ne/sync-agent/streams.test.d.ts.map +1 -0
  107. package/dist/tests/multi_ne/sync-agent/streams.test.js +27 -0
  108. package/dist/tests/multi_ne/sync-agent/streams.test.js.map +1 -0
  109. package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts +2 -0
  110. package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts.map +1 -0
  111. package/dist/tests/multi_ne/sync-agent/syncAgent.test.js +58 -0
  112. package/dist/tests/multi_ne/sync-agent/syncAgent.test.js.map +1 -0
  113. package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts +2 -0
  114. package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts.map +1 -0
  115. package/dist/tests/multi_ne/sync-agent/syncAgents.test.js +153 -0
  116. package/dist/tests/multi_ne/sync-agent/syncAgents.test.js.map +1 -0
  117. package/dist/tests/multi_ne/sync-agent/timeline.test.d.ts +2 -0
  118. package/dist/tests/multi_ne/sync-agent/timeline.test.d.ts.map +1 -0
  119. package/dist/tests/multi_ne/sync-agent/timeline.test.js +206 -0
  120. package/dist/tests/multi_ne/sync-agent/timeline.test.js.map +1 -0
  121. package/dist/tests/multi_ne/sync-agent/user.test.d.ts +5 -0
  122. package/dist/tests/multi_ne/sync-agent/user.test.d.ts.map +1 -0
  123. package/dist/tests/multi_ne/sync-agent/user.test.js +48 -0
  124. package/dist/tests/multi_ne/sync-agent/user.test.js.map +1 -0
  125. package/dist/views/models/timelineEvent.d.ts.map +1 -1
  126. package/dist/views/models/timelineEvent.js +153 -1
  127. package/dist/views/models/timelineEvent.js.map +1 -1
  128. package/dist/views/models/timelineTypes.d.ts +48 -1
  129. package/dist/views/models/timelineTypes.d.ts.map +1 -1
  130. package/dist/views/models/timelineTypes.js +3 -0
  131. package/dist/views/models/timelineTypes.js.map +1 -1
  132. package/dist/views/streams/userInboxStreams.d.ts +3 -0
  133. package/dist/views/streams/userInboxStreams.d.ts.map +1 -1
  134. package/dist/views/streams/userInboxStreams.js +15 -4
  135. package/dist/views/streams/userInboxStreams.js.map +1 -1
  136. package/dist/views/streams/userMetadataStreams.d.ts +3 -0
  137. package/dist/views/streams/userMetadataStreams.d.ts.map +1 -1
  138. package/dist/views/streams/userMetadataStreams.js +15 -4
  139. package/dist/views/streams/userMetadataStreams.js.map +1 -1
  140. package/dist/views/streams/userSettingsStreams.d.ts +3 -0
  141. package/dist/views/streams/userSettingsStreams.d.ts.map +1 -1
  142. package/dist/views/streams/userSettingsStreams.js +17 -6
  143. package/dist/views/streams/userSettingsStreams.js.map +1 -1
  144. package/dist/views/streams/userStreamsView.d.ts +3 -0
  145. package/dist/views/streams/userStreamsView.d.ts.map +1 -1
  146. package/dist/views/streams/userStreamsView.js +21 -10
  147. package/dist/views/streams/userStreamsView.js.map +1 -1
  148. package/package.json +10 -9
  149. package/dist/sync-agent/db.d.ts +0 -18
  150. package/dist/sync-agent/db.d.ts.map +0 -1
  151. package/dist/sync-agent/db.js +0 -34
  152. package/dist/sync-agent/db.js.map +0 -1
  153. package/dist/sync-agent/river-connection/models/transactionalClient.d.ts +0 -11
  154. package/dist/sync-agent/river-connection/models/transactionalClient.d.ts.map +0 -1
  155. package/dist/sync-agent/river-connection/models/transactionalClient.js +0 -14
  156. 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.store = new Store(this.syncAgentDbName(), DB_VERSION, DB_MODELS);
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.store, this.riverConnection);
46
- this.spaces = new Spaces(this.store, this.riverConnection, this.user.memberships);
47
- this.gdms = new Gdms(this.store, this.riverConnection, this.user.memberships);
48
- this.dms = new Dms(this.store, this.riverConnection, this.user.memberships);
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":"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"}
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
- export interface UserInboxModel extends Identifiable {
6
- id: string;
7
- streamId: string;
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, store: Store, riverConnection: RiverConnection);
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":"AACA,OAAO,EAAE,YAAY,EAAgB,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,uCAAuC,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAuB,MAAM,yCAAyC,CAAA;AAElG,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAOxE,MAAM,WAAW,cAAe,SAAQ,YAAY;IAChD,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,uCAAuC,CAAA;CAC1D;AAED,qBACa,SAAU,SAAQ,mBAAmB,CAAC,cAAc,CAAC;IAI1D,OAAO,CAAC,eAAe;gBAFvB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACJ,eAAe,EAAE,eAAe;cASzB,QAAQ;IAI3B,OAAO,CAAC,eAAe,CAiBtB;IAED,OAAO,CAAC,mBAAmB,CAQ1B;IAED,OAAO,CAAC,sBAAsB,CAS7B;IAED,OAAO,CAAC,UAAU;CAOrB"}
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
- 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
- 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 { isDefined } from '../../../check';
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
- let UserInbox = class UserInbox extends PersistedObservable {
7
+ export class UserInbox extends Observable {
14
8
  riverConnection;
15
- constructor(id, store, riverConnection) {
16
- super({ id, streamId: makeUserInboxStreamId(id), initialized: false }, store, LoadPriority.high);
9
+ constructor(id, riverConnection) {
10
+ const streamId = makeUserInboxStreamId(id);
11
+ super(DEFAULT_USER_INBOX_STREAM_MODEL(streamId));
17
12
  this.riverConnection = riverConnection;
18
- }
19
- onLoaded() {
20
- this.riverConnection.registerView(this.onClientStarted);
21
- }
22
- onClientStarted = (client) => {
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":"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"}
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
- export interface UserMembership {
6
- streamId: string;
7
- op: MembershipOp;
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, store: Store, riverConnection: RiverConnection);
19
- protected onLoaded(): void;
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,EAA8B,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAuB,MAAM,yCAAyC,CAAA;AAClG,OAAO,EAAgB,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAQxE,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,YAAY,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CAC9C;AAED,qBACa,eAAgB,SAAQ,mBAAmB,CAAC,oBAAoB,CAAC;IAC1E,OAAO,CAAC,eAAe,CAAiB;gBAE5B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,eAAe;cASnD,QAAQ;IAI3B,OAAO,CAAC,eAAe,CAYtB;IAED,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,GAAG,OAAO;IAI7D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInC,OAAO,CAAC,UAAU,CAWjB;IAED,OAAO,CAAC,mBAAmB,CAM1B;IAED,OAAO,CAAC,6BAA6B,CAUpC;CACJ"}
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 { PersistedObservable, persistedObservable } from '../../../observable/persistedObservable';
9
- import { LoadPriority } from '../../../store/store';
10
- import { check, dlogger } from '@towns-labs/utils';
11
- import { makeUserStreamId, streamIdFromBytes, userIdFromAddress } from '../../../id';
12
- import { isDefined } from '../../../check';
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
- let UserMemberships = class UserMemberships extends PersistedObservable {
8
+ export class UserMemberships extends Observable {
15
9
  riverConnection;
16
- constructor(id, store, riverConnection) {
17
- super({ id, streamId: makeUserStreamId(id), initialized: false, memberships: {} }, store, LoadPriority.high);
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.data.memberships[streamId];
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":"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"}
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
- export interface UserMetadataModel {
6
- id: string;
7
- streamId: string;
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, store: Store, riverConnection: RiverConnection);
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":"AACA,OAAO,EAAgB,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAuB,MAAM,yCAAyC,CAAA;AAElG,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAOxE,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,UAAU,EAAE,CAAA;CAC3B;AAED,qBACa,YAAa,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IAIhE,OAAO,CAAC,eAAe;gBAFvB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACJ,eAAe,EAAE,eAAe;cASzB,QAAQ;IAI3B,OAAO,CAAC,eAAe,CAiBtB;IAED,OAAO,CAAC,mBAAmB,CAQ1B;IAED,OAAO,CAAC,qBAAqB,CAK5B;IAED,OAAO,CAAC,UAAU;CAOrB"}
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
- 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
- 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 { isDefined } from '../../../check';
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
- let UserMetadata = class UserMetadata extends PersistedObservable {
7
+ export class UserMetadata extends Observable {
14
8
  riverConnection;
15
- constructor(id, store, riverConnection) {
16
- super({ id, streamId: makeUserMetadataStreamId(id), initialized: false, deviceKeys: [] }, store, LoadPriority.high);
9
+ constructor(id, riverConnection) {
10
+ const streamId = makeUserMetadataStreamId(id);
11
+ super(DEFAULT_USER_METADATA_STREAM_MODEL(streamId));
17
12
  this.riverConnection = riverConnection;
18
- }
19
- onLoaded() {
20
- this.riverConnection.registerView(this.onClientStarted);
21
- }
22
- onClientStarted = (client) => {
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":"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"}
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, Store } from '../../../store/store';
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 PersistedObservable<UserSettingsModel> {
10
+ export declare class UserSettings extends Observable<UserSettingsStreamModel> {
10
11
  private riverConnection;
11
- constructor(id: string, store: Store, riverConnection: RiverConnection);
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,EAAgB,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAuB,MAAM,yCAAyC,CAAA;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAQxE,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;CACvB;AAED,qBACa,YAAa,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IAIhE,OAAO,CAAC,eAAe;gBAFvB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACJ,eAAe,EAAE,eAAe;cASzB,QAAQ;IAI3B,OAAO,CAAC,eAAe,CAUtB;IAED,OAAO,CAAC,mBAAmB,CAM1B;IAED,OAAO,CAAC,UAAU,CAEjB;CACJ"}
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
- 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
- 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 { isDefined } from '../../../check';
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
- let UserSettings = class UserSettings extends PersistedObservable {
7
+ export class UserSettings extends Observable {
14
8
  riverConnection;
15
- constructor(id, store, riverConnection) {
16
- super({ id, streamId: makeUserSettingsStreamId(id), initialized: false }, store, LoadPriority.high);
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
- onLoaded() {
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":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAgB,YAAY,EAAS,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAElG,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AASnC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,mBAAsC;IAIxD;IAHZ,YACI,EAAU,EACV,KAAY,EACJ,eAAgC;QAExC,KAAK,CACD,EAAE,EAAE,EAAE,QAAQ,EAAE,wBAAwB,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAClE,KAAK,EACL,YAAY,CAAC,IAAI,CACpB,CAAA;QANO,oBAAe,GAAf,eAAe,CAAiB;IAO5C,CAAC;IAEkB,QAAQ;QACvB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3D,CAAC;IAEO,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE;QACzC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;QAC1D,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAC/B,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACjE,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACxE,CAAC,CAAA;IACL,CAAC,CAAA;IAEO,mBAAmB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC/C,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;YAChF,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,2BAA2B,CAAC,CAAA;YACzD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAC/B,CAAC;IACL,CAAC,CAAA;IAEO,UAAU,GAAG,CAAC,WAA4B,EAAE,EAAE;QAClD,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC,CAAA;CACJ,CAAA;AAxCY,YAAY;IADxB,mBAAmB,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;GACtC,YAAY,CAwCxB"}
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"}