@nymphjs/tilmeld 1.0.0-alpha.4 → 1.0.0-alpha.40

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/CHANGELOG.md CHANGED
@@ -3,6 +3,180 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.0.0-alpha.40](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2022-03-05)
7
+
8
+ **Note:** Version bump only for package @nymphjs/tilmeld
9
+
10
+ # [1.0.0-alpha.39](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2022-03-05)
11
+
12
+ ### Bug Fixes
13
+
14
+ - tilmeld after registration callbacks don't have login info ([1e98a9b](https://github.com/sciactive/nymphjs/commit/1e98a9b337e359763bc9baf290463e6da0373efe))
15
+
16
+ # [1.0.0-alpha.38](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2022-02-10)
17
+
18
+ **Note:** Version bump only for package @nymphjs/tilmeld
19
+
20
+ # [1.0.0-alpha.37](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2022-02-02)
21
+
22
+ **Note:** Version bump only for package @nymphjs/tilmeld
23
+
24
+ # [1.0.0-alpha.36](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2022-01-26)
25
+
26
+ **Note:** Version bump only for package @nymphjs/tilmeld
27
+
28
+ # [1.0.0-alpha.35](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2022-01-19)
29
+
30
+ **Note:** Version bump only for package @nymphjs/tilmeld
31
+
32
+ # [1.0.0-alpha.34](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2022-01-08)
33
+
34
+ **Note:** Version bump only for package @nymphjs/tilmeld
35
+
36
+ # [1.0.0-alpha.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2022-01-08)
37
+
38
+ **Note:** Version bump only for package @nymphjs/tilmeld
39
+
40
+ # [1.0.0-alpha.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2022-01-08)
41
+
42
+ **Note:** Version bump only for package @nymphjs/tilmeld
43
+
44
+ # [1.0.0-alpha.31](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2022-01-08)
45
+
46
+ **Note:** Version bump only for package @nymphjs/tilmeld
47
+
48
+ # [1.0.0-alpha.30](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2022-01-07)
49
+
50
+ ### Features
51
+
52
+ - await for callbacks on registration ([d1e2f03](https://github.com/sciactive/nymphjs/commit/d1e2f03f3c8e03e6fd7cef892eda61e9d222e1fc))
53
+
54
+ # [1.0.0-alpha.29](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2022-01-07)
55
+
56
+ ### Features
57
+
58
+ - add additionalData in register and login data ([b906cd6](https://github.com/sciactive/nymphjs/commit/b906cd66715098019ca55c3562de72cbf7669ca7))
59
+
60
+ # [1.0.0-alpha.28](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2022-01-07)
61
+
62
+ ### Features
63
+
64
+ - add callbacks for user registration, login, and logout ([0dd621e](https://github.com/sciactive/nymphjs/commit/0dd621e85d082b9a753cafae16a120620b41164e))
65
+
66
+ # [1.0.0-alpha.27](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2022-01-05)
67
+
68
+ ### Features
69
+
70
+ - update smui to latest versions ([7ed7bd3](https://github.com/sciactive/nymphjs/commit/7ed7bd34d01a155c7001a2671de25ef2f3363682))
71
+
72
+ # [1.0.0-alpha.26](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2021-12-30)
73
+
74
+ **Note:** Version bump only for package @nymphjs/tilmeld
75
+
76
+ # [1.0.0-alpha.25](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2021-12-30)
77
+
78
+ **Note:** Version bump only for package @nymphjs/tilmeld
79
+
80
+ # [1.0.0-alpha.24](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2021-12-30)
81
+
82
+ **Note:** Version bump only for package @nymphjs/tilmeld
83
+
84
+ # [1.0.0-alpha.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2021-12-30)
85
+
86
+ **Note:** Version bump only for package @nymphjs/tilmeld
87
+
88
+ # [1.0.0-alpha.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2021-12-14)
89
+
90
+ ### Features
91
+
92
+ - update smui to latest versions ([912873b](https://github.com/sciactive/nymphjs/commit/912873b863d1ae5d51c359a3c0558bff38ce85cd))
93
+
94
+ # [1.0.0-alpha.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2021-11-29)
95
+
96
+ **Note:** Version bump only for package @nymphjs/tilmeld
97
+
98
+ # [1.0.0-alpha.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2021-11-24)
99
+
100
+ **Note:** Version bump only for package @nymphjs/tilmeld
101
+
102
+ # [1.0.0-alpha.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2021-11-18)
103
+
104
+ ### Features
105
+
106
+ - update smui and other packages to latest versions ([2465340](https://github.com/sciactive/nymphjs/commit/24653400d887bc04c41c3c4ee0c73ce2f2289e0d))
107
+
108
+ # [1.0.0-alpha.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2021-11-09)
109
+
110
+ **Note:** Version bump only for package @nymphjs/tilmeld
111
+
112
+ # [1.0.0-alpha.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2021-10-14)
113
+
114
+ **Note:** Version bump only for package @nymphjs/tilmeld
115
+
116
+ # [1.0.0-alpha.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2021-10-14)
117
+
118
+ ### Bug Fixes
119
+
120
+ - don't ignore built files in npm packages ([7d688db](https://github.com/sciactive/nymphjs/commit/7d688dbec362f1f71fb451a1d0dbcaecc15d99fc))
121
+
122
+ # [1.0.0-alpha.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2021-10-14)
123
+
124
+ **Note:** Version bump only for package @nymphjs/tilmeld
125
+
126
+ # [1.0.0-alpha.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2021-10-14)
127
+
128
+ **Note:** Version bump only for package @nymphjs/tilmeld
129
+
130
+ # [1.0.0-alpha.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2021-10-14)
131
+
132
+ ### Bug Fixes
133
+
134
+ - tilmeld not adding permission checks correctly ([ddeb3d1](https://github.com/sciactive/nymphjs/commit/ddeb3d155af971a89fb1403c34530826448af2b8))
135
+
136
+ # [1.0.0-alpha.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2021-10-13)
137
+
138
+ **Note:** Version bump only for package @nymphjs/tilmeld
139
+
140
+ # [1.0.0-alpha.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2021-10-13)
141
+
142
+ **Note:** Version bump only for package @nymphjs/tilmeld
143
+
144
+ # [1.0.0-alpha.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2021-10-12)
145
+
146
+ ### Bug Fixes
147
+
148
+ - tilmeld permission checks ([ec8c585](https://github.com/sciactive/nymphjs/commit/ec8c5858c8d3d380cfdb76f606c63475d22d7842))
149
+
150
+ # [1.0.0-alpha.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2021-10-12)
151
+
152
+ ### Bug Fixes
153
+
154
+ - data protection was using the same array instances ([d456e61](https://github.com/sciactive/nymphjs/commit/d456e61be316b9abe7fb391b232412222e7d748f))
155
+
156
+ # [1.0.0-alpha.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2021-10-12)
157
+
158
+ ### Bug Fixes
159
+
160
+ - server not running potentially important delete functions ([ce7521d](https://github.com/sciactive/nymphjs/commit/ce7521d89ca655f72f6842abf25c2817ce7b1513))
161
+
162
+ # [1.0.0-alpha.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2021-10-05)
163
+
164
+ ### Bug Fixes
165
+
166
+ - tilmeld group check on entities ([d55c43b](https://github.com/sciactive/nymphjs/commit/d55c43b16dde9a7a88c347db542987f0df9553d6))
167
+
168
+ # [1.0.0-alpha.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2021-10-05)
169
+
170
+ ### Bug Fixes
171
+
172
+ - tilmeld instance in access control functions ([7965df8](https://github.com/sciactive/nymphjs/commit/7965df8ea8cbbad7efa77ce8fe8b0f3061ac3c44))
173
+
174
+ # [1.0.0-alpha.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2021-09-30)
175
+
176
+ ### Features
177
+
178
+ - provide Joi prop checks for Nymph and Tilmeld as exports ([8180861](https://github.com/sciactive/nymphjs/commit/8180861c6631f7fd25a2d2a3c57924b8f4147cf3))
179
+
6
180
  # [1.0.0-alpha.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2021-09-27)
7
181
 
8
182
  ### Features
package/dist/Group.js CHANGED
@@ -29,8 +29,8 @@ class Group extends AbleObject_1.default {
29
29
  '$getLevel',
30
30
  '$isDescendant',
31
31
  ];
32
- this.$privateData = Group.DEFAULT_PRIVATE_DATA;
33
- this.$allowlistData = Group.DEFAULT_ALLOWLIST_DATA;
32
+ this.$privateData = [...Group.DEFAULT_PRIVATE_DATA];
33
+ this.$allowlistData = [...Group.DEFAULT_ALLOWLIST_DATA];
34
34
  this.$allowlistTags = [];
35
35
  this.$skipAcWhenSaving = false;
36
36
  if (this.guid == null) {
@@ -148,8 +148,8 @@ class Group extends AbleObject_1.default {
148
148
  var _a, _b, _c, _d;
149
149
  const tilmeld = this.$nymph.tilmeld;
150
150
  let user = givenUser !== null && givenUser !== void 0 ? givenUser : tilmeld.User.current();
151
- this.$privateData = Group.DEFAULT_PRIVATE_DATA;
152
- this.$allowlistData = Group.DEFAULT_ALLOWLIST_DATA;
151
+ this.$privateData = [...Group.DEFAULT_PRIVATE_DATA];
152
+ this.$allowlistData = [...Group.DEFAULT_ALLOWLIST_DATA];
153
153
  if (tilmeld.config.emailUsernames) {
154
154
  this.$privateData.push('groupname');
155
155
  }
@@ -483,17 +483,21 @@ class Group extends AbleObject_1.default {
483
483
  $delete: { get: () => super.$delete }
484
484
  });
485
485
  return __awaiter(this, void 0, void 0, function* () {
486
- const tilmeld = this.$nymph.tilmeld;
486
+ let tilmeld = this.$nymph.tilmeld;
487
487
  if (!tilmeld.gatekeeper('tilmeld/admin')) {
488
488
  throw new errors_1.BadDataError("You don't have the authority to delete groups.");
489
489
  }
490
490
  const transaction = 'tilmeld-delete-' + this.guid;
491
- const tnymph = yield this.$nymph.startTransaction(transaction);
491
+ const nymph = this.$nymph;
492
+ const tnymph = yield nymph.startTransaction(transaction);
493
+ this.$nymph = tnymph;
494
+ tilmeld = this.$nymph.tilmeld;
492
495
  const descendants = yield this.$getDescendants();
493
496
  if (descendants.length) {
494
497
  for (let curGroup of descendants) {
495
498
  if (!(yield curGroup.$delete())) {
496
499
  yield tnymph.rollback(transaction);
500
+ this.$nymph = nymph;
497
501
  return false;
498
502
  }
499
503
  }
@@ -509,6 +513,7 @@ class Group extends AbleObject_1.default {
509
513
  delete user.group;
510
514
  if (!(yield user.$save())) {
511
515
  yield tnymph.rollback(transaction);
516
+ this.$nymph = nymph;
512
517
  return false;
513
518
  }
514
519
  }
@@ -533,6 +538,7 @@ class Group extends AbleObject_1.default {
533
538
  else {
534
539
  yield tnymph.rollback(transaction);
535
540
  }
541
+ this.$nymph = nymph;
536
542
  return success;
537
543
  });
538
544
  }
@@ -546,5 +552,5 @@ Group.clientEnabledStaticMethods = [
546
552
  'getPrimaryGroups',
547
553
  'getSecondaryGroups',
548
554
  ];
549
- Group.searchRestrictedData = Group.DEFAULT_PRIVATE_DATA;
555
+ Group.searchRestrictedData = [...Group.DEFAULT_PRIVATE_DATA];
550
556
  //# sourceMappingURL=Group.js.map
package/dist/Group.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","sourceRoot":"","sources":["../src/Group.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AASA,wDAAgC;AAChC,mCAAoC;AAGpC,8DAAsC;AACtC,qCAKkB;AAgElB,MAAqB,KAAM,SAAQ,oBAAqB;IAgEtD,YAAY,IAAa;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC;QAtDJ,UAAK,GAAG,EAAE,CAAC;QACX,0BAAqB,GAAG;YAChC,iBAAiB;YACjB,aAAa;YACb,YAAY;YACZ,cAAc;YACd,iBAAiB;YACjB,WAAW;YACX,eAAe;SAChB,CAAC;QAKQ,iBAAY,GAAG,KAAK,CAAC,oBAAoB,CAAC;QAE1C,mBAAc,GAAI,KAAK,CAAC,sBAAsB,CAAC;QAC/C,mBAAc,GAAc,EAAE,CAAC;QAKjC,sBAAiB,GAAG,KAAK,CAAC;QAkChC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YAErB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;IACH,CAAC;IAtCD,MAAM,CAAO,OAAO,CAAC,IAAa;;;;;YAChC,OAAO,CAAC,MAAM,OAAM,OAAO,YAAC,IAAI,CAAC,CAAsB,CAAC;QAC1D,CAAC;KAAA;IAED,MAAM,CAAO,gBAAgB,CAC3B,SAAkB;;YAElB,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CACvC;oBACE,KAAK,EAAE,IAAI;iBACZ,EACD;oBACE,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACtE,CACF,CAAC;gBACF,IAAI,MAAM,IAAI,IAAI,EAAE;oBAClB,OAAO,MAAM,CAAC;iBACf;aACF;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED,MAAM,CAAC,WAAW,CAAC,IAAa;QAC9B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAsB,CAAC;IACtD,CAAC;IAoBM,MAAM,CAAO,gBAAgB,CAClC,OAAiB,EACjB,SAAsB;;YAEtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;YAED,OAAO,MAAM,IAAI,CAAC,mBAAmB,CACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,kCAC7B,OAAO,KAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,KACzD,CAAC,GAAG,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC,CAAC,CACvB,CAAC;QACJ,CAAC;KAAA;IASM,MAAM,CAAO,kBAAkB,CACpC,OAAiB,EACjB,SAAsB;;YAEtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;YAED,OAAO,MAAM,IAAI,CAAC,mBAAmB,CACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,kCAC/B,OAAO,KAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,KACzD,CAAC,GAAG,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC,CAAC,CACvB,CAAC;QACJ,CAAC;KAAA;IAEO,MAAM,CAAO,mBAAmB,CACtC,aAA+B,EAC/B,OAA8B,EAC9B,SAAqB;;YAErB,IAAI,gBAAgB,GAA0B,EAAE,CAAC;YAEjD,IAAI,aAAa,KAAK,KAAK,EAAE;gBAC3B,OAAO,gBAAgB,CAAC;aACzB;YAED,gBAAgB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,iCACxC,OAAO,KAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,KACvC,GAAG,SAAS,CACb,CAAC;YACF,IAAI,aAAa,KAAK,IAAI,EAAE;gBAC1B,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;oBACnD,IAAI,QAAQ,GAAG,KAAK,CAAC;oBACrB,OAAO,QAAQ,CAAC,MAAM,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAC/D,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE;4BAC1C,OAAO,IAAI,CAAC;yBACb;wBACD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;qBAC5B;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;aACJ;YACD,OAAO,gBAAgB,CAAC;QAC1B,CAAC;KAAA;IAEM,UAAU;QACf,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;YACzD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;SAC1B;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACxD,OAAO,+CAA+C,CAAC;SACxD;QACD,OAAO,CACL,qCAAqC;YACrC,IAAA,aAAG,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE;YACrD,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAEM,eAAe,CAAC,KAAiB,EAAE,aAAa,GAAG,KAAK;;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IACE,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,OAAO,CAAC,cAAc,CAAC,MAAK,CAAC,CAAC;YACpD,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO,CAAC,cAAc,CAAC,MAAK,CAAC,CAAC;YACpD,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;YACnC,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EACnC;YACA,MAAM,IAAI,qBAAY,CACpB,iEAAiE,CAClE,CAAC;SACH;QAED,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAEM,gBAAgB,CAAC,KAAkB,EAAE,aAAa,GAAG,KAAK;;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IACE,CAAA,MAAA,KAAK,CAAC,GAAG,CAAC,SAAS,0CAAE,OAAO,CAAC,cAAc,CAAC,MAAK,CAAC,CAAC;YACnD,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO,CAAC,cAAc,CAAC,MAAK,CAAC,CAAC;YACpD,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;YACnC,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EACnC;YACA,MAAM,IAAI,qBAAY,CACpB,iEAAiE,CAClE,CAAC;SACH;QAED,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAEM,QAAQ,CAAC,IAAgB,EAAE,KAA4B;QAC5D,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAOM,qBAAqB,CAAC,SAA2B;;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,IAAI,IAAI,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAE/C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,oBAAoB,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,sBAAsB,CAAC;QAEnD,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;YACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACrC;QAED,IACE,IAAI,IAAI,IAAI;YACZ,CAAC,CAAC,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,OAAO,CAAC,eAAe,CAAC,mCAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtD,CAAC,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,OAAO,CAAC,cAAc,CAAC,mCAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACzD;YAEA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACjC;aAAM,IACL,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI;YACvB,IAAI,IAAI,IAAI;YACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EACzB;YAEA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;IACH,CAAC;IAQM,aAAa,CAAC,UAAwC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,IAAI,KAAwB,CAAC;QAC7B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SAC/C;aAAM;YACL,KAAK,GAAG,UAAU,CAAC;SACpB;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAChC,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAOY,YAAY;;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAClC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EACxB;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;gBACxB,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;aACtB,CACF,CAAC;QACJ,CAAC;KAAA;IAQY,eAAe,CAC1B,OAAO,GAAG,KAAK;;YAEf,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,MAAM,GAA0B,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5C,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EACxB;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;gBACxB,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;aACtB,CACF,CAAC;YACF,KAAK,IAAI,MAAM,IAAI,QAAQ,EAAE;gBAC3B,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC9D;YACD,IAAI,OAAO,EAAE;gBACX,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAQM,mBAAmB,CAAC,OAAO,GAAG,KAAK;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,IAAI,MAAM,GAA0B,EAAE,CAAC;QACvC,IAAI,MAA8B,CAAC;QACnC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,GAAG;YACD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CACvC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAChC;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;gBACxB,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;aACtB,CACF,CAAC;YACF,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC1D;YACD,MAAM,EAAE,CAAC;SACV,QAAQ,MAAM,IAAI,IAAI,EAAE;QACzB,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAaM,SAAS;;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,SAAS,CAAC,CAAC;QAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,EAAE;YACzE,KAAK,EAAE,CAAC;YACR,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;SACtB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAUY,SAAS,CACpB,WAAW,GAAG,KAAK,EACnB,KAAc,EACd,MAAe;;YAEf,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,MAAM,GAA0B,EAAE,CAAC;YACvC,IAAI,WAAW,EAAE;gBACf,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;aACvC;YACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAClC;gBACE,KAAK,EAAE,OAAO,CAAC,IAAI;gBACnB,KAAK;gBACL,MAAM;aACP,EACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;aACzB,EACD;gBACE,IAAI,EAAE,GAAG;gBACT,GAAG,EAAE;oBACH,CAAC,OAAO,EAAE,IAAI,CAAC;oBACf,CAAC,QAAQ,EAAE,IAAI,CAAC;oBAChB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAA+B,EAAE,CAAC;wBACpD,OAAO;wBACP,KAAK;qBACN,CAAC;oBACF,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAA+B,EAAE,CAAC;wBACpD,QAAQ;wBACR,KAAK;qBACN,CAAC;iBACH;aACF,CACF,CAAC;QACJ,CAAC;KAAA;IAOY,eAAe;;YAI1B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;gBAClC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE;oBAChE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;iBAClE;gBACD,IACE,OAAO,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAC9D;oBACA,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,OAAO,EACL,6BAA6B;4BAC7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;4BAChC,cAAc;qBACjB,CAAC;iBACH;gBACD,IACE,IAAA,mBAAU,EACR,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAC9B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CACpC,CAAC,MAAM,EACR;oBACA,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB;qBACzC,CAAC;iBACH;gBACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;oBACzD,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB;qBACzC,CAAC;iBACH;gBAED,MAAM,QAAQ,GAAa;oBACzB,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE;wBACL,WAAW;wBACX,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;qBAC3D;iBACF,CAAC;gBACF,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;oBACrB,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;iBAC/B;gBACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACtC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EACtC,QAAQ,CACT,CAAC;gBACF,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;iBAC/D;gBAED,OAAO;oBACL,MAAM,EAAE,IAAI;oBACZ,OAAO,EACL,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,yBAAyB;iBACxE,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE;oBAChE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;iBAC/D;gBACD,IACE,OAAO,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAC9D;oBACA,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,OAAO,EACL,yBAAyB;4BACzB,OAAO,CAAC,MAAM,CAAC,iBAAiB;4BAChC,cAAc;qBACjB,CAAC;iBACH;gBAED,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;aACjC;QACH,CAAC;KAAA;IAOY,WAAW;;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE;gBAC3B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;aACtC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;gBAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;aACpE;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC1D,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB;iBAC9C,CAAC;aACH;YACD,MAAM,QAAQ,GAAa;gBACzB,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACzE,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACrB,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAC/B;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACtC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EACtC,QAAQ,CACT,CAAC;YACF,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,2CAA2C;iBACrD,CAAC;aACH;YAED,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,OAAO,EACL,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,yBAAyB;aACpE,CAAC;QACJ,CAAC;KAAA;IAEY,KAAK;;;;;;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;gBACvE,OAAO,KAAK,CAAC;aACd;YAGD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACnD,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;aACzC;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAG1C,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE;gBAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;aACxB;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE;gBAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aACzB;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;gBAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAC1B;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE;gBAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aACzB;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;gBAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAC1B;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE;gBAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;aACxB;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;aAClC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBAChC,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;aACpC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;gBACnC,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;aACvC;YAGD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAA,mBAAU,EAAC,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,EAAE,EAAE;gBAC5D,cAAc;gBACd,eAAe;gBACf,IAAI;gBACJ,SAAS;aACV,CAAa,CAAC;YAGf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACnB,MAAM,IAAI,yBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAC7C;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;gBAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;oBACnB,MAAM,IAAI,sBAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC1C;aACF;YAGD,IACE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACjB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI;oBAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EACxC;gBACA,MAAM,IAAI,qBAAY,CACpB,uDAAuD,CACxD,CAAC;aACH;YAED,IAAI;gBACF,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aACrC;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,IAAI,qBAAY,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,CAAC,CAAC;aACpC;YAGD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;gBAC7B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAChD,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EACxB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,CACxC,CAAC;gBACF,IAAI,cAAc,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;oBACvD,cAAc,CAAC,cAAc,GAAG,KAAK,CAAC;oBACtC,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE;wBACnC,MAAM,IAAI,+CAAsC,CAC9C,+CAA+C;4BAC7C,GAAG,cAAc,CAAC,SAAS,GAAG,CACjC,CAAC;qBACH;iBACF;aACF;YAED,OAAO,MAAM,OAAM,KAAK,WAAE,CAAC;;KAC5B;IAKY,WAAW;;YACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;KAAA;IAEM,kBAAkB;QACvB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEY,OAAO;;;;;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBACxC,MAAM,IAAI,qBAAY,CAAC,gDAAgD,CAAC,CAAC;aAC1E;YAED,MAAM,WAAW,GAAG,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAG/D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YACjD,IAAI,WAAW,CAAC,MAAM,EAAE;gBACtB,KAAK,IAAI,QAAQ,IAAI,WAAW,EAAE;oBAChC,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE;wBAC/B,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBACnC,OAAO,KAAK,CAAC;qBACd;iBACF;aACF;YAGD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,WAAW,CAC3C;gBACE,KAAK,EAAE,OAAO,CAAC,IAAI;gBACnB,MAAM,EAAE,IAAI;aACb,EACD;gBACE,IAAI,EAAE,GAAG;gBACT,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;aACrB,CACF,CAAC;YACF,KAAK,IAAI,IAAI,IAAI,YAAY,EAAE;gBAC7B,OAAO,IAAI,CAAC,KAAK,CAAC;gBAClB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;oBACzB,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACnC,OAAO,KAAK,CAAC;iBACd;aACF;YAGD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,WAAW,CAC7C;gBACE,KAAK,EAAE,OAAO,CAAC,IAAI;gBACnB,MAAM,EAAE,IAAI;aACb,EACD;gBACE,IAAI,EAAE,GAAG;gBACT,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;aACtB,CACF,CAAC;YACF,KAAK,IAAI,IAAI,IAAI,cAAc,EAAE;gBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;oBACzB,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACnC,OAAO,KAAK,CAAC;iBACd;aACF;YAGD,MAAM,OAAO,GAAG,MAAM,OAAM,OAAO,WAAE,CAAC;YACtC,IAAI,OAAO,EAAE;gBACX,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;aAClC;iBAAM;gBACL,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aACpC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;;AA1tBH,wBA2tBC;AAttBQ,WAAK,GAAG,eAAe,CAAC;AACxB,WAAK,GAAG,OAAO,CAAC;AAER,0BAAoB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AAC/D,4BAAsB,GAAa,EAAE,CAAC;AAYvC,gCAA0B,GAAG;IACzC,kBAAkB;IAClB,oBAAoB;CACrB,CAAC;AAEY,0BAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC"}
1
+ {"version":3,"file":"Group.js","sourceRoot":"","sources":["../src/Group.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,12 @@ describe('Group', () => {
42
42
  return newGroup;
43
43
  });
44
44
  }
45
+ it('new group passes validation', () => __awaiter(void 0, void 0, void 0, function* () {
46
+ const validGroup = yield makeNewGroup();
47
+ expect(() => {
48
+ defaults_1.default.validatorGroup(validGroup);
49
+ }).not.toThrow();
50
+ }));
45
51
  it("doesn't allow unknown keys", () => __awaiter(void 0, void 0, void 0, function* () {
46
52
  const invalidGroup = yield makeNewGroup();
47
53
  invalidGroup.unknown = 'I should cause an error.';
@@ -1 +1 @@
1
- {"version":3,"file":"Group.test.js","sourceRoot":"","sources":["../src/Group.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAwD;AACxD,0CAAuC;AAEvC,wDAAgC;AAChC,+DAAuC;AAEvC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC;IAC1B,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,uBAAuB;IAC/B,YAAY,EAAE,WAAW;IACzB,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,OAAO;IAClB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,uBAAuB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,oBAAoB,EAAE,uBAAuB;IAC7C,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AACH,MAAM,MAAM,GAAG,IAAI,aAAK,CACtB,EAAE,EACF,IAAI,8BAAa,CAAC;IAChB,QAAQ,EAAE,UAAU;CACrB,CAAC,EACF,OAAO,CACR,CAAC;AAEF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAE5B,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,SAAe,YAAY;;YACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YAEvC,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC;YACjC,QAAQ,CAAC,KAAK,GAAG,oBAAoB,CAAC;YACtC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;YAE5B,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAED,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC1C,MAAM,YAAY,GAAG,MAAM,YAAY,EAAE,CAAC;QAG1C,YAAY,CAAC,OAAO,GAAG,0BAA0B,CAAC;QAElD,MAAM,CAAC,GAAG,EAAE;YACV,kBAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACzD,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Group.test.js","sourceRoot":"","sources":["../src/Group.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAwD;AACxD,0CAAuC;AAEvC,wDAAgC;AAChC,+DAAuC;AAEvC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC;IAC1B,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,uBAAuB;IAC/B,YAAY,EAAE,WAAW;IACzB,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,OAAO;IAClB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,uBAAuB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,oBAAoB,EAAE,uBAAuB;IAC7C,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AACH,MAAM,MAAM,GAAG,IAAI,aAAK,CACtB,EAAE,EACF,IAAI,8BAAa,CAAC;IAChB,QAAQ,EAAE,UAAU;CACrB,CAAC,EACF,OAAO,CACR,CAAC;AAEF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAE5B,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,SAAe,YAAY;;YACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YAEvC,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC;YACjC,QAAQ,CAAC,KAAK,GAAG,oBAAoB,CAAC;YACtC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;YAE5B,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAED,EAAE,CAAC,6BAA6B,EAAE,GAAS,EAAE;QAC3C,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE,CAAC;QAExC,MAAM,CAAC,GAAG,EAAE;YACV,kBAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC1C,MAAM,YAAY,GAAG,MAAM,YAAY,EAAE,CAAC;QAG1C,YAAY,CAAC,OAAO,GAAG,0BAA0B,CAAC;QAElD,MAAM,CAAC,GAAG,EAAE;YACV,kBAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACzD,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/Tilmeld.js CHANGED
@@ -13,6 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const nymph_1 = require("@nymphjs/nymph");
16
+ const lodash_1 = require("lodash");
16
17
  const conf_1 = require("./conf");
17
18
  const errors_1 = require("./errors");
18
19
  const Group_1 = __importDefault(require("./Group"));
@@ -68,9 +69,9 @@ class Tilmeld {
68
69
  return this.currentUser.$gatekeeper(ability);
69
70
  }
70
71
  initAccessControl() {
71
- const tilmeld = this;
72
- const handleQuery = function (_nymph, options, selectors) {
72
+ const handleQuery = function (nymph, options, selectors) {
73
73
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
74
+ const tilmeld = nymph.tilmeld;
74
75
  if (!options ||
75
76
  !('skipAc' in options) ||
76
77
  !options.skipAc ||
@@ -97,25 +98,27 @@ class Tilmeld {
97
98
  }
98
99
  };
99
100
  handleQuery.skipOnClone = true;
100
- const checkPermissionsDelete = function (_nymph, entity) {
101
+ const checkPermissionsDelete = function (nymph, entity) {
102
+ const tilmeld = nymph.tilmeld;
101
103
  if (typeof entity.$tilmeldDeleteSkipAC === 'function' &&
102
104
  entity.$tilmeldDeleteSkipAC()) {
103
105
  return;
104
106
  }
105
- if (tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
107
+ if (!tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
106
108
  throw new errors_1.AccessControlError('No permission to delete.');
107
109
  }
108
110
  };
109
111
  checkPermissionsDelete.skipOnClone = true;
110
112
  const checkPermissionsDeleteByID = function (nymph, guid, className) {
111
- const entity = tilmeld.nymph.driver.getEntitySync({ class: tilmeld.nymph.getEntityClass(className !== null && className !== void 0 ? className : 'Entity') }, { type: '&', guid: guid });
113
+ const entity = nymph.driver.getEntitySync({ class: nymph.getEntityClass(className !== null && className !== void 0 ? className : 'Entity') }, { type: '&', guid: guid });
112
114
  if (entity != null) {
113
115
  checkPermissionsDelete(nymph, entity);
114
116
  }
115
117
  };
116
118
  checkPermissionsDeleteByID.skipOnClone = true;
117
- const checkPermissionsSaveAndFilterAcChanges = function (_nymph, entity) {
118
- var _a, _b, _c, _d, _e, _f, _g, _h;
119
+ const checkPermissionsSaveAndFilterAcChanges = function (nymph, entity) {
120
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
121
+ const tilmeld = nymph.tilmeld;
119
122
  if (!entity) {
120
123
  return;
121
124
  }
@@ -126,14 +129,14 @@ class Tilmeld {
126
129
  if (entity.guid != null) {
127
130
  const originalAc = entity.$getOriginalAcValues();
128
131
  const newAc = {
129
- user: (_a = entity.user) !== null && _a !== void 0 ? _a : null,
130
- group: (_b = entity.group) !== null && _b !== void 0 ? _b : null,
131
- acUser: (_c = entity.acUser) !== null && _c !== void 0 ? _c : null,
132
- acGroup: (_d = entity.acGroup) !== null && _d !== void 0 ? _d : null,
133
- acOther: (_e = entity.acOther) !== null && _e !== void 0 ? _e : null,
134
- acRead: (_f = entity.acRead) !== null && _f !== void 0 ? _f : null,
135
- acWrite: (_g = entity.acWrite) !== null && _g !== void 0 ? _g : null,
136
- acFull: (_h = entity.acFull) !== null && _h !== void 0 ? _h : null,
132
+ user: (_a = entity.user) !== null && _a !== void 0 ? _a : undefined,
133
+ group: (_b = entity.group) !== null && _b !== void 0 ? _b : undefined,
134
+ acUser: (_c = entity.acUser) !== null && _c !== void 0 ? _c : undefined,
135
+ acGroup: (_d = entity.acGroup) !== null && _d !== void 0 ? _d : undefined,
136
+ acOther: (_e = entity.acOther) !== null && _e !== void 0 ? _e : undefined,
137
+ acRead: (_f = entity.acRead) !== null && _f !== void 0 ? _f : undefined,
138
+ acWrite: (_g = entity.acWrite) !== null && _g !== void 0 ? _g : undefined,
139
+ acFull: (_h = entity.acFull) !== null && _h !== void 0 ? _h : undefined,
137
140
  };
138
141
  const setAcProperties = (acValues) => {
139
142
  for (let name in acValues) {
@@ -147,7 +150,69 @@ class Tilmeld {
147
150
  }
148
151
  };
149
152
  setAcProperties(originalAc);
150
- if (tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
153
+ function areAcPropertiesChanged(a, b) {
154
+ for (const name of ['user', 'group']) {
155
+ const aVal = a[name];
156
+ const bVal = b[name];
157
+ if (aVal == null && bVal == null) {
158
+ continue;
159
+ }
160
+ else if (aVal == null || bVal == null) {
161
+ return true;
162
+ }
163
+ if (!aVal.$is(bVal)) {
164
+ return true;
165
+ }
166
+ }
167
+ for (const name of ['acUser', 'acGroup', 'acOther']) {
168
+ const aVal = a[name];
169
+ const bVal = b[name];
170
+ if (aVal == null && bVal == null) {
171
+ continue;
172
+ }
173
+ else if (aVal == null || bVal == null) {
174
+ return true;
175
+ }
176
+ if (aVal !== bVal) {
177
+ return true;
178
+ }
179
+ }
180
+ for (const name of ['acRead', 'acWrite', 'acFull']) {
181
+ const aVal = a[name];
182
+ const bVal = b[name];
183
+ if (aVal == null && bVal == null) {
184
+ continue;
185
+ }
186
+ else if (aVal == null || bVal == null) {
187
+ return true;
188
+ }
189
+ if (aVal.length !== bVal.length) {
190
+ return true;
191
+ }
192
+ if ((0, lodash_1.xor)(aVal.map((entity) => entity.guid), bVal.map((entity) => entity.guid)).length) {
193
+ return true;
194
+ }
195
+ }
196
+ return false;
197
+ }
198
+ if (areAcPropertiesChanged(originalAc, newAc)) {
199
+ if (!tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
200
+ throw new errors_1.AccessControlError('No permission to change access control properties.');
201
+ }
202
+ if (((originalAc.user && !originalAc.user.$is(newAc.user)) ||
203
+ (!originalAc.user &&
204
+ newAc.user &&
205
+ !newAc.user.$is(tilmeld.currentUser))) &&
206
+ !tilmeld.gatekeeper('tilmeld/admin')) {
207
+ throw new errors_1.AccessControlError('No permission to assign to another user.');
208
+ }
209
+ if (newAc.group &&
210
+ !newAc.group.$is(originalAc.group) &&
211
+ !(newAc.group.$is((_j = tilmeld.currentUser) === null || _j === void 0 ? void 0 : _j.group) ||
212
+ newAc.group.$inArray((_l = (_k = tilmeld.currentUser) === null || _k === void 0 ? void 0 : _k.groups) !== null && _l !== void 0 ? _l : [])) &&
213
+ !tilmeld.gatekeeper('tilmeld/admin')) {
214
+ throw new errors_1.AccessControlError('No permission to assign to another group.');
215
+ }
151
216
  setAcProperties(newAc);
152
217
  }
153
218
  }
@@ -156,7 +221,8 @@ class Tilmeld {
156
221
  }
157
222
  };
158
223
  checkPermissionsSaveAndFilterAcChanges.skipOnClone = true;
159
- const addAccess = function (_nymph, entity) {
224
+ const addAccess = function (nymph, entity) {
225
+ const tilmeld = nymph.tilmeld;
160
226
  const user = tilmeld.currentUser;
161
227
  if (user != null &&
162
228
  entity.guid == null &&
@@ -197,27 +263,27 @@ class Tilmeld {
197
263
  if (typeof prop != 'number' ||
198
264
  prop < nymph_1.TilmeldAccessLevels.NO_ACCESS ||
199
265
  prop > nymph_1.TilmeldAccessLevels.FULL_ACCESS) {
200
- throw new errors_1.AccessControlError('Invalid access control property.');
266
+ throw new errors_1.AccessControlError('Invalid access control property: ' + prop);
201
267
  }
202
268
  };
203
269
  const accessAcPropertyValidator = (prop) => {
204
270
  if (!Array.isArray(prop)) {
205
- throw new errors_1.AccessControlError('Invalid access control property.');
271
+ throw new errors_1.AccessControlError('Invalid access control property: ' + prop);
206
272
  }
207
273
  prop.forEach((value) => {
208
274
  if (!(value instanceof User_1.default || value instanceof Group_1.default)) {
209
- throw new errors_1.AccessControlError('Invalid access control property.');
275
+ throw new errors_1.AccessControlError('Invalid access control property: ' + prop);
210
276
  }
211
277
  });
212
278
  };
213
279
  if ('user' in entity) {
214
280
  if (!(entity.user instanceof User_1.default)) {
215
- throw new errors_1.AccessControlError('Invalid access control property.');
281
+ throw new errors_1.AccessControlError('Invalid access control property: user');
216
282
  }
217
283
  }
218
284
  if ('group' in entity) {
219
- if (!(entity.Group instanceof Group_1.default)) {
220
- throw new errors_1.AccessControlError('Invalid access control property.');
285
+ if (!(entity.group instanceof Group_1.default)) {
286
+ throw new errors_1.AccessControlError('Invalid access control property: group');
221
287
  }
222
288
  }
223
289
  if ('acUser' in entity) {
@@ -263,14 +329,14 @@ class Tilmeld {
263
329
  ((_d = options.class) === null || _d === void 0 ? void 0 : _d.factorySync()) instanceof Group_1.default)) {
264
330
  return;
265
331
  }
266
- if (user === null) {
332
+ if (user == null || user.guid == null) {
267
333
  selectors.push({
268
334
  type: '|',
269
335
  gte: [['acOther', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
270
336
  selector: [
271
337
  {
272
338
  type: '&',
273
- '!defined': ['user', 'group'],
339
+ '!defined': [['user', 'group']],
274
340
  },
275
341
  ],
276
342
  });
@@ -279,46 +345,36 @@ class Tilmeld {
279
345
  const subSelectors = [
280
346
  {
281
347
  type: '&',
282
- '!defined': ['user', 'group'],
348
+ '!defined': [['user', 'group']],
283
349
  },
284
350
  {
285
351
  type: '&',
286
- ref: [['user', user]],
352
+ ref: [['user', user.guid]],
287
353
  gte: [['acUser', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
288
354
  },
289
355
  ];
290
- const selector = {
291
- type: '|',
292
- gte: [['acOther', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
293
- selector: subSelectors,
294
- ref: [
295
- ['acRead', user],
296
- ['acWrite', user],
297
- ['acFull', user],
298
- ],
299
- };
300
356
  const groupRefs = [];
301
357
  const acRefs = [];
302
358
  if (user.group != null && user.group.guid != null) {
303
- groupRefs.push(['group', user.group]);
304
- acRefs.push(['acRead', user.group]);
305
- acRefs.push(['acWrite', user.group]);
306
- acRefs.push(['acFull', user.group]);
359
+ groupRefs.push(['group', user.group.guid]);
360
+ acRefs.push(['acRead', user.group.guid]);
361
+ acRefs.push(['acWrite', user.group.guid]);
362
+ acRefs.push(['acFull', user.group.guid]);
307
363
  }
308
364
  for (let curSecondaryGroup of (_e = user.groups) !== null && _e !== void 0 ? _e : []) {
309
365
  if (curSecondaryGroup != null && curSecondaryGroup.guid != null) {
310
- groupRefs.push(['group', curSecondaryGroup]);
311
- acRefs.push(['acRead', curSecondaryGroup]);
312
- acRefs.push(['acWrite', curSecondaryGroup]);
313
- acRefs.push(['acFull', curSecondaryGroup]);
366
+ groupRefs.push(['group', curSecondaryGroup.guid]);
367
+ acRefs.push(['acRead', curSecondaryGroup.guid]);
368
+ acRefs.push(['acWrite', curSecondaryGroup.guid]);
369
+ acRefs.push(['acFull', curSecondaryGroup.guid]);
314
370
  }
315
371
  }
316
372
  for (let curDescendantGroup of user.$getDescendantGroupsSync()) {
317
373
  if (curDescendantGroup != null && curDescendantGroup.guid != null) {
318
- groupRefs.push(['group', curDescendantGroup]);
319
- acRefs.push(['acRead', curDescendantGroup]);
320
- acRefs.push(['acWrite', curDescendantGroup]);
321
- acRefs.push(['acFull', curDescendantGroup]);
374
+ groupRefs.push(['group', curDescendantGroup.guid]);
375
+ acRefs.push(['acRead', curDescendantGroup.guid]);
376
+ acRefs.push(['acWrite', curDescendantGroup.guid]);
377
+ acRefs.push(['acFull', curDescendantGroup.guid]);
322
378
  }
323
379
  }
324
380
  if (groupRefs.length) {
@@ -339,6 +395,16 @@ class Tilmeld {
339
395
  ref: acRefs,
340
396
  });
341
397
  }
398
+ const selector = {
399
+ type: '|',
400
+ gte: [['acOther', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
401
+ selector: subSelectors,
402
+ ref: [
403
+ ['acRead', user.guid],
404
+ ['acWrite', user.guid],
405
+ ['acFull', user.guid],
406
+ ],
407
+ };
342
408
  selectors.push(selector);
343
409
  }
344
410
  }