cojson 0.18.29 → 0.18.31

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 (144) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +17 -0
  3. package/dist/PeerState.d.ts +23 -14
  4. package/dist/PeerState.d.ts.map +1 -1
  5. package/dist/PeerState.js +74 -23
  6. package/dist/PeerState.js.map +1 -1
  7. package/dist/SyncStateManager.d.ts +3 -3
  8. package/dist/SyncStateManager.d.ts.map +1 -1
  9. package/dist/SyncStateManager.js +18 -44
  10. package/dist/SyncStateManager.js.map +1 -1
  11. package/dist/coValueContentMessage.d.ts.map +1 -1
  12. package/dist/coValueContentMessage.js +2 -1
  13. package/dist/coValueContentMessage.js.map +1 -1
  14. package/dist/coValueCore/PeerKnownState.d.ts +21 -0
  15. package/dist/coValueCore/PeerKnownState.d.ts.map +1 -0
  16. package/dist/coValueCore/PeerKnownState.js +52 -0
  17. package/dist/coValueCore/PeerKnownState.js.map +1 -0
  18. package/dist/coValueCore/coValueCore.d.ts +39 -8
  19. package/dist/coValueCore/coValueCore.d.ts.map +1 -1
  20. package/dist/coValueCore/coValueCore.js +139 -40
  21. package/dist/coValueCore/coValueCore.js.map +1 -1
  22. package/dist/coValueCore/decryptTransactionChangesAndMeta.d.ts.map +1 -1
  23. package/dist/coValueCore/decryptTransactionChangesAndMeta.js +0 -5
  24. package/dist/coValueCore/decryptTransactionChangesAndMeta.js.map +1 -1
  25. package/dist/coValueCore/verifiedState.d.ts +0 -14
  26. package/dist/coValueCore/verifiedState.d.ts.map +1 -1
  27. package/dist/coValueCore/verifiedState.js +2 -32
  28. package/dist/coValueCore/verifiedState.js.map +1 -1
  29. package/dist/coValues/coList.d.ts +3 -4
  30. package/dist/coValues/coList.d.ts.map +1 -1
  31. package/dist/coValues/coList.js +4 -4
  32. package/dist/coValues/coList.js.map +1 -1
  33. package/dist/coValues/coMap.d.ts +3 -4
  34. package/dist/coValues/coMap.d.ts.map +1 -1
  35. package/dist/coValues/coMap.js +5 -4
  36. package/dist/coValues/coMap.js.map +1 -1
  37. package/dist/coValues/coStream.d.ts +3 -3
  38. package/dist/coValues/coStream.d.ts.map +1 -1
  39. package/dist/coValues/coStream.js +3 -4
  40. package/dist/coValues/coStream.js.map +1 -1
  41. package/dist/coValues/group.d.ts +3 -3
  42. package/dist/coValues/group.d.ts.map +1 -1
  43. package/dist/coValues/group.js +74 -52
  44. package/dist/coValues/group.js.map +1 -1
  45. package/dist/exports.d.ts +2 -2
  46. package/dist/exports.d.ts.map +1 -1
  47. package/dist/exports.js +2 -2
  48. package/dist/exports.js.map +1 -1
  49. package/dist/localNode.d.ts.map +1 -1
  50. package/dist/localNode.js +7 -5
  51. package/dist/localNode.js.map +1 -1
  52. package/dist/permissions.d.ts +5 -1
  53. package/dist/permissions.d.ts.map +1 -1
  54. package/dist/permissions.js +173 -109
  55. package/dist/permissions.js.map +1 -1
  56. package/dist/sync.d.ts.map +1 -1
  57. package/dist/sync.js +33 -44
  58. package/dist/sync.js.map +1 -1
  59. package/dist/tests/PeerKnownState.test.d.ts +2 -0
  60. package/dist/tests/PeerKnownState.test.d.ts.map +1 -0
  61. package/dist/tests/PeerKnownState.test.js +342 -0
  62. package/dist/tests/PeerKnownState.test.js.map +1 -0
  63. package/dist/tests/PeerState.test.js +17 -16
  64. package/dist/tests/PeerState.test.js.map +1 -1
  65. package/dist/tests/StorageApiAsync.test.js +12 -12
  66. package/dist/tests/StorageApiAsync.test.js.map +1 -1
  67. package/dist/tests/StorageApiSync.test.js +11 -11
  68. package/dist/tests/StorageApiSync.test.js.map +1 -1
  69. package/dist/tests/SyncStateManager.test.js +16 -21
  70. package/dist/tests/SyncStateManager.test.js.map +1 -1
  71. package/dist/tests/coValueCore.dependencies.test.js +59 -0
  72. package/dist/tests/coValueCore.dependencies.test.js.map +1 -1
  73. package/dist/tests/coValueCore.test.js +41 -21
  74. package/dist/tests/coValueCore.test.js.map +1 -1
  75. package/dist/tests/group.addMember.test.js +266 -219
  76. package/dist/tests/group.addMember.test.js.map +1 -1
  77. package/dist/tests/group.inheritance.test.js +12 -0
  78. package/dist/tests/group.inheritance.test.js.map +1 -1
  79. package/dist/tests/group.invite.test.js +77 -0
  80. package/dist/tests/group.invite.test.js.map +1 -1
  81. package/dist/tests/group.removeMember.test.js +65 -8
  82. package/dist/tests/group.removeMember.test.js.map +1 -1
  83. package/dist/tests/group.roleOf.test.js +14 -4
  84. package/dist/tests/group.roleOf.test.js.map +1 -1
  85. package/dist/tests/permissions.test.js +51 -202
  86. package/dist/tests/permissions.test.js.map +1 -1
  87. package/dist/tests/sync.content.test.js +2 -2
  88. package/dist/tests/sync.content.test.js.map +1 -1
  89. package/dist/tests/sync.invite.test.js +6 -6
  90. package/dist/tests/sync.load.test.js +22 -22
  91. package/dist/tests/sync.mesh.test.js +9 -9
  92. package/dist/tests/sync.storage.test.js +13 -7
  93. package/dist/tests/sync.storage.test.js.map +1 -1
  94. package/dist/tests/sync.storageAsync.test.js +3 -3
  95. package/dist/tests/sync.test.js +13 -33
  96. package/dist/tests/sync.test.js.map +1 -1
  97. package/dist/tests/sync.upload.test.js +2 -2
  98. package/package.json +3 -3
  99. package/src/PeerState.ts +86 -34
  100. package/src/SyncStateManager.ts +25 -60
  101. package/src/coValueContentMessage.ts +3 -1
  102. package/src/coValueCore/PeerKnownState.ts +74 -0
  103. package/src/coValueCore/coValueCore.ts +180 -49
  104. package/src/coValueCore/decryptTransactionChangesAndMeta.ts +0 -6
  105. package/src/coValueCore/verifiedState.ts +2 -37
  106. package/src/coValues/coList.ts +7 -7
  107. package/src/coValues/coMap.ts +9 -7
  108. package/src/coValues/coStream.ts +6 -5
  109. package/src/coValues/group.ts +99 -60
  110. package/src/exports.ts +2 -1
  111. package/src/localNode.ts +7 -5
  112. package/src/permissions.ts +204 -123
  113. package/src/sync.ts +37 -53
  114. package/src/tests/PeerKnownState.test.ts +426 -0
  115. package/src/tests/PeerState.test.ts +24 -24
  116. package/src/tests/StorageApiAsync.test.ts +12 -12
  117. package/src/tests/StorageApiSync.test.ts +11 -11
  118. package/src/tests/SyncStateManager.test.ts +23 -53
  119. package/src/tests/coValueCore.dependencies.test.ts +87 -0
  120. package/src/tests/coValueCore.test.ts +64 -22
  121. package/src/tests/group.addMember.test.ts +384 -345
  122. package/src/tests/group.inheritance.test.ts +33 -0
  123. package/src/tests/group.invite.test.ts +117 -0
  124. package/src/tests/group.removeMember.test.ts +96 -10
  125. package/src/tests/group.roleOf.test.ts +16 -4
  126. package/src/tests/permissions.test.ts +56 -295
  127. package/src/tests/sync.content.test.ts +2 -2
  128. package/src/tests/sync.invite.test.ts +6 -6
  129. package/src/tests/sync.load.test.ts +22 -22
  130. package/src/tests/sync.mesh.test.ts +9 -9
  131. package/src/tests/sync.storage.test.ts +13 -8
  132. package/src/tests/sync.storageAsync.test.ts +3 -3
  133. package/src/tests/sync.test.ts +21 -50
  134. package/src/tests/sync.upload.test.ts +2 -2
  135. package/dist/PeerKnownStates.d.ts +0 -19
  136. package/dist/PeerKnownStates.d.ts.map +0 -1
  137. package/dist/PeerKnownStates.js +0 -64
  138. package/dist/PeerKnownStates.js.map +0 -1
  139. package/dist/tests/PeerKnownStates.test.d.ts +0 -2
  140. package/dist/tests/PeerKnownStates.test.d.ts.map +0 -1
  141. package/dist/tests/PeerKnownStates.test.js +0 -77
  142. package/dist/tests/PeerKnownStates.test.js.map +0 -1
  143. package/src/PeerKnownStates.ts +0 -93
  144. package/src/tests/PeerKnownStates.test.ts +0 -99
