@nymphjs/tilmeld 1.0.0-beta.40 → 1.0.0-beta.41
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 +7 -0
- package/dist/Group.d.ts +4 -5
- package/dist/Group.js +57 -62
- package/dist/Group.js.map +1 -1
- package/dist/Tilmeld.d.ts +7 -9
- package/dist/Tilmeld.js +71 -121
- package/dist/Tilmeld.js.map +1 -1
- package/dist/User.d.ts +10 -8
- package/dist/User.js +94 -66
- package/dist/User.js.map +1 -1
- package/package.json +8 -8
- package/src/Group.ts +67 -77
- package/src/Tilmeld.ts +83 -155
- package/src/User.ts +97 -76
package/dist/Tilmeld.js
CHANGED
|
@@ -19,7 +19,6 @@ class Tilmeld {
|
|
|
19
19
|
this.Group = Group_1.default;
|
|
20
20
|
this.request = null;
|
|
21
21
|
this.response = null;
|
|
22
|
-
this.skipAuthenticate = false;
|
|
23
22
|
this.alreadyLoggedOutSwitch = false;
|
|
24
23
|
this.config = { ...conf_1.ConfigDefaults, ...config };
|
|
25
24
|
}
|
|
@@ -28,7 +27,6 @@ class Tilmeld {
|
|
|
28
27
|
tilmeld.request = this.request;
|
|
29
28
|
tilmeld.response = this.response;
|
|
30
29
|
tilmeld.currentUser = this.currentUser;
|
|
31
|
-
tilmeld.skipAuthenticate = true;
|
|
32
30
|
return tilmeld;
|
|
33
31
|
}
|
|
34
32
|
init(nymph) {
|
|
@@ -60,16 +58,12 @@ class Tilmeld {
|
|
|
60
58
|
this.fillSession(user);
|
|
61
59
|
}
|
|
62
60
|
this.initAccessControl();
|
|
63
|
-
if (this.request != null && !this.skipAuthenticate) {
|
|
64
|
-
this.authenticate();
|
|
65
|
-
}
|
|
66
|
-
this.skipAuthenticate = false;
|
|
67
61
|
}
|
|
68
|
-
gatekeeper(ability) {
|
|
62
|
+
async gatekeeper(ability) {
|
|
69
63
|
if (this.currentUser == null) {
|
|
70
64
|
return false;
|
|
71
65
|
}
|
|
72
|
-
return this.currentUser.$gatekeeper(ability);
|
|
66
|
+
return await this.currentUser.$gatekeeper(ability);
|
|
73
67
|
}
|
|
74
68
|
initAccessControl() {
|
|
75
69
|
const handleQuery = function (nymph, options, selectors) {
|
|
@@ -79,7 +73,9 @@ class Tilmeld {
|
|
|
79
73
|
!options.skipAc ||
|
|
80
74
|
options.source === 'client') {
|
|
81
75
|
if (options?.source === 'client') {
|
|
82
|
-
if (!tilmeld.
|
|
76
|
+
if ((!tilmeld.currentUser ||
|
|
77
|
+
(!tilmeld.currentUser.abilities?.includes('tilmeld/admin') &&
|
|
78
|
+
!tilmeld.currentUser.abilities?.includes('system/admin'))) &&
|
|
83
79
|
((!tilmeld.config.enableUserSearch &&
|
|
84
80
|
options.class?.factorySync() instanceof User_1.default) ||
|
|
85
81
|
(!tilmeld.config.enableGroupSearch &&
|
|
@@ -112,7 +108,7 @@ class Tilmeld {
|
|
|
112
108
|
};
|
|
113
109
|
checkPermissionsDelete.skipOnClone = true;
|
|
114
110
|
const checkPermissionsDeleteByID = async function (nymph, guid, className) {
|
|
115
|
-
const entity = nymph.
|
|
111
|
+
const entity = await nymph.getEntity({ class: nymph.getEntityClass(className ?? 'Entity') }, { type: '&', guid: guid });
|
|
116
112
|
if (entity != null) {
|
|
117
113
|
checkPermissionsDelete(nymph, entity);
|
|
118
114
|
}
|
|
@@ -129,28 +125,7 @@ class Tilmeld {
|
|
|
129
125
|
}
|
|
130
126
|
if (entity.guid != null) {
|
|
131
127
|
const originalAc = entity.$getOriginalAcValues();
|
|
132
|
-
const newAc =
|
|
133
|
-
user: entity.user ?? undefined,
|
|
134
|
-
group: entity.group ?? undefined,
|
|
135
|
-
acUser: entity.acUser ?? undefined,
|
|
136
|
-
acGroup: entity.acGroup ?? undefined,
|
|
137
|
-
acOther: entity.acOther ?? undefined,
|
|
138
|
-
acRead: entity.acRead ?? undefined,
|
|
139
|
-
acWrite: entity.acWrite ?? undefined,
|
|
140
|
-
acFull: entity.acFull ?? undefined,
|
|
141
|
-
};
|
|
142
|
-
const setAcProperties = (acValues) => {
|
|
143
|
-
for (let name in acValues) {
|
|
144
|
-
const value = acValues[name];
|
|
145
|
-
if (value == null) {
|
|
146
|
-
delete entity[name];
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
entity[name] = value;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
setAcProperties(originalAc);
|
|
128
|
+
const newAc = entity.$getCurrentAcValues();
|
|
154
129
|
function areAcPropertiesChanged(a, b) {
|
|
155
130
|
for (const name of ['user', 'group']) {
|
|
156
131
|
const aVal = a[name];
|
|
@@ -161,7 +136,7 @@ class Tilmeld {
|
|
|
161
136
|
else if (aVal == null || bVal == null) {
|
|
162
137
|
return true;
|
|
163
138
|
}
|
|
164
|
-
if (
|
|
139
|
+
if (aVal !== bVal) {
|
|
165
140
|
return true;
|
|
166
141
|
}
|
|
167
142
|
}
|
|
@@ -190,29 +165,29 @@ class Tilmeld {
|
|
|
190
165
|
if (aVal.length !== bVal.length) {
|
|
191
166
|
return true;
|
|
192
167
|
}
|
|
193
|
-
if ((0, lodash_1.xor)(aVal
|
|
168
|
+
if ((0, lodash_1.xor)(aVal, bVal).length) {
|
|
194
169
|
return true;
|
|
195
170
|
}
|
|
196
171
|
}
|
|
197
172
|
return false;
|
|
198
173
|
}
|
|
199
174
|
if (areAcPropertiesChanged(originalAc, newAc)) {
|
|
200
|
-
if (!tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
|
|
175
|
+
if (!tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS, undefined, originalAc)) {
|
|
201
176
|
throw new errors_1.AccessControlError('No permission to change access control properties.');
|
|
202
177
|
}
|
|
203
|
-
if ((originalAc.user &&
|
|
178
|
+
if ((originalAc.user && originalAc.user !== newAc.user) ||
|
|
204
179
|
(!originalAc.user &&
|
|
205
180
|
newAc.user &&
|
|
206
|
-
|
|
181
|
+
newAc.user !== tilmeld.currentUser)) {
|
|
207
182
|
throw new errors_1.AccessControlError('No permission to assign to another user.');
|
|
208
183
|
}
|
|
209
184
|
if (newAc.group &&
|
|
210
|
-
|
|
211
|
-
!(newAc.group
|
|
212
|
-
|
|
185
|
+
newAc.group !== originalAc.group &&
|
|
186
|
+
!(newAc.group =
|
|
187
|
+
tilmeld.currentUser?.$getGid() ||
|
|
188
|
+
(tilmeld.currentUser?.$getGids() ?? []).includes(newAc.group))) {
|
|
213
189
|
throw new errors_1.AccessControlError('No permission to assign to another group.');
|
|
214
190
|
}
|
|
215
|
-
setAcProperties(newAc);
|
|
216
191
|
}
|
|
217
192
|
}
|
|
218
193
|
if (!tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.WRITE_ACCESS)) {
|
|
@@ -230,10 +205,11 @@ class Tilmeld {
|
|
|
230
205
|
if (entity.user == null) {
|
|
231
206
|
entity.user = user;
|
|
232
207
|
}
|
|
233
|
-
if (entity.group == null
|
|
234
|
-
user.group
|
|
235
|
-
|
|
236
|
-
|
|
208
|
+
if (entity.group == null) {
|
|
209
|
+
const group = user.group;
|
|
210
|
+
if (group != null && group.guid != null) {
|
|
211
|
+
entity.group = group;
|
|
212
|
+
}
|
|
237
213
|
}
|
|
238
214
|
if (entity.acUser == null) {
|
|
239
215
|
entity.acUser = nymph_1.TilmeldAccessLevels.FULL_ACCESS;
|
|
@@ -349,27 +325,19 @@ class Tilmeld {
|
|
|
349
325
|
];
|
|
350
326
|
const groupRefs = [];
|
|
351
327
|
const acRefs = [];
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
acRefs.push(['
|
|
356
|
-
acRefs.push(['
|
|
328
|
+
const gid = user.$getGid();
|
|
329
|
+
if (gid != null) {
|
|
330
|
+
groupRefs.push(['group', gid]);
|
|
331
|
+
acRefs.push(['acRead', gid]);
|
|
332
|
+
acRefs.push(['acWrite', gid]);
|
|
333
|
+
acRefs.push(['acFull', gid]);
|
|
357
334
|
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
for (let curDescendantGroup of user.$getDescendantGroupsSync()) {
|
|
367
|
-
if (curDescendantGroup != null && curDescendantGroup.guid != null) {
|
|
368
|
-
groupRefs.push(['group', curDescendantGroup.guid]);
|
|
369
|
-
acRefs.push(['acRead', curDescendantGroup.guid]);
|
|
370
|
-
acRefs.push(['acWrite', curDescendantGroup.guid]);
|
|
371
|
-
acRefs.push(['acFull', curDescendantGroup.guid]);
|
|
372
|
-
}
|
|
335
|
+
const gids = user.$getGids();
|
|
336
|
+
for (let curGid of gids ?? []) {
|
|
337
|
+
groupRefs.push(['group', curGid]);
|
|
338
|
+
acRefs.push(['acRead', curGid]);
|
|
339
|
+
acRefs.push(['acWrite', curGid]);
|
|
340
|
+
acRefs.push(['acFull', curGid]);
|
|
373
341
|
}
|
|
374
342
|
if (groupRefs.length) {
|
|
375
343
|
subSelectors.push({
|
|
@@ -402,9 +370,9 @@ class Tilmeld {
|
|
|
402
370
|
selectors.push(selector);
|
|
403
371
|
}
|
|
404
372
|
}
|
|
405
|
-
checkPermissions(entity, type = nymph_1.TilmeldAccessLevels.READ_ACCESS, user) {
|
|
406
|
-
if (
|
|
407
|
-
|
|
373
|
+
checkPermissions(entity, type = nymph_1.TilmeldAccessLevels.READ_ACCESS, user, acProperties) {
|
|
374
|
+
if (!acProperties) {
|
|
375
|
+
acProperties = entity.$getCurrentAcValues();
|
|
408
376
|
}
|
|
409
377
|
let userOrNull = null;
|
|
410
378
|
let userOrEmpty = this.User.factorySync();
|
|
@@ -422,64 +390,58 @@ class Tilmeld {
|
|
|
422
390
|
userOrEmpty.abilities?.includes('system/admin'))) {
|
|
423
391
|
return true;
|
|
424
392
|
}
|
|
425
|
-
const acUser =
|
|
426
|
-
const acGroup =
|
|
427
|
-
const acOther =
|
|
393
|
+
const acUser = acProperties.acUser ?? nymph_1.TilmeldAccessLevels.FULL_ACCESS;
|
|
394
|
+
const acGroup = acProperties.acGroup ?? nymph_1.TilmeldAccessLevels.READ_ACCESS;
|
|
395
|
+
const acOther = acProperties.acOther ?? nymph_1.TilmeldAccessLevels.NO_ACCESS;
|
|
428
396
|
if (userOrNull == null) {
|
|
429
397
|
return acOther >= type;
|
|
430
398
|
}
|
|
431
399
|
if (userOrEmpty.$is(entity)) {
|
|
432
400
|
return true;
|
|
433
401
|
}
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
402
|
+
const gid = userOrEmpty.$getGid();
|
|
403
|
+
if (gid != null &&
|
|
404
|
+
entity.guid === gid &&
|
|
437
405
|
type === nymph_1.TilmeldAccessLevels.READ_ACCESS) {
|
|
438
406
|
return true;
|
|
439
407
|
}
|
|
440
|
-
let
|
|
441
|
-
|
|
442
|
-
allGroups = allGroups.concat(userOrEmpty.$getDescendantGroupsSync());
|
|
408
|
+
let allGids = gid == null ? [] : [gid];
|
|
409
|
+
allGids = allGids.concat(userOrEmpty.$getGids() ?? []);
|
|
443
410
|
const checks = [
|
|
444
411
|
{
|
|
445
412
|
type: nymph_1.TilmeldAccessLevels.FULL_ACCESS,
|
|
446
|
-
array: [...(
|
|
413
|
+
array: [...(acProperties.acFull ?? [])],
|
|
447
414
|
},
|
|
448
415
|
{
|
|
449
416
|
type: nymph_1.TilmeldAccessLevels.WRITE_ACCESS,
|
|
450
|
-
array: [...(
|
|
417
|
+
array: [...(acProperties.acWrite ?? [])],
|
|
451
418
|
},
|
|
452
419
|
{
|
|
453
420
|
type: nymph_1.TilmeldAccessLevels.READ_ACCESS,
|
|
454
|
-
array: [...(
|
|
421
|
+
array: [...(acProperties.acRead ?? [])],
|
|
455
422
|
},
|
|
456
423
|
];
|
|
457
424
|
for (let curCheck of checks) {
|
|
458
425
|
if (type <= curCheck.type) {
|
|
459
|
-
if (
|
|
426
|
+
if (curCheck.array.includes(userOrEmpty.guid)) {
|
|
460
427
|
return true;
|
|
461
428
|
}
|
|
462
|
-
for (let
|
|
463
|
-
if (
|
|
464
|
-
curGroup.$inArray(curCheck.array)) {
|
|
429
|
+
for (let curGid of allGids) {
|
|
430
|
+
if (curCheck.array.includes(curGid)) {
|
|
465
431
|
return true;
|
|
466
432
|
}
|
|
467
433
|
}
|
|
468
434
|
}
|
|
469
435
|
}
|
|
470
|
-
if (
|
|
471
|
-
typeof entity.user.$is === 'function' &&
|
|
472
|
-
entity.user.$is(userOrNull)) {
|
|
436
|
+
if (acProperties.user != null && acProperties.user === userOrNull.guid) {
|
|
473
437
|
return acUser >= type;
|
|
474
438
|
}
|
|
475
|
-
if (
|
|
476
|
-
typeof entity.group.$inArray === 'function' &&
|
|
477
|
-
entity.group.$inArray(allGroups)) {
|
|
439
|
+
if (acProperties.group != null && allGids.includes(acProperties.group)) {
|
|
478
440
|
return acGroup >= type;
|
|
479
441
|
}
|
|
480
442
|
return acOther >= type;
|
|
481
443
|
}
|
|
482
|
-
checkClientUIDPermissions(name, type = nymph_1.TilmeldAccessLevels.READ_ACCESS, user) {
|
|
444
|
+
async checkClientUIDPermissions(name, type = nymph_1.TilmeldAccessLevels.READ_ACCESS, user) {
|
|
483
445
|
let userOrEmpty = this.User.factorySync();
|
|
484
446
|
if (user == null) {
|
|
485
447
|
userOrEmpty = this.User.current(true);
|
|
@@ -492,47 +454,35 @@ class Tilmeld {
|
|
|
492
454
|
}
|
|
493
455
|
if (type === nymph_1.TilmeldAccessLevels.FULL_ACCESS) {
|
|
494
456
|
return (this.config.clientSetabledUIDs.indexOf(name) !== -1 ||
|
|
495
|
-
userOrEmpty.$gatekeeper(`uid/set/${name}`));
|
|
457
|
+
(await userOrEmpty.$gatekeeper(`uid/set/${name}`)));
|
|
496
458
|
}
|
|
497
459
|
else if (type === nymph_1.TilmeldAccessLevels.WRITE_ACCESS) {
|
|
498
460
|
return (this.config.clientEnabledUIDs.indexOf(name) !== -1 ||
|
|
499
461
|
this.config.clientSetabledUIDs.indexOf(name) !== -1 ||
|
|
500
|
-
userOrEmpty.$gatekeeper(`uid/new/${name}`) ||
|
|
501
|
-
userOrEmpty.$gatekeeper(`uid/set/${name}`));
|
|
462
|
+
(await userOrEmpty.$gatekeeper(`uid/new/${name}`)) ||
|
|
463
|
+
(await userOrEmpty.$gatekeeper(`uid/set/${name}`)));
|
|
502
464
|
}
|
|
503
465
|
else if (type === nymph_1.TilmeldAccessLevels.READ_ACCESS) {
|
|
504
466
|
return (this.config.clientReadableUIDs.indexOf(name) !== -1 ||
|
|
505
467
|
this.config.clientEnabledUIDs.indexOf(name) !== -1 ||
|
|
506
468
|
this.config.clientSetabledUIDs.indexOf(name) !== -1 ||
|
|
507
|
-
userOrEmpty.$gatekeeper(`uid/get/${name}`) ||
|
|
508
|
-
userOrEmpty.$gatekeeper(`uid/new/${name}`) ||
|
|
509
|
-
userOrEmpty.$gatekeeper(`uid/set/${name}`));
|
|
469
|
+
(await userOrEmpty.$gatekeeper(`uid/get/${name}`)) ||
|
|
470
|
+
(await userOrEmpty.$gatekeeper(`uid/new/${name}`)) ||
|
|
471
|
+
(await userOrEmpty.$gatekeeper(`uid/set/${name}`)));
|
|
510
472
|
}
|
|
511
473
|
return false;
|
|
512
474
|
}
|
|
513
475
|
fillSession(user) {
|
|
514
|
-
const _group = user.group;
|
|
515
|
-
const _groups = user.groups;
|
|
516
476
|
this.currentUser = user;
|
|
517
477
|
this.currentUser.$updateDataProtection();
|
|
518
|
-
|
|
519
|
-
this.currentUser.group.$updateDataProtection();
|
|
520
|
-
}
|
|
521
|
-
for (let group of this.currentUser.groups ?? []) {
|
|
522
|
-
group.$updateDataProtection();
|
|
523
|
-
}
|
|
478
|
+
this.currentUser.$updateGroupDataProtection();
|
|
524
479
|
}
|
|
525
480
|
clearSession() {
|
|
526
481
|
const user = this.currentUser;
|
|
527
482
|
this.currentUser = null;
|
|
528
483
|
if (user) {
|
|
529
484
|
user.$updateDataProtection();
|
|
530
|
-
|
|
531
|
-
user.group.$updateDataProtection();
|
|
532
|
-
}
|
|
533
|
-
for (let group of user.groups ?? []) {
|
|
534
|
-
group.$updateDataProtection();
|
|
535
|
-
}
|
|
485
|
+
user.$updateGroupDataProtection();
|
|
536
486
|
}
|
|
537
487
|
}
|
|
538
488
|
async extractToken(token) {
|
|
@@ -550,7 +500,7 @@ class Tilmeld {
|
|
|
550
500
|
}
|
|
551
501
|
return user;
|
|
552
502
|
}
|
|
553
|
-
authenticate(skipXsrfToken = false) {
|
|
503
|
+
async authenticate(skipXsrfToken = false) {
|
|
554
504
|
if (this.request == null) {
|
|
555
505
|
return false;
|
|
556
506
|
}
|
|
@@ -602,7 +552,7 @@ class Tilmeld {
|
|
|
602
552
|
: null;
|
|
603
553
|
}
|
|
604
554
|
if (authExtract == null) {
|
|
605
|
-
this.logout();
|
|
555
|
+
await this.logout();
|
|
606
556
|
return false;
|
|
607
557
|
}
|
|
608
558
|
const { guid, issued, expire } = authExtract;
|
|
@@ -610,19 +560,19 @@ class Tilmeld {
|
|
|
610
560
|
guid: null,
|
|
611
561
|
expire: null,
|
|
612
562
|
};
|
|
613
|
-
const user = this.User.
|
|
563
|
+
const user = await this.User.factory(guid);
|
|
614
564
|
if (user.guid == null ||
|
|
615
565
|
!user.enabled ||
|
|
616
566
|
expire.getTime() <= Date.now() ||
|
|
617
567
|
issued.getTime() > Date.now() ||
|
|
618
568
|
(user.revokeTokenDate != null && issued.getTime() <= user.revokeTokenDate)) {
|
|
619
|
-
this.logout();
|
|
569
|
+
await this.logout();
|
|
620
570
|
return false;
|
|
621
571
|
}
|
|
622
572
|
if (switchGuid && switchExpire && switchExpire.getTime() > Date.now()) {
|
|
623
|
-
const switchUser = this.User.
|
|
573
|
+
const switchUser = await this.User.factory(switchGuid);
|
|
624
574
|
if (switchUser.guid == null) {
|
|
625
|
-
this.logoutSwitch();
|
|
575
|
+
await this.logoutSwitch();
|
|
626
576
|
}
|
|
627
577
|
else {
|
|
628
578
|
this.fillSession(switchUser);
|
|
@@ -697,12 +647,12 @@ class Tilmeld {
|
|
|
697
647
|
}
|
|
698
648
|
return false;
|
|
699
649
|
}
|
|
700
|
-
logout(clearCookie = true) {
|
|
650
|
+
async logout(clearCookie = true) {
|
|
701
651
|
if (this.request && !this.alreadyLoggedOutSwitch) {
|
|
702
652
|
const cookies = this.request.cookies ?? {};
|
|
703
653
|
if ('TILMELDSWITCH' in cookies) {
|
|
704
654
|
this.alreadyLoggedOutSwitch = true;
|
|
705
|
-
return this.logoutSwitch(clearCookie);
|
|
655
|
+
return await this.logoutSwitch(clearCookie);
|
|
706
656
|
}
|
|
707
657
|
}
|
|
708
658
|
this.clearSession();
|
|
@@ -717,7 +667,7 @@ class Tilmeld {
|
|
|
717
667
|
this.response.locals.user = null;
|
|
718
668
|
}
|
|
719
669
|
}
|
|
720
|
-
logoutSwitch(clearCookie = true) {
|
|
670
|
+
async logoutSwitch(clearCookie = true) {
|
|
721
671
|
this.clearSession();
|
|
722
672
|
if (this.response) {
|
|
723
673
|
if (clearCookie && !this.response.headersSent) {
|
|
@@ -728,7 +678,7 @@ class Tilmeld {
|
|
|
728
678
|
this.response.set('X-TILMELDSWITCH', '');
|
|
729
679
|
}
|
|
730
680
|
this.response.locals.user = null;
|
|
731
|
-
this.authenticate();
|
|
681
|
+
await this.authenticate();
|
|
732
682
|
}
|
|
733
683
|
}
|
|
734
684
|
}
|
package/dist/Tilmeld.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tilmeld.js","sourceRoot":"","sources":["../src/Tilmeld.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tilmeld.js","sourceRoot":"","sources":["../src/Tilmeld.ts"],"names":[],"mappings":"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"}
|
package/dist/User.d.ts
CHANGED
|
@@ -81,8 +81,8 @@ export default class User extends AbleObject<UserData> {
|
|
|
81
81
|
$originalEmail?: string;
|
|
82
82
|
static factory(guid?: string): Promise<User & UserData>;
|
|
83
83
|
static factoryUsername(username?: string): Promise<User & UserData>;
|
|
84
|
-
static factorySync(
|
|
85
|
-
constructor(
|
|
84
|
+
static factorySync(): User & UserData;
|
|
85
|
+
constructor();
|
|
86
86
|
static current(returnObjectIfNotExist: true): User & UserData;
|
|
87
87
|
static current(returnObjectIfNotExist?: false): (User & UserData) | null;
|
|
88
88
|
static sendRecovery(data: {
|
|
@@ -151,20 +151,22 @@ export default class User extends AbleObject<UserData> {
|
|
|
151
151
|
message: any;
|
|
152
152
|
}>;
|
|
153
153
|
$getAvatar(): string;
|
|
154
|
+
$getGid(): string | null;
|
|
155
|
+
$getGids(): string[] | null;
|
|
154
156
|
$getDescendantGroups(): Promise<(Group & GroupData)[]>;
|
|
155
|
-
$getDescendantGroupsSync(): (Group & GroupData)[];
|
|
156
157
|
$jsonAcceptData(input: EntityJson, allowConflict?: boolean): void;
|
|
157
158
|
$jsonAcceptPatch(patch: EntityPatch, allowConflict?: boolean): void;
|
|
158
159
|
$putData(data: EntityData, sdata?: SerializedEntityData): void;
|
|
159
160
|
$updateDataProtection(givenUser?: User & UserData): void;
|
|
160
|
-
$
|
|
161
|
+
$updateGroupDataProtection(): void;
|
|
162
|
+
$gatekeeper(ability?: string): Promise<boolean>;
|
|
161
163
|
$clearCache(): void;
|
|
162
164
|
$sendEmailVerification(): Promise<boolean>;
|
|
163
|
-
$addGroup(group: Group & GroupData): true | (Group & GroupData)[]
|
|
165
|
+
$addGroup(group: Group & GroupData): Promise<true | (Group & GroupData)[]>;
|
|
164
166
|
$checkPassword(password: string): boolean;
|
|
165
|
-
$delGroup(group: Group & GroupData): true | (Group & GroupData)[]
|
|
166
|
-
$inGroup(group: (Group & GroupData) | string): boolean
|
|
167
|
-
$isDescendant(group: (Group & GroupData) | string): boolean
|
|
167
|
+
$delGroup(group: Group & GroupData): Promise<true | (Group & GroupData)[]>;
|
|
168
|
+
$inGroup(group: (Group & GroupData) | string): Promise<boolean>;
|
|
169
|
+
$isDescendant(group: (Group & GroupData) | string): Promise<boolean>;
|
|
168
170
|
$changePassword(data: {
|
|
169
171
|
newPassword: string;
|
|
170
172
|
currentPassword: string;
|