@nymphjs/tilmeld 1.0.0-alpha.8 → 1.0.0-beta.0
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 +174 -0
- package/dist/Group.d.ts +1 -1
- package/dist/Group.js +27 -26
- package/dist/Group.js.map +1 -1
- package/dist/Tilmeld.js +100 -37
- package/dist/Tilmeld.js.map +1 -1
- package/dist/Tilmeld.types.d.ts +1 -1
- package/dist/User.d.ts +41 -3
- package/dist/User.js +139 -38
- package/dist/User.js.map +1 -1
- package/dist/conf/d.d.ts +2 -1
- package/dist/conf/defaults.js +13 -19
- package/dist/conf/defaults.js.map +1 -1
- package/dist/errors/index.js +5 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/tilmeldJoiProps.d.ts +6 -6
- package/jest.config.js +1 -1
- package/package.json +20 -22
- package/src/Group.ts +7 -6
- package/src/Tilmeld.ts +136 -43
- package/src/User.ts +236 -23
- package/src/conf/d.ts +13 -1
- package/src/conf/defaults.ts +14 -18
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-beta.0](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.43...v1.0.0-beta.0) (2022-11-16)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- update packages and fix issues, new guid package to use latest esm nanoid ([fd66aab](https://github.com/sciactive/nymphjs/commit/fd66aab465e6b1d83f4238bb16bc88d851ef5e92))
|
|
11
|
+
|
|
12
|
+
# [1.0.0-alpha.43](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.42...v1.0.0-alpha.43) (2022-03-07)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- allow custom email config on system emails ([b8f22bb](https://github.com/sciactive/nymphjs/commit/b8f22bb4c5420664ccff6bda754d5bd83be9b625))
|
|
17
|
+
|
|
18
|
+
# [1.0.0-alpha.42](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.41...v1.0.0-alpha.42) (2022-03-06)
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
- attempt to fix failure again ([0f3c071](https://github.com/sciactive/nymphjs/commit/0f3c0717c881cec2b69f96cab53bb9543d46e604))
|
|
23
|
+
|
|
24
|
+
# [1.0.0-alpha.41](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.40...v1.0.0-alpha.41) (2022-03-06)
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
- attempt to fix transaction failure with azure mysql ([b5f3c8d](https://github.com/sciactive/nymphjs/commit/b5f3c8dcde684c7589c2de592d415ab4561fc002))
|
|
29
|
+
|
|
30
|
+
# [1.0.0-alpha.40](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2022-03-05)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
33
|
+
|
|
34
|
+
# [1.0.0-alpha.39](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2022-03-05)
|
|
35
|
+
|
|
36
|
+
### Bug Fixes
|
|
37
|
+
|
|
38
|
+
- tilmeld after registration callbacks don't have login info ([1e98a9b](https://github.com/sciactive/nymphjs/commit/1e98a9b337e359763bc9baf290463e6da0373efe))
|
|
39
|
+
|
|
40
|
+
# [1.0.0-alpha.38](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2022-02-10)
|
|
41
|
+
|
|
42
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
43
|
+
|
|
44
|
+
# [1.0.0-alpha.37](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2022-02-02)
|
|
45
|
+
|
|
46
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
47
|
+
|
|
48
|
+
# [1.0.0-alpha.36](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2022-01-26)
|
|
49
|
+
|
|
50
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
51
|
+
|
|
52
|
+
# [1.0.0-alpha.35](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2022-01-19)
|
|
53
|
+
|
|
54
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
55
|
+
|
|
56
|
+
# [1.0.0-alpha.34](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2022-01-08)
|
|
57
|
+
|
|
58
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
59
|
+
|
|
60
|
+
# [1.0.0-alpha.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2022-01-08)
|
|
61
|
+
|
|
62
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
63
|
+
|
|
64
|
+
# [1.0.0-alpha.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2022-01-08)
|
|
65
|
+
|
|
66
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
67
|
+
|
|
68
|
+
# [1.0.0-alpha.31](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2022-01-08)
|
|
69
|
+
|
|
70
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
71
|
+
|
|
72
|
+
# [1.0.0-alpha.30](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2022-01-07)
|
|
73
|
+
|
|
74
|
+
### Features
|
|
75
|
+
|
|
76
|
+
- await for callbacks on registration ([d1e2f03](https://github.com/sciactive/nymphjs/commit/d1e2f03f3c8e03e6fd7cef892eda61e9d222e1fc))
|
|
77
|
+
|
|
78
|
+
# [1.0.0-alpha.29](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2022-01-07)
|
|
79
|
+
|
|
80
|
+
### Features
|
|
81
|
+
|
|
82
|
+
- add additionalData in register and login data ([b906cd6](https://github.com/sciactive/nymphjs/commit/b906cd66715098019ca55c3562de72cbf7669ca7))
|
|
83
|
+
|
|
84
|
+
# [1.0.0-alpha.28](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2022-01-07)
|
|
85
|
+
|
|
86
|
+
### Features
|
|
87
|
+
|
|
88
|
+
- add callbacks for user registration, login, and logout ([0dd621e](https://github.com/sciactive/nymphjs/commit/0dd621e85d082b9a753cafae16a120620b41164e))
|
|
89
|
+
|
|
90
|
+
# [1.0.0-alpha.27](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2022-01-05)
|
|
91
|
+
|
|
92
|
+
### Features
|
|
93
|
+
|
|
94
|
+
- update smui to latest versions ([7ed7bd3](https://github.com/sciactive/nymphjs/commit/7ed7bd34d01a155c7001a2671de25ef2f3363682))
|
|
95
|
+
|
|
96
|
+
# [1.0.0-alpha.26](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2021-12-30)
|
|
97
|
+
|
|
98
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
99
|
+
|
|
100
|
+
# [1.0.0-alpha.25](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2021-12-30)
|
|
101
|
+
|
|
102
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
103
|
+
|
|
104
|
+
# [1.0.0-alpha.24](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2021-12-30)
|
|
105
|
+
|
|
106
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
107
|
+
|
|
108
|
+
# [1.0.0-alpha.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2021-12-30)
|
|
109
|
+
|
|
110
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
111
|
+
|
|
112
|
+
# [1.0.0-alpha.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2021-12-14)
|
|
113
|
+
|
|
114
|
+
### Features
|
|
115
|
+
|
|
116
|
+
- update smui to latest versions ([912873b](https://github.com/sciactive/nymphjs/commit/912873b863d1ae5d51c359a3c0558bff38ce85cd))
|
|
117
|
+
|
|
118
|
+
# [1.0.0-alpha.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2021-11-29)
|
|
119
|
+
|
|
120
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
121
|
+
|
|
122
|
+
# [1.0.0-alpha.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2021-11-24)
|
|
123
|
+
|
|
124
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
125
|
+
|
|
126
|
+
# [1.0.0-alpha.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2021-11-18)
|
|
127
|
+
|
|
128
|
+
### Features
|
|
129
|
+
|
|
130
|
+
- update smui and other packages to latest versions ([2465340](https://github.com/sciactive/nymphjs/commit/24653400d887bc04c41c3c4ee0c73ce2f2289e0d))
|
|
131
|
+
|
|
132
|
+
# [1.0.0-alpha.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2021-11-09)
|
|
133
|
+
|
|
134
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
135
|
+
|
|
136
|
+
# [1.0.0-alpha.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2021-10-14)
|
|
137
|
+
|
|
138
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
139
|
+
|
|
140
|
+
# [1.0.0-alpha.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2021-10-14)
|
|
141
|
+
|
|
142
|
+
### Bug Fixes
|
|
143
|
+
|
|
144
|
+
- don't ignore built files in npm packages ([7d688db](https://github.com/sciactive/nymphjs/commit/7d688dbec362f1f71fb451a1d0dbcaecc15d99fc))
|
|
145
|
+
|
|
146
|
+
# [1.0.0-alpha.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2021-10-14)
|
|
147
|
+
|
|
148
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
149
|
+
|
|
150
|
+
# [1.0.0-alpha.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2021-10-14)
|
|
151
|
+
|
|
152
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
153
|
+
|
|
154
|
+
# [1.0.0-alpha.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2021-10-14)
|
|
155
|
+
|
|
156
|
+
### Bug Fixes
|
|
157
|
+
|
|
158
|
+
- tilmeld not adding permission checks correctly ([ddeb3d1](https://github.com/sciactive/nymphjs/commit/ddeb3d155af971a89fb1403c34530826448af2b8))
|
|
159
|
+
|
|
160
|
+
# [1.0.0-alpha.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2021-10-13)
|
|
161
|
+
|
|
162
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
163
|
+
|
|
164
|
+
# [1.0.0-alpha.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2021-10-13)
|
|
165
|
+
|
|
166
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
167
|
+
|
|
168
|
+
# [1.0.0-alpha.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2021-10-12)
|
|
169
|
+
|
|
170
|
+
### Bug Fixes
|
|
171
|
+
|
|
172
|
+
- tilmeld permission checks ([ec8c585](https://github.com/sciactive/nymphjs/commit/ec8c5858c8d3d380cfdb76f606c63475d22d7842))
|
|
173
|
+
|
|
174
|
+
# [1.0.0-alpha.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2021-10-12)
|
|
175
|
+
|
|
176
|
+
### Bug Fixes
|
|
177
|
+
|
|
178
|
+
- data protection was using the same array instances ([d456e61](https://github.com/sciactive/nymphjs/commit/d456e61be316b9abe7fb391b232412222e7d748f))
|
|
179
|
+
|
|
6
180
|
# [1.0.0-alpha.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2021-10-12)
|
|
7
181
|
|
|
8
182
|
### Bug Fixes
|
package/dist/Group.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { EntityData, EntityJson, EntityPatch, Options, Selector, SerializedEntit
|
|
|
2
2
|
import type Tilmeld from './Tilmeld';
|
|
3
3
|
import AbleObject from './AbleObject';
|
|
4
4
|
import User, { UserData } from './User';
|
|
5
|
-
export
|
|
5
|
+
export type GroupData = {
|
|
6
6
|
abilities?: string[];
|
|
7
7
|
groupname?: string;
|
|
8
8
|
name?: string;
|
package/dist/Group.js
CHANGED
|
@@ -17,28 +17,6 @@ const lodash_1 = require("lodash");
|
|
|
17
17
|
const AbleObject_1 = __importDefault(require("./AbleObject"));
|
|
18
18
|
const errors_1 = require("./errors");
|
|
19
19
|
class Group extends AbleObject_1.default {
|
|
20
|
-
constructor(guid) {
|
|
21
|
-
super(guid);
|
|
22
|
-
this.$tags = [];
|
|
23
|
-
this.$clientEnabledMethods = [
|
|
24
|
-
'$checkGroupname',
|
|
25
|
-
'$checkEmail',
|
|
26
|
-
'$getAvatar',
|
|
27
|
-
'$getChildren',
|
|
28
|
-
'$getDescendants',
|
|
29
|
-
'$getLevel',
|
|
30
|
-
'$isDescendant',
|
|
31
|
-
];
|
|
32
|
-
this.$privateData = Group.DEFAULT_PRIVATE_DATA;
|
|
33
|
-
this.$allowlistData = Group.DEFAULT_ALLOWLIST_DATA;
|
|
34
|
-
this.$allowlistTags = [];
|
|
35
|
-
this.$skipAcWhenSaving = false;
|
|
36
|
-
if (this.guid == null) {
|
|
37
|
-
this.$data.enabled = true;
|
|
38
|
-
this.$data.abilities = [];
|
|
39
|
-
this.$updateDataProtection();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
20
|
static factory(guid) {
|
|
43
21
|
const _super = Object.create(null, {
|
|
44
22
|
factory: { get: () => super.factory }
|
|
@@ -67,6 +45,28 @@ class Group extends AbleObject_1.default {
|
|
|
67
45
|
static factorySync(guid) {
|
|
68
46
|
return super.factorySync(guid);
|
|
69
47
|
}
|
|
48
|
+
constructor(guid) {
|
|
49
|
+
super(guid);
|
|
50
|
+
this.$tags = [];
|
|
51
|
+
this.$clientEnabledMethods = [
|
|
52
|
+
'$checkGroupname',
|
|
53
|
+
'$checkEmail',
|
|
54
|
+
'$getAvatar',
|
|
55
|
+
'$getChildren',
|
|
56
|
+
'$getDescendants',
|
|
57
|
+
'$getLevel',
|
|
58
|
+
'$isDescendant',
|
|
59
|
+
];
|
|
60
|
+
this.$privateData = [...Group.DEFAULT_PRIVATE_DATA];
|
|
61
|
+
this.$allowlistData = [...Group.DEFAULT_ALLOWLIST_DATA];
|
|
62
|
+
this.$allowlistTags = [];
|
|
63
|
+
this.$skipAcWhenSaving = false;
|
|
64
|
+
if (this.guid == null) {
|
|
65
|
+
this.$data.enabled = true;
|
|
66
|
+
this.$data.abilities = [];
|
|
67
|
+
this.$updateDataProtection();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
70
|
static getPrimaryGroups(options, selectors) {
|
|
71
71
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
72
|
if (!this.tilmeld.gatekeeper('tilmeld/admin')) {
|
|
@@ -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,7 +483,7 @@ 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
|
-
|
|
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
|
}
|
|
@@ -491,6 +491,7 @@ class Group extends AbleObject_1.default {
|
|
|
491
491
|
const nymph = this.$nymph;
|
|
492
492
|
const tnymph = yield nymph.startTransaction(transaction);
|
|
493
493
|
this.$nymph = tnymph;
|
|
494
|
+
tilmeld = this.$nymph.tilmeld;
|
|
494
495
|
const descendants = yield this.$getDescendants();
|
|
495
496
|
if (descendants.length) {
|
|
496
497
|
for (let curGroup of descendants) {
|
|
@@ -551,5 +552,5 @@ Group.clientEnabledStaticMethods = [
|
|
|
551
552
|
'getPrimaryGroups',
|
|
552
553
|
'getSecondaryGroups',
|
|
553
554
|
];
|
|
554
|
-
Group.searchRestrictedData = Group.DEFAULT_PRIVATE_DATA;
|
|
555
|
+
Group.searchRestrictedData = [...Group.DEFAULT_PRIVATE_DATA];
|
|
555
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":"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"}
|
|
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;IAmCtD,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;IAED,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,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAE/C,mBAAc,GAAI,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACpD,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;IASM,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,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAExD,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,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC7C,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,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAGzC,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,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;wBACpB,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,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,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,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;;AAhuBH,wBAiuBC;AA5tBQ,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,CAAC,GAAG,KAAK,CAAC,oBAAoB,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"));
|
|
@@ -103,7 +104,7 @@ class Tilmeld {
|
|
|
103
104
|
entity.$tilmeldDeleteSkipAC()) {
|
|
104
105
|
return;
|
|
105
106
|
}
|
|
106
|
-
if (tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
|
|
107
|
+
if (!tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
|
|
107
108
|
throw new errors_1.AccessControlError('No permission to delete.');
|
|
108
109
|
}
|
|
109
110
|
};
|
|
@@ -116,7 +117,7 @@ class Tilmeld {
|
|
|
116
117
|
};
|
|
117
118
|
checkPermissionsDeleteByID.skipOnClone = true;
|
|
118
119
|
const checkPermissionsSaveAndFilterAcChanges = function (nymph, entity) {
|
|
119
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
120
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
120
121
|
const tilmeld = nymph.tilmeld;
|
|
121
122
|
if (!entity) {
|
|
122
123
|
return;
|
|
@@ -128,14 +129,14 @@ class Tilmeld {
|
|
|
128
129
|
if (entity.guid != null) {
|
|
129
130
|
const originalAc = entity.$getOriginalAcValues();
|
|
130
131
|
const newAc = {
|
|
131
|
-
user: (_a = entity.user) !== null && _a !== void 0 ? _a :
|
|
132
|
-
group: (_b = entity.group) !== null && _b !== void 0 ? _b :
|
|
133
|
-
acUser: (_c = entity.acUser) !== null && _c !== void 0 ? _c :
|
|
134
|
-
acGroup: (_d = entity.acGroup) !== null && _d !== void 0 ? _d :
|
|
135
|
-
acOther: (_e = entity.acOther) !== null && _e !== void 0 ? _e :
|
|
136
|
-
acRead: (_f = entity.acRead) !== null && _f !== void 0 ? _f :
|
|
137
|
-
acWrite: (_g = entity.acWrite) !== null && _g !== void 0 ? _g :
|
|
138
|
-
acFull: (_h = entity.acFull) !== null && _h !== void 0 ? _h :
|
|
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,
|
|
139
140
|
};
|
|
140
141
|
const setAcProperties = (acValues) => {
|
|
141
142
|
for (let name in acValues) {
|
|
@@ -149,7 +150,69 @@ class Tilmeld {
|
|
|
149
150
|
}
|
|
150
151
|
};
|
|
151
152
|
setAcProperties(originalAc);
|
|
152
|
-
|
|
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
|
+
}
|
|
153
216
|
setAcProperties(newAc);
|
|
154
217
|
}
|
|
155
218
|
}
|
|
@@ -266,14 +329,14 @@ class Tilmeld {
|
|
|
266
329
|
((_d = options.class) === null || _d === void 0 ? void 0 : _d.factorySync()) instanceof Group_1.default)) {
|
|
267
330
|
return;
|
|
268
331
|
}
|
|
269
|
-
if (user
|
|
332
|
+
if (user == null || user.guid == null) {
|
|
270
333
|
selectors.push({
|
|
271
334
|
type: '|',
|
|
272
335
|
gte: [['acOther', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
|
|
273
336
|
selector: [
|
|
274
337
|
{
|
|
275
338
|
type: '&',
|
|
276
|
-
'!defined': ['user', 'group'],
|
|
339
|
+
'!defined': [['user', 'group']],
|
|
277
340
|
},
|
|
278
341
|
],
|
|
279
342
|
});
|
|
@@ -282,46 +345,36 @@ class Tilmeld {
|
|
|
282
345
|
const subSelectors = [
|
|
283
346
|
{
|
|
284
347
|
type: '&',
|
|
285
|
-
'!defined': ['user', 'group'],
|
|
348
|
+
'!defined': [['user', 'group']],
|
|
286
349
|
},
|
|
287
350
|
{
|
|
288
351
|
type: '&',
|
|
289
|
-
ref: [['user', user]],
|
|
352
|
+
ref: [['user', user.guid]],
|
|
290
353
|
gte: [['acUser', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
|
|
291
354
|
},
|
|
292
355
|
];
|
|
293
|
-
const selector = {
|
|
294
|
-
type: '|',
|
|
295
|
-
gte: [['acOther', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
|
|
296
|
-
selector: subSelectors,
|
|
297
|
-
ref: [
|
|
298
|
-
['acRead', user],
|
|
299
|
-
['acWrite', user],
|
|
300
|
-
['acFull', user],
|
|
301
|
-
],
|
|
302
|
-
};
|
|
303
356
|
const groupRefs = [];
|
|
304
357
|
const acRefs = [];
|
|
305
358
|
if (user.group != null && user.group.guid != null) {
|
|
306
|
-
groupRefs.push(['group', user.group]);
|
|
307
|
-
acRefs.push(['acRead', user.group]);
|
|
308
|
-
acRefs.push(['acWrite', user.group]);
|
|
309
|
-
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]);
|
|
310
363
|
}
|
|
311
364
|
for (let curSecondaryGroup of (_e = user.groups) !== null && _e !== void 0 ? _e : []) {
|
|
312
365
|
if (curSecondaryGroup != null && curSecondaryGroup.guid != null) {
|
|
313
|
-
groupRefs.push(['group', curSecondaryGroup]);
|
|
314
|
-
acRefs.push(['acRead', curSecondaryGroup]);
|
|
315
|
-
acRefs.push(['acWrite', curSecondaryGroup]);
|
|
316
|
-
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]);
|
|
317
370
|
}
|
|
318
371
|
}
|
|
319
372
|
for (let curDescendantGroup of user.$getDescendantGroupsSync()) {
|
|
320
373
|
if (curDescendantGroup != null && curDescendantGroup.guid != null) {
|
|
321
|
-
groupRefs.push(['group', curDescendantGroup]);
|
|
322
|
-
acRefs.push(['acRead', curDescendantGroup]);
|
|
323
|
-
acRefs.push(['acWrite', curDescendantGroup]);
|
|
324
|
-
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]);
|
|
325
378
|
}
|
|
326
379
|
}
|
|
327
380
|
if (groupRefs.length) {
|
|
@@ -342,6 +395,16 @@ class Tilmeld {
|
|
|
342
395
|
ref: acRefs,
|
|
343
396
|
});
|
|
344
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
|
+
};
|
|
345
408
|
selectors.push(selector);
|
|
346
409
|
}
|
|
347
410
|
}
|