@@ -4,11 +4,15 @@ import { getParentGroupId, } from "./ids.js";
4
4
  import { logger } from "./logger.js";
5
5
  import { expectGroup } from "./typeUtils/expectGroup.js";
6
6
  export function isAccountRole(role) {
7
- return (role === "admin" ||
7
+ return (role === "manager" ||
8
+ role === "admin" ||
8
9
  role === "writer" ||
9
10
  role === "reader" ||
10
11
  role === "writeOnly");
11
12
  }
13
+ function canAdmin(role) {
14
+ return role === "admin" || role === "manager";
15
+ }
12
16
  let logPermissionErrors = true;
13
17
  export function disablePermissionErrors() {
14
18
  logPermissionErrors = false;
@@ -23,31 +27,30 @@ export function determineValidTransactions(coValue) {
23
27
  if (!coValue.isAvailable()) {
24
28
  throw new Error("determineValidTransactions CoValue is not available");
25
29
  }
30
+ // The CoValue is a group
26
31
  if (coValue.verified.header.ruleset.type === "group") {
27
32
  const initialAdmin = coValue.verified.header.ruleset.initialAdmin;
28
33
  if (!initialAdmin) {
29
34
  throw new Error("Group must have initialAdmin");
30
35
  }
31
36
  determineValidTransactionsForGroup(coValue, initialAdmin);
37
+ return;
32
38
  }
33
- else if (coValue.verified.header.ruleset.type === "ownedByGroup") {
39
+ // The CoValue is owned by a group
40
+ if (coValue.verified.header.ruleset.type === "ownedByGroup") {
34
41
  const groupContent = expectGroup(coValue.node
35
42
  .expectCoValueLoaded(coValue.verified.header.ruleset.group, "Determining valid transaction in owned object but its group wasn't loaded")
36
43
  .getCurrentContent());
37
44
  if (groupContent.type !== "comap") {
38
45
  throw new Error("Group must be a map");
39
46
  }
40
- for (const tx of coValue.verifiedTransactions) {
41
- if (tx.isValidated) {
42
- continue;
43
- }
44
- tx.isValidated = true;
47
+ for (const tx of coValue.toValidateTransactions) {
45
48
  // We use the original made at to get the group at the original time when the transaction was made
46
49
  // madeAt might be changed by the meta field (e.g. merged transactions), and so can't be used for permissions checks
47
50
  const groupAtTime = groupContent.atTime(tx.currentMadeAt);
48
51
  const effectiveTransactor = agentInAccountOrMemberInGroup(tx.author, groupAtTime);
49
52
  if (!effectiveTransactor) {
50
- tx.isValid = false;
53
+ tx.markInvalid();
51
54
  continue;
52
55
  }
53
56
  const transactorRoleAtTxTime = groupAtTime.roleOfInternal(effectiveTransactor);
@@ -60,28 +63,29 @@ export function determineValidTransactions(coValue) {
60
63
  ownerId: tx.meta.ownerId,
61
64
  };
62
65
  tx.changes = [];
63
- tx.isValid = true;
66
+ tx.markValid();
64
67
  continue;
65
68
  }
66
69
  if (transactorRoleAtTxTime !== "admin" &&
70
+ transactorRoleAtTxTime !== "manager" &&
67
71
  transactorRoleAtTxTime !== "writer" &&
68
72
  transactorRoleAtTxTime !== "writeOnly") {
69
- tx.isValid = false;
73
+ tx.markInvalid();
70
74
  continue;
71
75
  }
72
- tx.isValid = true;
76
+ tx.markValid();
73
77
  }
78
+ return;
74
79
  }
75
- else if (coValue.verified.header.ruleset.type === "unsafeAllowAll") {
76
- for (const tx of coValue.verifiedTransactions) {
77
- tx.isValid = true;
78
- tx.isValidated = true;
80
+ // The CoValue has unsafeAllowAll ruleset
81
+ if (coValue.verified.header.ruleset.type === "unsafeAllowAll") {
82
+ for (const tx of coValue.toValidateTransactions) {
83
+ tx.markValid();
79
84
  }
85
+ return;
80
86
  }
81
- else {
82
- throw new Error("Unknown ruleset type " +
83
- coValue.verified.header.ruleset.type);
84
- }
87
+ throw new Error("Unknown ruleset type " +
88
+ coValue.verified.header.ruleset.type);
85
89
  }
86
90
  function isHigherRole(a, b) {
87
91
  if (a === undefined || a === "revoked")
@@ -92,6 +96,10 @@ function isHigherRole(a, b) {
92
96
  return false;
93
97
  if (a === "admin")
94
98
  return true;
99
+ if (b === "manager")
100
+ return false;
101
+ if (a === "manager")
102
+ return true;
95
103
  return a === "writer" && b === "reader";
96
104
  }
97
105
  function resolveMemberStateFromParentReference(coValue, memberState, parentReference, roleMapping, extendChain) {
@@ -129,11 +137,11 @@ function determineValidTransactionsForGroup(coValue, initialAdmin, extendChain)
129
137
  const writeKeys = new Set();
130
138
  for (const transaction of coValue.verifiedTransactions) {
131
139
  const transactor = transaction.author;
132
- transaction.isValidated = true;
140
+ const transactorRole = memberState[transactor];
133
141
  const tx = transaction.tx;
134
142
  if (tx.privacy === "private") {
135
143
  if (memberState[transactor] === "admin") {
136
- transaction.isValid = true;
144
+ transaction.markValid();
137
145
  continue;
138
146
  }
139
147
  else {
@@ -148,60 +156,62 @@ function determineValidTransactionsForGroup(coValue, initialAdmin, extendChain)
148
156
  const change = changes[0];
149
157
  if (changes.length !== 1) {
150
158
  logPermissionError("Group transaction must have exactly one change");
151
- transaction.isValid = false;
159
+ transaction.markInvalid();
152
160
  continue;
153
161
  }
154
162
  if (change.op !== "set") {
155
163
  logPermissionError("Group transaction must set a role or readKey");
156
- transaction.isValid = false;
164
+ transaction.markInvalid();
157
165
  continue;
158
166
  }
159
167
  if (change.key === "readKey") {
160
- if (memberState[transactor] !== "admin") {
168
+ if (!canAdmin(transactorRole)) {
161
169
  logPermissionError("Only admins can set readKeys");
162
- transaction.isValid = false;
170
+ transaction.markInvalid();
163
171
  continue;
164
172
  }
165
- transaction.isValid = true;
173
+ transaction.markValid();
166
174
  continue;
167
175
  }
168
176
  else if (change.key === "profile") {
169
- if (memberState[transactor] !== "admin") {
177
+ if (!canAdmin(transactorRole)) {
170
178
  logPermissionError("Only admins can set profile");
171
- transaction.isValid = false;
179
+ transaction.markInvalid();
172
180
  continue;
173
181
  }
174
- transaction.isValid = true;
182
+ transaction.markValid();
175
183
  continue;
176
184
  }
177
185
  else if (change.key === "root") {
178
- if (memberState[transactor] !== "admin") {
186
+ if (!canAdmin(transactorRole)) {
179
187
  logPermissionError("Only admins can set root");
180
188
  continue;
181
189
  }
182
- transaction.isValid = true;
190
+ transaction.markValid();
183
191
  continue;
184
192
  }
185
193
  else if (isKeyForKeyField(change.key) ||
186
194
  isKeyForAccountField(change.key)) {
187
- if (memberState[transactor] !== "admin" &&
188
- memberState[transactor] !== "adminInvite" &&
189
- memberState[transactor] !== "writerInvite" &&
190
- memberState[transactor] !== "readerInvite" &&
191
- memberState[transactor] !== "writeOnlyInvite" &&
195
+ if (transactorRole !== "admin" &&
196
+ transactorRole !== "adminInvite" &&
197
+ transactorRole !== "manager" &&
198
+ transactorRole !== "managerInvite" &&
199
+ transactorRole !== "writerInvite" &&
200
+ transactorRole !== "readerInvite" &&
201
+ transactorRole !== "writeOnlyInvite" &&
192
202
  !isOwnWriteKeyRevelation(change.key, transactor, writeOnlyKeys)) {
193
- logPermissionError("Only admins can reveal keys");
194
- transaction.isValid = false;
203
+ logPermissionError("Only admins and managers can reveal keys");
204
+ transaction.markInvalid();
195
205
  continue;
196
206
  }
197
207
  // TODO: check validity of agents who the key is revealed to?
198
- transaction.isValid = true;
208
+ transaction.markValid();
199
209
  continue;
200
210
  }
201
211
  else if (isParentExtension(change.key)) {
202
- if (memberState[transactor] !== "admin") {
203
- logPermissionError("Only admins can set parent extensions");
204
- transaction.isValid = false;
212
+ if (!canAdmin(transactorRole)) {
213
+ logPermissionError("Only admins and managers can set parent extensions");
214
+ transaction.markInvalid();
205
215
  continue;
206
216
  }
207
217
  extendChain = extendChain ?? new Set([]);
@@ -209,23 +219,25 @@ function determineValidTransactionsForGroup(coValue, initialAdmin, extendChain)
209
219
  // Circular reference detected, drop all the transactions involved
210
220
  if (extendChain.has(coValue.id)) {
211
221
  logPermissionError("Circular extend detected, dropping the transaction");
212
- transaction.isValid = false;
222
+ transaction.markInvalid();
213
223
  continue;
214
224
  }
215
- transaction.isValid = true;
225
+ transaction.markValid();
216
226
  continue;
217
227
  }
218
228
  else if (isChildExtension(change.key)) {
219
- transaction.isValid = true;
229
+ logPermissionError("Child extensions are not allowed anymore");
230
+ transaction.markInvalid();
220
231
  continue;
221
232
  }
222
233
  else if (isWriteKeyForMember(change.key)) {
223
234
  const memberKey = getAccountOrAgentFromWriteKeyForMember(change.key);
224
- if (memberState[transactor] !== "admin" &&
225
- memberState[transactor] !== "writeOnlyInvite" &&
235
+ if (transactorRole !== "admin" &&
236
+ transactorRole !== "manager" &&
237
+ transactorRole !== "writeOnlyInvite" &&
226
238
  memberKey !== transactor) {
227
- logPermissionError("Only admins can set writeKeys");
228
- transaction.isValid = false;
239
+ logPermissionError("Only admins and managers can set writeKeys");
240
+ transaction.markInvalid();
229
241
  continue;
230
242
  }
231
243
  writeOnlyKeys[memberKey] = change.value;
@@ -237,91 +249,143 @@ function determineValidTransactionsForGroup(coValue, initialAdmin, extendChain)
237
249
  * write keys, otherwise they could hide a write key to other writeOnly users
238
250
  * blocking them from accessing the group.ß
239
251
  */
240
- if (writeKeys.has(change.key) && memberState[transactor] !== "admin") {
252
+ if (writeKeys.has(change.key) && !canAdmin(transactorRole)) {
241
253
  logPermissionError("Write key already exists and can't be overridden by invite");
242
- transaction.isValid = false;
254
+ transaction.markInvalid();
243
255
  continue;
244
256
  }
245
257
  writeKeys.add(change.key);
246
- transaction.isValid = true;
258
+ transaction.markValid();
247
259
  continue;
248
260
  }
249
261
  const affectedMember = change.key;
250
262
  const assignedRole = change.value;
251
- if (change.value !== "admin" &&
252
- change.value !== "writer" &&
253
- change.value !== "reader" &&
254
- change.value !== "writeOnly" &&
255
- change.value !== "revoked" &&
256
- change.value !== "adminInvite" &&
257
- change.value !== "writerInvite" &&
258
- change.value !== "readerInvite" &&
259
- change.value !== "writeOnlyInvite") {
263
+ if (assignedRole !== "admin" &&
264
+ assignedRole !== "manager" &&
265
+ assignedRole !== "writer" &&
266
+ assignedRole !== "reader" &&
267
+ assignedRole !== "writeOnly" &&
268
+ assignedRole !== "revoked" &&
269
+ assignedRole !== "managerInvite" &&
270
+ assignedRole !== "adminInvite" &&
271
+ assignedRole !== "writerInvite" &&
272
+ assignedRole !== "readerInvite" &&
273
+ assignedRole !== "writeOnlyInvite") {
260
274
  logPermissionError("Group transaction must set a valid role");
261
- transaction.isValid = false;
275
+ transaction.markInvalid();
262
276
  continue;
263
277
  }
264
278
  if (affectedMember === EVERYONE &&
265
- !(change.value === "reader" ||
266
- change.value === "writer" ||
267
- change.value === "writeOnly" ||
268
- change.value === "revoked")) {
279
+ !(assignedRole === "reader" ||
280
+ assignedRole === "writer" ||
281
+ assignedRole === "writeOnly" ||
282
+ assignedRole === "revoked")) {
269
283
  logPermissionError("Everyone can only be set to reader, writer, writeOnly or revoked");
270
- transaction.isValid = false;
284
+ transaction.markInvalid();
271
285
  continue;
272
286
  }
273
- const isFirstSelfAppointment = !memberState[transactor] &&
287
+ function markTransactionSetRoleAsValid(change) {
288
+ if (change.op !== "set") {
289
+ throw new Error("Expected set operation");
290
+ }
291
+ memberState[change.key] = change.value;
292
+ transaction.markValid();
293
+ }
294
+ function markTransactionAsInvalid(message) {
295
+ logPermissionError(message);
296
+ transaction.markInvalid();
297
+ }
298
+ // is first self promotion to admin
299
+ if (transactorRole === undefined &&
274
300
  transactor === initialAdmin &&
275
- change.op === "set" &&
276
- change.key === transactor &&
277
- change.value === "admin";
278
- const isSelfRevoke = transactor === change.key && change.value === "revoked";
279
- if (!isFirstSelfAppointment && !isSelfRevoke) {
280
- if (memberState[transactor] === "admin") {
281
- if (memberState[affectedMember] === "admin" &&
282
- affectedMember !== transactor &&
283
- assignedRole !== "admin") {
284
- logPermissionError("Admins can only demote themselves.");
285
- transaction.isValid = false;
286
- continue;
287
- }
301
+ affectedMember === transactor &&
302
+ assignedRole === "admin") {
303
+ markTransactionSetRoleAsValid(change);
304
+ continue;
305
+ }
306
+ // if I'm self revoking, it is always valid
307
+ if (transactor === change.key && change.value === "revoked") {
308
+ markTransactionSetRoleAsValid(change);
309
+ continue;
310
+ }
311
+ const affectedMemberRole = memberState[affectedMember];
312
+ /**
313
+ * Admins can't:
314
+ * - demote other admins
315
+ */
316
+ if (transactorRole === "admin") {
317
+ if (affectedMemberRole === "admin" &&
318
+ assignedRole !== "admin" &&
319
+ affectedMember !== transactor) {
320
+ markTransactionAsInvalid("Admins can't demote admins.");
321
+ continue;
288
322
  }
289
- else if (memberState[transactor] === "adminInvite") {
290
- if (change.value !== "admin") {
291
- logPermissionError("AdminInvites can only create admins.");
292
- transaction.isValid = false;
293
- continue;
294
- }
323
+ markTransactionSetRoleAsValid(change);
324
+ continue;
325
+ }
326
+ /**
327
+ * Managers can't:
328
+ * - demote other admins
329
+ * - invite new admins
330
+ * - promote to admin
331
+ */
332
+ if (transactorRole === "manager") {
333
+ if (affectedMemberRole === "admin") {
334
+ markTransactionAsInvalid("Managers can't demote admins.");
335
+ continue;
295
336
  }
296
- else if (memberState[transactor] === "writerInvite") {
297
- if (change.value !== "writer") {
298
- logPermissionError("WriterInvites can only create writers.");
299
- transaction.isValid = false;
300
- continue;
301
- }
337
+ if (change.value === "admin") {
338
+ markTransactionAsInvalid("Managers can't promote to admin.");
339
+ continue;
302
340
  }
303
- else if (memberState[transactor] === "readerInvite") {
304
- if (change.value !== "reader") {
305
- logPermissionError("ReaderInvites can only create reader.");
306
- transaction.isValid = false;
307
- continue;
308
- }
341
+ if (change.value === "adminInvite") {
342
+ markTransactionAsInvalid("Managers can't invite admins.");
343
+ continue;
309
344
  }
310
- else if (memberState[transactor] === "writeOnlyInvite") {
311
- if (change.value !== "writeOnly") {
312
- logPermissionError("WriteOnlyInvites can only create writeOnly.");
313
- transaction.isValid = false;
314
- continue;
315
- }
345
+ if (change.value === "managerInvite") {
346
+ markTransactionAsInvalid("Managers can't invite managers.");
347
+ continue;
316
348
  }
317
- else {
318
- logPermissionError("Group transaction must be made by current admin or invite");
319
- transaction.isValid = false;
349
+ markTransactionSetRoleAsValid(change);
350
+ continue;
351
+ }
352
+ if (transactorRole === "adminInvite") {
353
+ if (change.value !== "admin") {
354
+ logPermissionError("AdminInvites can only create admins.");
355
+ transaction.markInvalid();
356
+ continue;
357
+ }
358
+ }
359
+ else if (transactorRole === "managerInvite") {
360
+ if (change.value !== "manager") {
361
+ markTransactionAsInvalid("managerInvite can only create managers.");
362
+ continue;
363
+ }
364
+ }
365
+ else if (transactorRole === "writerInvite") {
366
+ if (change.value !== "writer") {
367
+ markTransactionAsInvalid("WriterInvites can only create writers.");
368
+ continue;
369
+ }
370
+ }
371
+ else if (transactorRole === "readerInvite") {
372
+ if (change.value !== "reader") {
373
+ markTransactionAsInvalid("ReaderInvites can only create reader.");
320
374
  continue;
321
375
  }
322
376
  }
377
+ else if (transactorRole === "writeOnlyInvite") {
378
+ if (change.value !== "writeOnly") {
379
+ markTransactionAsInvalid("WriteOnlyInvites can only create writeOnly.");
380
+ continue;
381
+ }
382
+ }
383
+ else {
384
+ markTransactionAsInvalid("Group transaction must be made by current admin, manager, or invite");
385
+ continue;
386
+ }
323
387
  memberState[affectedMember] = change.value;
324
- transaction.isValid = true;
388
+ transaction.markValid();
325
389
  }
326
390
  return { memberState };
327
391
  }
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAOzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAa,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,iBAAiB,GACjB,iBAAiB,GACjB,WAAW,CAAC;AAEhB,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,iBAAiB,CAAC;AAEtB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,iBAAiB,CAAC;AAEtB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,GAAG,EAAE;QACH,CAAC,SAAS,EAAE,SAAS,GAAG,iBAAiB,CAAC;KAC3C,CAAC;IACF,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAE9B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,aAAa,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,KAAK,IAAI,KAAK,IAAI,CAAC;IAC9E,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,KAAK,IAAI,CAAC;IACrD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,EAAE,EAAE,OAAO,EACX,WAAW,EAAE,SAAS,EAAE,KACrB,SAAS,EAAE,CAAC;AAEjB,qBAAa,WAAW;IACtB,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAM;IACzC,KAAK,EAAE,SAAS,CAAC;IAKjB,OAAO,CAAC,UAAU,CAAkB;IAIpC,OAAO,CAAC,iCAAiC,CAAkB;IAC3D,gCAAgC;IAIhC,YAAY,sFAIT;IACH,OAAO,CAAC,yBAAyB,CAAY;IAE7C,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;gBAE5B,KAAK,EAAE,SAAS;IAa5B,SAAS,EAAE,gBAAgB,CAAC;IAE5B,8BAA8B;IAI9B,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,SAAS,EAAE;IAIlC,cAAc,IAAI,SAAS,EAAE;IAI7B,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE;IAShE,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS;IAwDnD,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAE,GAAG,CAAC,OAAO,CAAa;IAwC3E,oBAAoB;IASpB,uBAAuB,CAAC,IAAI,EAAE,SAAS;IAqEvC,aAAa,wBAA+B;IAC5C,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS;IAYlD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,GAAE,OAAe;IAyCvD,UAAU,CAAC,MAAM,EAAE,MAAM;IAWzB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW;IAI/C;;;;;;;OAOG;IACH,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS;IAwC5C,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS;IAkBxD,sBAAsB,CAAC,eAAe,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM;IAUrE,gBAAgB,CACd,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ;IAoSxC,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS;IAMxD,OAAO,CAAC,SAAS,CAEf;IACF,UAAU,4EAA6B;IACvC,oBAAoB,iKAAkC;IACtD,kBAAkB;;MAAqC;IAEvD,WAAW,CAAC,OAAO,EAAE,iBAAiB;IA+BtC,OAAO,CAAC,YAAY;IA2BpB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IA4ChE,kBAAkB,CAAC,EAAE,EAAE,OAAO;IAI9B,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,SAAS;IAUzC,sBAAsB,CAAC,OAAO,SAAS;IAavC,gBAAgB;CAKjB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAgCnE"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}