@nymphjs/tilmeld 1.0.0-beta.54 → 1.0.0-beta.56
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 +14 -0
- package/dist/AbleObject.d.ts +15 -0
- package/dist/AbleObject.js +15 -0
- package/dist/AbleObject.js.map +1 -1
- package/dist/Group.d.ts +116 -0
- package/dist/Group.js +98 -0
- package/dist/Group.js.map +1 -1
- package/dist/Group.test.js +1 -0
- package/dist/Group.test.js.map +1 -1
- package/dist/Tilmeld.d.ts +226 -1
- package/dist/Tilmeld.js +304 -13
- package/dist/Tilmeld.js.map +1 -1
- package/dist/User.d.ts +265 -0
- package/dist/User.js +232 -0
- package/dist/User.js.map +1 -1
- package/dist/User.test.js +1 -0
- package/dist/User.test.js.map +1 -1
- package/dist/conf/d.d.ts +244 -0
- package/dist/conf/defaults.js +6 -3
- package/dist/conf/defaults.js.map +1 -1
- package/dist/errors/AccessControlError.d.ts +2 -1
- package/dist/errors/AccessControlError.js +3 -2
- package/dist/errors/AccessControlError.js.map +1 -1
- package/dist/errors/BadDataError.d.ts +2 -1
- package/dist/errors/BadDataError.js +3 -2
- package/dist/errors/BadDataError.js.map +1 -1
- package/dist/errors/BadEmailError.d.ts +2 -1
- package/dist/errors/BadEmailError.js +3 -2
- package/dist/errors/BadEmailError.js.map +1 -1
- package/dist/errors/BadUsernameError.d.ts +2 -1
- package/dist/errors/BadUsernameError.js +3 -2
- package/dist/errors/BadUsernameError.js.map +1 -1
- package/package.json +8 -7
- package/src/Tilmeld.ts +7 -3
- package/src/errors/AccessControlError.ts +4 -2
- package/src/errors/BadDataError.ts +4 -2
- package/src/errors/BadEmailError.ts +4 -2
- package/src/errors/BadUsernameError.ts +4 -2
- package/tsconfig.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
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.56](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.55...v1.0.0-beta.56) (2024-06-11)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- use HttpError in tilmeld ([13893d5](https://github.com/sciactive/nymphjs/commit/13893d5b27f8540c1ed6a8d75a39ce6e0c638b93))
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- allow connections where tokens are not renewed ([39071a5](https://github.com/sciactive/nymphjs/commit/39071a545644075190bd8213be25e0a0c46d2b5d))
|
|
15
|
+
|
|
16
|
+
# [1.0.0-beta.55](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.54...v1.0.0-beta.55) (2024-05-26)
|
|
17
|
+
|
|
18
|
+
**Note:** Version bump only for package @nymphjs/tilmeld
|
|
19
|
+
|
|
6
20
|
# [1.0.0-beta.54](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.53...v1.0.0-beta.54) (2024-05-26)
|
|
7
21
|
|
|
8
22
|
**Note:** Version bump only for package @nymphjs/tilmeld
|
package/dist/AbleObject.d.ts
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import { Entity } from '@nymphjs/nymph';
|
|
2
|
+
/**
|
|
3
|
+
* AbleObject abstract class.
|
|
4
|
+
*
|
|
5
|
+
* Used in entities which support abilities, such as users and groups.
|
|
6
|
+
*/
|
|
2
7
|
export default abstract class AbleObject<T extends {
|
|
3
8
|
abilities?: string[];
|
|
4
9
|
}> extends Entity<T> {
|
|
10
|
+
/**
|
|
11
|
+
* Grant an ability.
|
|
12
|
+
*
|
|
13
|
+
* @param ability The ability.
|
|
14
|
+
*/
|
|
5
15
|
$grant(ability: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* Revoke an ability.
|
|
18
|
+
*
|
|
19
|
+
* @param ability The ability.
|
|
20
|
+
*/
|
|
6
21
|
$revoke(ability: string): void;
|
|
7
22
|
}
|
package/dist/AbleObject.js
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const nymph_1 = require("@nymphjs/nymph");
|
|
4
|
+
/**
|
|
5
|
+
* AbleObject abstract class.
|
|
6
|
+
*
|
|
7
|
+
* Used in entities which support abilities, such as users and groups.
|
|
8
|
+
*/
|
|
4
9
|
class AbleObject extends nymph_1.Entity {
|
|
10
|
+
/**
|
|
11
|
+
* Grant an ability.
|
|
12
|
+
*
|
|
13
|
+
* @param ability The ability.
|
|
14
|
+
*/
|
|
5
15
|
$grant(ability) {
|
|
6
16
|
if (!Array.isArray(this.$data.abilities)) {
|
|
7
17
|
this.$data.abilities = [];
|
|
@@ -10,6 +20,11 @@ class AbleObject extends nymph_1.Entity {
|
|
|
10
20
|
this.$data.abilities.push(ability);
|
|
11
21
|
}
|
|
12
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Revoke an ability.
|
|
25
|
+
*
|
|
26
|
+
* @param ability The ability.
|
|
27
|
+
*/
|
|
13
28
|
$revoke(ability) {
|
|
14
29
|
if (!Array.isArray(this.$data.abilities)) {
|
|
15
30
|
this.$data.abilities = [];
|
package/dist/AbleObject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbleObject.js","sourceRoot":"","sources":["../src/AbleObject.ts"],"names":[],"mappings":";;AAAA,0CAAwC;
|
|
1
|
+
{"version":3,"file":"AbleObject.js","sourceRoot":"","sources":["../src/AbleObject.ts"],"names":[],"mappings":";;AAAA,0CAAwC;AAExC;;;;GAIG;AACH,MAA8B,UAE5B,SAAQ,cAAS;IACjB;;;;OAIG;IACI,MAAM,CAAC,OAAe;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,OAAO,CAAC,OAAe;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,GAAW,CAAC;QAChB,GAAG,CAAC;YACF,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,EAAE;IACvB,CAAC;CACF;AAlCD,6BAkCC"}
|
package/dist/Group.d.ts
CHANGED
|
@@ -2,20 +2,68 @@ import { EntityData, EntityJson, EntityPatch, Options, Selector, SerializedEntit
|
|
|
2
2
|
import AbleObject from './AbleObject';
|
|
3
3
|
import User, { UserData } from './User';
|
|
4
4
|
export type GroupData = {
|
|
5
|
+
/**
|
|
6
|
+
* The abilities granted to the group.
|
|
7
|
+
*/
|
|
5
8
|
abilities?: string[];
|
|
9
|
+
/**
|
|
10
|
+
* The group's groupname.
|
|
11
|
+
*/
|
|
6
12
|
groupname?: string;
|
|
13
|
+
/**
|
|
14
|
+
* The group's name.
|
|
15
|
+
*/
|
|
7
16
|
name?: string;
|
|
17
|
+
/**
|
|
18
|
+
* The group's email address.
|
|
19
|
+
*/
|
|
8
20
|
email?: string;
|
|
21
|
+
/**
|
|
22
|
+
* The group's avatar URL. (Use getAvatar() to support Gravatar.)
|
|
23
|
+
*/
|
|
9
24
|
avatar?: string;
|
|
25
|
+
/**
|
|
26
|
+
* The group's telephone number.
|
|
27
|
+
*/
|
|
10
28
|
phone?: string;
|
|
29
|
+
/**
|
|
30
|
+
* The group's parent.
|
|
31
|
+
*/
|
|
11
32
|
parent?: Group & GroupData;
|
|
33
|
+
/**
|
|
34
|
+
* If generatePrimary is on, this will be the user who generated this group.
|
|
35
|
+
*/
|
|
12
36
|
user?: (User & UserData) | null;
|
|
37
|
+
/**
|
|
38
|
+
* Whether the group can be used.
|
|
39
|
+
*/
|
|
13
40
|
enabled?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Whether this group is the default primary group for new users.
|
|
43
|
+
*/
|
|
14
44
|
defaultPrimary?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Whether this group is a default secondary group for new users.
|
|
47
|
+
*/
|
|
15
48
|
defaultSecondary?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Whether this group is a default secondary group for unverified users.
|
|
51
|
+
*/
|
|
16
52
|
unverifiedSecondary?: boolean;
|
|
17
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* A user group data model.
|
|
56
|
+
*
|
|
57
|
+
* Written by Hunter Perrin for SciActive.
|
|
58
|
+
*
|
|
59
|
+
* @author Hunter Perrin <hperrin@gmail.com>
|
|
60
|
+
* @copyright SciActive Inc
|
|
61
|
+
* @see http://nymph.io/
|
|
62
|
+
*/
|
|
18
63
|
export default class Group extends AbleObject<GroupData> {
|
|
64
|
+
/**
|
|
65
|
+
* The instance of Tilmeld to use for queries.
|
|
66
|
+
*/
|
|
19
67
|
static ETYPE: string;
|
|
20
68
|
static class: string;
|
|
21
69
|
private static DEFAULT_PRIVATE_DATA;
|
|
@@ -27,28 +75,96 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
27
75
|
static searchRestrictedData: string[];
|
|
28
76
|
protected $allowlistData?: string[] | undefined;
|
|
29
77
|
protected $allowlistTags?: string[];
|
|
78
|
+
/**
|
|
79
|
+
* This is explicitly used only during the registration proccess.
|
|
80
|
+
*/
|
|
30
81
|
private $skipAcWhenSaving;
|
|
31
82
|
static factory(guid?: string): Promise<Group & GroupData>;
|
|
32
83
|
static factoryGroupname(groupname?: string): Promise<Group & GroupData>;
|
|
33
84
|
static factorySync(): Group & GroupData;
|
|
34
85
|
constructor();
|
|
86
|
+
/**
|
|
87
|
+
* Get all the groups that can be assigned as primary groups.
|
|
88
|
+
*
|
|
89
|
+
* @param options The options for an optional search query.
|
|
90
|
+
* @param selectors The selectors for an optional search query.
|
|
91
|
+
* @returns An array of the assignable primary groups.
|
|
92
|
+
*/
|
|
35
93
|
static getPrimaryGroups(options?: Options, selectors?: Selector[]): Promise<(Group & GroupData)[]>;
|
|
94
|
+
/**
|
|
95
|
+
* Get all the groups that can be assigned as secondary groups.
|
|
96
|
+
*
|
|
97
|
+
* @param options The options for an optional search query.
|
|
98
|
+
* @param selectors The selectors for an optional search query.
|
|
99
|
+
* @returns An array of the assignable secondary groups.
|
|
100
|
+
*/
|
|
36
101
|
static getSecondaryGroups(options?: Options, selectors?: Selector[]): Promise<(Group & GroupData)[]>;
|
|
37
102
|
private static getAssignableGroups;
|
|
38
103
|
$getAvatar(): string;
|
|
39
104
|
$jsonAcceptData(input: EntityJson, allowConflict?: boolean): void;
|
|
40
105
|
$jsonAcceptPatch(patch: EntityPatch, allowConflict?: boolean): void;
|
|
41
106
|
$putData(data: EntityData, sdata?: SerializedEntityData): void;
|
|
107
|
+
/**
|
|
108
|
+
* Update the data protection arrays for a user.
|
|
109
|
+
*
|
|
110
|
+
* @param givenUser User to update protection for. If undefined, will use the currently logged in user.
|
|
111
|
+
*/
|
|
42
112
|
$updateDataProtection(givenUser?: User & UserData): void;
|
|
113
|
+
/**
|
|
114
|
+
* Check whether the group is a descendant of a group.
|
|
115
|
+
*
|
|
116
|
+
* @param group The group, or the group's GUID.
|
|
117
|
+
* @returns True or false.
|
|
118
|
+
*/
|
|
43
119
|
$isDescendant(givenGroup: (Group & GroupData) | string): Promise<boolean>;
|
|
120
|
+
/**
|
|
121
|
+
* Gets an array of the group's child groups.
|
|
122
|
+
*
|
|
123
|
+
* @returns An array of groups.
|
|
124
|
+
*/
|
|
44
125
|
$getChildren(): Promise<(Group & GroupData)[]>;
|
|
126
|
+
/**
|
|
127
|
+
* Gets an array of the group's descendant groups.
|
|
128
|
+
*
|
|
129
|
+
* @param andSelf Include this group in the returned array.
|
|
130
|
+
* @returns An array of groups.
|
|
131
|
+
*/
|
|
45
132
|
$getDescendants(andSelf?: boolean): Promise<(Group & GroupData)[]>;
|
|
133
|
+
/**
|
|
134
|
+
* Get the number of parents the group has.
|
|
135
|
+
*
|
|
136
|
+
* If the group is a top level group, this will return 0. If it is a child of
|
|
137
|
+
* a top level group, this will return 1. If it is a grandchild of a top level
|
|
138
|
+
* group, this will return 2, and so on.
|
|
139
|
+
*
|
|
140
|
+
* Levels will max out at 1024 to avoid recursive loops.
|
|
141
|
+
*
|
|
142
|
+
* @returns The level of the group.
|
|
143
|
+
*/
|
|
46
144
|
$getLevel(): Promise<number>;
|
|
145
|
+
/**
|
|
146
|
+
* Gets an array of users in the group.
|
|
147
|
+
*
|
|
148
|
+
* @param descendants Include users in all descendant groups too.
|
|
149
|
+
* @param limit The limit for the query.
|
|
150
|
+
* @param offset The offset for the query.
|
|
151
|
+
* @returns An array of users.
|
|
152
|
+
*/
|
|
47
153
|
$getUsers(descendants?: boolean, limit?: number, offset?: number): Promise<(User & UserData)[]>;
|
|
154
|
+
/**
|
|
155
|
+
* Check that a groupname is valid.
|
|
156
|
+
*
|
|
157
|
+
* @returns An object with a boolean 'result' entry and a 'message' entry.
|
|
158
|
+
*/
|
|
48
159
|
$checkGroupname(): Promise<{
|
|
49
160
|
result: boolean;
|
|
50
161
|
message: string;
|
|
51
162
|
}>;
|
|
163
|
+
/**
|
|
164
|
+
* Check that an email is unique.
|
|
165
|
+
*
|
|
166
|
+
* @returns An object with a boolean 'result' entry and a 'message' entry.
|
|
167
|
+
*/
|
|
52
168
|
$checkEmail(): Promise<{
|
|
53
169
|
result: boolean;
|
|
54
170
|
message: string;
|
package/dist/Group.js
CHANGED
|
@@ -8,6 +8,15 @@ const lodash_1 = require("lodash");
|
|
|
8
8
|
const enforceTilmeld_1 = require("./enforceTilmeld");
|
|
9
9
|
const AbleObject_1 = __importDefault(require("./AbleObject"));
|
|
10
10
|
const errors_1 = require("./errors");
|
|
11
|
+
/**
|
|
12
|
+
* A user group data model.
|
|
13
|
+
*
|
|
14
|
+
* Written by Hunter Perrin for SciActive.
|
|
15
|
+
*
|
|
16
|
+
* @author Hunter Perrin <hperrin@gmail.com>
|
|
17
|
+
* @copyright SciActive Inc
|
|
18
|
+
* @see http://nymph.io/
|
|
19
|
+
*/
|
|
11
20
|
class Group extends AbleObject_1.default {
|
|
12
21
|
static async factory(guid) {
|
|
13
22
|
return (await super.factory(guid));
|
|
@@ -45,11 +54,22 @@ class Group extends AbleObject_1.default {
|
|
|
45
54
|
this.$privateData = [...Group.DEFAULT_PRIVATE_DATA];
|
|
46
55
|
this.$allowlistData = [...Group.DEFAULT_ALLOWLIST_DATA];
|
|
47
56
|
this.$allowlistTags = [];
|
|
57
|
+
/**
|
|
58
|
+
* This is explicitly used only during the registration proccess.
|
|
59
|
+
*/
|
|
48
60
|
this.$skipAcWhenSaving = false;
|
|
61
|
+
// Defaults.
|
|
49
62
|
this.$data.enabled = true;
|
|
50
63
|
this.$data.abilities = [];
|
|
51
64
|
this.$updateDataProtection();
|
|
52
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Get all the groups that can be assigned as primary groups.
|
|
68
|
+
*
|
|
69
|
+
* @param options The options for an optional search query.
|
|
70
|
+
* @param selectors The selectors for an optional search query.
|
|
71
|
+
* @returns An array of the assignable primary groups.
|
|
72
|
+
*/
|
|
53
73
|
static async getPrimaryGroups(options, selectors) {
|
|
54
74
|
const tilmeld = (0, enforceTilmeld_1.enforceTilmeld)(this);
|
|
55
75
|
if (!tilmeld.gatekeeper('tilmeld/admin')) {
|
|
@@ -57,6 +77,13 @@ class Group extends AbleObject_1.default {
|
|
|
57
77
|
}
|
|
58
78
|
return await this.getAssignableGroups(tilmeld.config.highestPrimary, { ...options, class: tilmeld.Group, return: 'entity' }, [...(selectors ?? [])]);
|
|
59
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Get all the groups that can be assigned as secondary groups.
|
|
82
|
+
*
|
|
83
|
+
* @param options The options for an optional search query.
|
|
84
|
+
* @param selectors The selectors for an optional search query.
|
|
85
|
+
* @returns An array of the assignable secondary groups.
|
|
86
|
+
*/
|
|
60
87
|
static async getSecondaryGroups(options, selectors) {
|
|
61
88
|
const tilmeld = (0, enforceTilmeld_1.enforceTilmeld)(this);
|
|
62
89
|
if (!tilmeld.gatekeeper('tilmeld/admin')) {
|
|
@@ -156,6 +183,11 @@ class Group extends AbleObject_1.default {
|
|
|
156
183
|
super.$putData(data, sdata);
|
|
157
184
|
this.$updateDataProtection();
|
|
158
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Update the data protection arrays for a user.
|
|
188
|
+
*
|
|
189
|
+
* @param givenUser User to update protection for. If undefined, will use the currently logged in user.
|
|
190
|
+
*/
|
|
159
191
|
$updateDataProtection(givenUser) {
|
|
160
192
|
const tilmeld = (0, enforceTilmeld_1.enforceTilmeld)(this);
|
|
161
193
|
let user = givenUser ?? tilmeld.User.current();
|
|
@@ -167,15 +199,23 @@ class Group extends AbleObject_1.default {
|
|
|
167
199
|
if (user != null &&
|
|
168
200
|
(user.abilities?.includes('tilmeld/admin') ||
|
|
169
201
|
user.abilities?.includes('system/admin'))) {
|
|
202
|
+
// Users who can edit groups can see their data.
|
|
170
203
|
this.$privateData = [];
|
|
171
204
|
this.$allowlistData = undefined;
|
|
172
205
|
}
|
|
173
206
|
else if (this.$data.user != null &&
|
|
174
207
|
user != null &&
|
|
175
208
|
this.$data.user.guid === user.guid) {
|
|
209
|
+
// Users can see their group's data.
|
|
176
210
|
this.$privateData = [];
|
|
177
211
|
}
|
|
178
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* Check whether the group is a descendant of a group.
|
|
215
|
+
*
|
|
216
|
+
* @param group The group, or the group's GUID.
|
|
217
|
+
* @returns True or false.
|
|
218
|
+
*/
|
|
179
219
|
async $isDescendant(givenGroup) {
|
|
180
220
|
const tilmeld = (0, enforceTilmeld_1.enforceTilmeld)(this);
|
|
181
221
|
let group;
|
|
@@ -188,6 +228,7 @@ class Group extends AbleObject_1.default {
|
|
|
188
228
|
if (group.guid == null) {
|
|
189
229
|
return false;
|
|
190
230
|
}
|
|
231
|
+
// Check to see if the group is a descendant of the given group.
|
|
191
232
|
const parent = this.$data.parent;
|
|
192
233
|
await parent?.$wake();
|
|
193
234
|
if (parent == null) {
|
|
@@ -201,6 +242,11 @@ class Group extends AbleObject_1.default {
|
|
|
201
242
|
}
|
|
202
243
|
return false;
|
|
203
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* Gets an array of the group's child groups.
|
|
247
|
+
*
|
|
248
|
+
* @returns An array of groups.
|
|
249
|
+
*/
|
|
204
250
|
async $getChildren() {
|
|
205
251
|
const tilmeld = (0, enforceTilmeld_1.enforceTilmeld)(this);
|
|
206
252
|
return await this.$nymph.getEntities({ class: tilmeld.Group }, {
|
|
@@ -209,6 +255,12 @@ class Group extends AbleObject_1.default {
|
|
|
209
255
|
ref: ['parent', this],
|
|
210
256
|
});
|
|
211
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Gets an array of the group's descendant groups.
|
|
260
|
+
*
|
|
261
|
+
* @param andSelf Include this group in the returned array.
|
|
262
|
+
* @returns An array of groups.
|
|
263
|
+
*/
|
|
212
264
|
async $getDescendants(andSelf = false) {
|
|
213
265
|
const tilmeld = (0, enforceTilmeld_1.enforceTilmeld)(this);
|
|
214
266
|
let groups = [];
|
|
@@ -225,6 +277,17 @@ class Group extends AbleObject_1.default {
|
|
|
225
277
|
}
|
|
226
278
|
return groups;
|
|
227
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* Get the number of parents the group has.
|
|
282
|
+
*
|
|
283
|
+
* If the group is a top level group, this will return 0. If it is a child of
|
|
284
|
+
* a top level group, this will return 1. If it is a grandchild of a top level
|
|
285
|
+
* group, this will return 2, and so on.
|
|
286
|
+
*
|
|
287
|
+
* Levels will max out at 1024 to avoid recursive loops.
|
|
288
|
+
*
|
|
289
|
+
* @returns The level of the group.
|
|
290
|
+
*/
|
|
228
291
|
async $getLevel() {
|
|
229
292
|
const tilmeld = (0, enforceTilmeld_1.enforceTilmeld)(this);
|
|
230
293
|
let group = await tilmeld.Group.factory(this.guid ?? undefined);
|
|
@@ -239,6 +302,14 @@ class Group extends AbleObject_1.default {
|
|
|
239
302
|
}
|
|
240
303
|
return level;
|
|
241
304
|
}
|
|
305
|
+
/**
|
|
306
|
+
* Gets an array of users in the group.
|
|
307
|
+
*
|
|
308
|
+
* @param descendants Include users in all descendant groups too.
|
|
309
|
+
* @param limit The limit for the query.
|
|
310
|
+
* @param offset The offset for the query.
|
|
311
|
+
* @returns An array of users.
|
|
312
|
+
*/
|
|
242
313
|
async $getUsers(descendants = false, limit, offset) {
|
|
243
314
|
const tilmeld = (0, enforceTilmeld_1.enforceTilmeld)(this);
|
|
244
315
|
let groups = [];
|
|
@@ -268,6 +339,11 @@ class Group extends AbleObject_1.default {
|
|
|
268
339
|
],
|
|
269
340
|
});
|
|
270
341
|
}
|
|
342
|
+
/**
|
|
343
|
+
* Check that a groupname is valid.
|
|
344
|
+
*
|
|
345
|
+
* @returns An object with a boolean 'result' entry and a 'message' entry.
|
|
346
|
+
*/
|
|
271
347
|
async $checkGroupname() {
|
|
272
348
|
const tilmeld = (0, enforceTilmeld_1.enforceTilmeld)(this);
|
|
273
349
|
if (!tilmeld.config.emailUsernames) {
|
|
@@ -345,6 +421,11 @@ class Group extends AbleObject_1.default {
|
|
|
345
421
|
return await this.$checkEmail();
|
|
346
422
|
}
|
|
347
423
|
}
|
|
424
|
+
/**
|
|
425
|
+
* Check that an email is unique.
|
|
426
|
+
*
|
|
427
|
+
* @returns An object with a boolean 'result' entry and a 'message' entry.
|
|
428
|
+
*/
|
|
348
429
|
async $checkEmail() {
|
|
349
430
|
const tilmeld = (0, enforceTilmeld_1.enforceTilmeld)(this);
|
|
350
431
|
if (this.$data.email === '') {
|
|
@@ -383,6 +464,7 @@ class Group extends AbleObject_1.default {
|
|
|
383
464
|
if (this.$data.groupname == null || !this.$data.groupname.trim().length) {
|
|
384
465
|
return false;
|
|
385
466
|
}
|
|
467
|
+
// Formatting.
|
|
386
468
|
this.$data.groupname = this.$data.groupname.trim();
|
|
387
469
|
if (tilmeld.config.emailUsernames) {
|
|
388
470
|
this.$data.email = this.$data.groupname;
|
|
@@ -391,6 +473,7 @@ class Group extends AbleObject_1.default {
|
|
|
391
473
|
this.$data.name = (this.$data.name ?? '').trim();
|
|
392
474
|
this.$data.phone = (this.$data.phone ?? '').trim();
|
|
393
475
|
this.$data.enabled = !!this.$data.enabled;
|
|
476
|
+
// Clear empty values.
|
|
394
477
|
if (this.$data.name === '' || !tilmeld.config.userFields.includes('name')) {
|
|
395
478
|
delete this.$data.name;
|
|
396
479
|
}
|
|
@@ -420,6 +503,8 @@ class Group extends AbleObject_1.default {
|
|
|
420
503
|
if (!this.$data.unverifiedSecondary) {
|
|
421
504
|
delete this.$data.unverifiedSecondary;
|
|
422
505
|
}
|
|
506
|
+
// Groups should never have 'system/admin', 'tilmeld/admin', or
|
|
507
|
+
// 'tilmeld/switch' abilities.
|
|
423
508
|
this.$data.abilities = (0, lodash_1.difference)(this.$data.abilities ?? [], [
|
|
424
509
|
'system/admin',
|
|
425
510
|
'tilmeld/admin',
|
|
@@ -427,6 +512,7 @@ class Group extends AbleObject_1.default {
|
|
|
427
512
|
null,
|
|
428
513
|
undefined,
|
|
429
514
|
]);
|
|
515
|
+
// Verification.
|
|
430
516
|
const unCheck = await this.$checkGroupname();
|
|
431
517
|
if (!unCheck.result) {
|
|
432
518
|
throw new errors_1.BadUsernameError(unCheck.message);
|
|
@@ -438,6 +524,7 @@ class Group extends AbleObject_1.default {
|
|
|
438
524
|
throw new errors_1.BadEmailError(emCheck.message);
|
|
439
525
|
}
|
|
440
526
|
}
|
|
527
|
+
// Validate group parent. Make sure it's not a descendant of this group.
|
|
441
528
|
const parent = this.$data.parent;
|
|
442
529
|
await parent?.$wake();
|
|
443
530
|
if (parent &&
|
|
@@ -452,6 +539,7 @@ class Group extends AbleObject_1.default {
|
|
|
452
539
|
catch (e) {
|
|
453
540
|
throw new errors_1.BadDataError(e?.message);
|
|
454
541
|
}
|
|
542
|
+
// Only one default primary group is allowed.
|
|
455
543
|
if (this.$data.defaultPrimary) {
|
|
456
544
|
const currentPrimary = await this.$nymph.getEntity({ class: tilmeld.Group }, { type: '&', truthy: 'defaultPrimary' });
|
|
457
545
|
if (currentPrimary != null && !this.$is(currentPrimary)) {
|
|
@@ -464,6 +552,9 @@ class Group extends AbleObject_1.default {
|
|
|
464
552
|
}
|
|
465
553
|
return await super.$save();
|
|
466
554
|
}
|
|
555
|
+
/*
|
|
556
|
+
* This should *never* be accessible on the client.
|
|
557
|
+
*/
|
|
467
558
|
async $saveSkipAC() {
|
|
468
559
|
this.$skipAcWhenSaving = true;
|
|
469
560
|
return await this.$save();
|
|
@@ -485,6 +576,7 @@ class Group extends AbleObject_1.default {
|
|
|
485
576
|
const tnymph = await nymph.startTransaction(transaction);
|
|
486
577
|
this.$nymph = tnymph;
|
|
487
578
|
tilmeld = (0, enforceTilmeld_1.enforceTilmeld)(this);
|
|
579
|
+
// Delete descendants.
|
|
488
580
|
const descendants = await this.$getDescendants();
|
|
489
581
|
if (descendants.length) {
|
|
490
582
|
for (let curGroup of descendants) {
|
|
@@ -495,6 +587,7 @@ class Group extends AbleObject_1.default {
|
|
|
495
587
|
}
|
|
496
588
|
}
|
|
497
589
|
}
|
|
590
|
+
// Remove users from this primary group.
|
|
498
591
|
const primaryUsers = await tnymph.getEntities({
|
|
499
592
|
class: tilmeld.User,
|
|
500
593
|
skipAc: true,
|
|
@@ -510,6 +603,7 @@ class Group extends AbleObject_1.default {
|
|
|
510
603
|
return false;
|
|
511
604
|
}
|
|
512
605
|
}
|
|
606
|
+
// Remove users from this secondary group.
|
|
513
607
|
const secondaryUsers = await tnymph.getEntities({
|
|
514
608
|
class: tilmeld.User,
|
|
515
609
|
skipAc: true,
|
|
@@ -524,6 +618,7 @@ class Group extends AbleObject_1.default {
|
|
|
524
618
|
return false;
|
|
525
619
|
}
|
|
526
620
|
}
|
|
621
|
+
// Delete the group.
|
|
527
622
|
const success = await super.$delete();
|
|
528
623
|
if (success) {
|
|
529
624
|
await tnymph.commit(transaction);
|
|
@@ -535,6 +630,9 @@ class Group extends AbleObject_1.default {
|
|
|
535
630
|
return success;
|
|
536
631
|
}
|
|
537
632
|
}
|
|
633
|
+
/**
|
|
634
|
+
* The instance of Tilmeld to use for queries.
|
|
635
|
+
*/
|
|
538
636
|
Group.ETYPE = 'tilmeld_group';
|
|
539
637
|
Group.class = 'Group';
|
|
540
638
|
Group.DEFAULT_PRIVATE_DATA = ['email', 'phone', 'abilities', 'user'];
|
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":"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"}
|
package/dist/Group.test.js
CHANGED
|
@@ -39,6 +39,7 @@ describe('Group', () => {
|
|
|
39
39
|
});
|
|
40
40
|
it("doesn't allow unknown keys", async () => {
|
|
41
41
|
const invalidGroup = await makeNewGroup();
|
|
42
|
+
// @ts-ignore: testing unknown keys
|
|
42
43
|
invalidGroup.unknown = 'I should cause an error.';
|
|
43
44
|
expect(() => {
|
|
44
45
|
defaults_1.default.validatorGroup({ config: defaults_1.default }, invalidGroup);
|
package/dist/Group.test.js.map
CHANGED
|
@@ -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,KAAK,UAAU,YAAY;QACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAEvC,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC;QACjC,QAAQ,CAAC,KAAK,GAAG,oBAAoB,CAAC;QACtC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;QAE5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE,CAAC;QAExC,MAAM,CAAC,GAAG,EAAE;YACV,kBAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,kBAAQ,EAAa,EAAE,UAAU,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,YAAY,GAAG,MAAM,YAAY,EAAE,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,KAAK,UAAU,YAAY;QACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAEvC,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC;QACjC,QAAQ,CAAC,KAAK,GAAG,oBAAoB,CAAC;QACtC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;QAE5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE,CAAC;QAExC,MAAM,CAAC,GAAG,EAAE;YACV,kBAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,kBAAQ,EAAa,EAAE,UAAU,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,YAAY,GAAG,MAAM,YAAY,EAAE,CAAC;QAE1C,mCAAmC;QACnC,YAAY,CAAC,OAAO,GAAG,0BAA0B,CAAC;QAElD,MAAM,CAAC,GAAG,EAAE;YACV,kBAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,kBAAQ,EAAa,EAAE,YAAY,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|