@nymphjs/tilmeld 1.0.0-beta.45 → 1.0.0-beta.47
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 +15 -0
- package/README.md +1 -1
- package/dist/Group.js +18 -4
- package/dist/Group.js.map +1 -1
- package/dist/Tilmeld.js +4 -4
- package/dist/Tilmeld.js.map +1 -1
- package/dist/User.d.ts +1 -1
- package/dist/User.js +50 -26
- package/dist/User.js.map +1 -1
- package/dist/conf/d.d.ts +1 -0
- package/dist/conf/defaults.js +1 -0
- package/dist/conf/defaults.js.map +1 -1
- package/package.json +24 -24
- package/src/AbleObject.ts +1 -1
- package/src/Group.test.ts +1 -1
- package/src/Group.ts +49 -37
- package/src/Tilmeld.ts +26 -26
- package/src/User.test.ts +1 -1
- package/src/User.ts +99 -78
- package/src/conf/d.ts +9 -5
- package/src/conf/defaults.ts +8 -7
- package/src/tilmeldJoiProps.ts +9 -9
package/src/Group.ts
CHANGED
|
@@ -119,7 +119,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
static async factoryGroupname(
|
|
122
|
-
groupname?: string
|
|
122
|
+
groupname?: string,
|
|
123
123
|
): Promise<Group & GroupData> {
|
|
124
124
|
const entity = new this();
|
|
125
125
|
if (groupname != null) {
|
|
@@ -130,7 +130,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
130
130
|
{
|
|
131
131
|
type: '&',
|
|
132
132
|
ilike: ['groupname', groupname.replace(/([\\%_])/g, (s) => `\\${s}`)],
|
|
133
|
-
}
|
|
133
|
+
},
|
|
134
134
|
);
|
|
135
135
|
if (entity != null) {
|
|
136
136
|
return entity;
|
|
@@ -161,7 +161,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
161
161
|
*/
|
|
162
162
|
public static async getPrimaryGroups(
|
|
163
163
|
options?: Options,
|
|
164
|
-
selectors?: Selector[]
|
|
164
|
+
selectors?: Selector[],
|
|
165
165
|
) {
|
|
166
166
|
const tilmeld = enforceTilmeld(this);
|
|
167
167
|
if (!tilmeld.gatekeeper('tilmeld/admin')) {
|
|
@@ -171,7 +171,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
171
171
|
return await this.getAssignableGroups(
|
|
172
172
|
tilmeld.config.highestPrimary,
|
|
173
173
|
{ ...options, class: tilmeld.Group, return: 'entity' },
|
|
174
|
-
[...(selectors ?? [])]
|
|
174
|
+
[...(selectors ?? [])],
|
|
175
175
|
);
|
|
176
176
|
}
|
|
177
177
|
|
|
@@ -184,7 +184,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
184
184
|
*/
|
|
185
185
|
public static async getSecondaryGroups(
|
|
186
186
|
options?: Options,
|
|
187
|
-
selectors?: Selector[]
|
|
187
|
+
selectors?: Selector[],
|
|
188
188
|
) {
|
|
189
189
|
const tilmeld = enforceTilmeld(this);
|
|
190
190
|
if (!tilmeld.gatekeeper('tilmeld/admin')) {
|
|
@@ -194,14 +194,14 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
194
194
|
return await this.getAssignableGroups(
|
|
195
195
|
tilmeld.config.highestSecondary,
|
|
196
196
|
{ ...options, class: tilmeld.Group, return: 'entity' },
|
|
197
|
-
[...(selectors ?? [])]
|
|
197
|
+
[...(selectors ?? [])],
|
|
198
198
|
);
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
private static async getAssignableGroups(
|
|
202
202
|
highestParent: string | boolean,
|
|
203
203
|
options: Options<typeof Group>,
|
|
204
|
-
selectors: Selector[]
|
|
204
|
+
selectors: Selector[],
|
|
205
205
|
) {
|
|
206
206
|
const tilmeld = enforceTilmeld(this);
|
|
207
207
|
let assignableGroups: (Group & GroupData)[] = [];
|
|
@@ -212,7 +212,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
212
212
|
|
|
213
213
|
assignableGroups = await this.nymph.getEntities(
|
|
214
214
|
{ ...options, class: tilmeld.Group },
|
|
215
|
-
...selectors
|
|
215
|
+
...selectors,
|
|
216
216
|
);
|
|
217
217
|
if (highestParent !== true) {
|
|
218
218
|
assignableGroups = (
|
|
@@ -230,7 +230,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
230
230
|
await parent?.$wake();
|
|
231
231
|
}
|
|
232
232
|
return null;
|
|
233
|
-
})
|
|
233
|
+
}),
|
|
234
234
|
)
|
|
235
235
|
).filter((group) => group != null) as (Group & GroupData)[];
|
|
236
236
|
}
|
|
@@ -263,7 +263,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
263
263
|
!tilmeld.currentUser.abilities?.includes('system/admin'))
|
|
264
264
|
) {
|
|
265
265
|
throw new BadDataError(
|
|
266
|
-
"You don't have the authority to grant or revoke system/admin."
|
|
266
|
+
"You don't have the authority to grant or revoke system/admin.",
|
|
267
267
|
);
|
|
268
268
|
}
|
|
269
269
|
|
|
@@ -275,7 +275,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
275
275
|
!tilmeld.currentUser.abilities?.includes('system/admin'))
|
|
276
276
|
) {
|
|
277
277
|
throw new BadDataError(
|
|
278
|
-
"You don't have the authority to grant or revoke tilmeld/admin."
|
|
278
|
+
"You don't have the authority to grant or revoke tilmeld/admin.",
|
|
279
279
|
);
|
|
280
280
|
}
|
|
281
281
|
|
|
@@ -287,7 +287,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
287
287
|
!tilmeld.currentUser.abilities?.includes('system/admin'))
|
|
288
288
|
) {
|
|
289
289
|
throw new BadDataError(
|
|
290
|
-
"You don't have the authority to grant or revoke tilmeld/switch."
|
|
290
|
+
"You don't have the authority to grant or revoke tilmeld/switch.",
|
|
291
291
|
);
|
|
292
292
|
}
|
|
293
293
|
|
|
@@ -306,7 +306,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
306
306
|
!tilmeld.currentUser.abilities?.includes('system/admin'))
|
|
307
307
|
) {
|
|
308
308
|
throw new BadDataError(
|
|
309
|
-
"You don't have the authority to grant or revoke system/admin."
|
|
309
|
+
"You don't have the authority to grant or revoke system/admin.",
|
|
310
310
|
);
|
|
311
311
|
}
|
|
312
312
|
|
|
@@ -318,7 +318,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
318
318
|
!tilmeld.currentUser.abilities?.includes('system/admin'))
|
|
319
319
|
) {
|
|
320
320
|
throw new BadDataError(
|
|
321
|
-
"You don't have the authority to grant or revoke tilmeld/admin."
|
|
321
|
+
"You don't have the authority to grant or revoke tilmeld/admin.",
|
|
322
322
|
);
|
|
323
323
|
}
|
|
324
324
|
|
|
@@ -330,7 +330,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
330
330
|
!tilmeld.currentUser.abilities?.includes('system/admin'))
|
|
331
331
|
) {
|
|
332
332
|
throw new BadDataError(
|
|
333
|
-
"You don't have the authority to grant or revoke tilmeld/switch."
|
|
333
|
+
"You don't have the authority to grant or revoke tilmeld/switch.",
|
|
334
334
|
);
|
|
335
335
|
}
|
|
336
336
|
|
|
@@ -383,7 +383,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
383
383
|
* @returns True or false.
|
|
384
384
|
*/
|
|
385
385
|
public async $isDescendant(
|
|
386
|
-
givenGroup: (Group & GroupData) | string
|
|
386
|
+
givenGroup: (Group & GroupData) | string,
|
|
387
387
|
): Promise<boolean> {
|
|
388
388
|
const tilmeld = enforceTilmeld(this);
|
|
389
389
|
let group: Group & GroupData;
|
|
@@ -423,7 +423,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
423
423
|
type: '&',
|
|
424
424
|
equal: ['enabled', true],
|
|
425
425
|
ref: ['parent', this],
|
|
426
|
-
}
|
|
426
|
+
},
|
|
427
427
|
);
|
|
428
428
|
}
|
|
429
429
|
|
|
@@ -434,7 +434,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
434
434
|
* @returns An array of groups.
|
|
435
435
|
*/
|
|
436
436
|
public async $getDescendants(
|
|
437
|
-
andSelf = false
|
|
437
|
+
andSelf = false,
|
|
438
438
|
): Promise<(Group & GroupData)[]> {
|
|
439
439
|
const tilmeld = enforceTilmeld(this);
|
|
440
440
|
let groups: (Group & GroupData)[] = [];
|
|
@@ -444,7 +444,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
444
444
|
type: '&',
|
|
445
445
|
equal: ['enabled', true],
|
|
446
446
|
ref: ['parent', this],
|
|
447
|
-
}
|
|
447
|
+
},
|
|
448
448
|
);
|
|
449
449
|
for (let entity of entities) {
|
|
450
450
|
groups = (await entity.$getDescendants(true)).concat(groups);
|
|
@@ -492,7 +492,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
492
492
|
public async $getUsers(
|
|
493
493
|
descendants = false,
|
|
494
494
|
limit?: number,
|
|
495
|
-
offset?: number
|
|
495
|
+
offset?: number,
|
|
496
496
|
): Promise<(User & UserData)[]> {
|
|
497
497
|
const tilmeld = enforceTilmeld(this);
|
|
498
498
|
let groups: (Group & GroupData)[] = [];
|
|
@@ -523,7 +523,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
523
523
|
group,
|
|
524
524
|
]),
|
|
525
525
|
],
|
|
526
|
-
}
|
|
526
|
+
},
|
|
527
527
|
);
|
|
528
528
|
}
|
|
529
529
|
|
|
@@ -541,10 +541,16 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
541
541
|
if (this.$data.groupname == null || !this.$data.groupname.length) {
|
|
542
542
|
return { result: false, message: 'Please specify a groupname.' };
|
|
543
543
|
}
|
|
544
|
-
if (
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
544
|
+
if (this.$data.groupname.length < tilmeld.config.minUsernameLength) {
|
|
545
|
+
return {
|
|
546
|
+
result: false,
|
|
547
|
+
message:
|
|
548
|
+
'Groupnames must be at least ' +
|
|
549
|
+
tilmeld.config.minUsernameLength +
|
|
550
|
+
' characters.',
|
|
551
|
+
};
|
|
552
|
+
}
|
|
553
|
+
if (this.$data.groupname.length > tilmeld.config.maxUsernameLength) {
|
|
548
554
|
return {
|
|
549
555
|
result: false,
|
|
550
556
|
message:
|
|
@@ -556,7 +562,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
556
562
|
if (
|
|
557
563
|
difference(
|
|
558
564
|
this.$data.groupname.split(''),
|
|
559
|
-
tilmeld.config.validChars.split('')
|
|
565
|
+
tilmeld.config.validChars.split(''),
|
|
560
566
|
).length
|
|
561
567
|
) {
|
|
562
568
|
return {
|
|
@@ -583,7 +589,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
583
589
|
}
|
|
584
590
|
const test = await this.$nymph.getEntity(
|
|
585
591
|
{ class: tilmeld.Group, skipAc: true },
|
|
586
|
-
selector
|
|
592
|
+
selector,
|
|
587
593
|
);
|
|
588
594
|
if (test != null) {
|
|
589
595
|
return { result: false, message: 'That groupname is taken.' };
|
|
@@ -599,10 +605,16 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
599
605
|
if (this.$data.groupname == null || !this.$data.groupname.length) {
|
|
600
606
|
return { result: false, message: 'Please specify an email.' };
|
|
601
607
|
}
|
|
602
|
-
if (
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
608
|
+
if (this.$data.groupname.length < tilmeld.config.minUsernameLength) {
|
|
609
|
+
return {
|
|
610
|
+
result: false,
|
|
611
|
+
message:
|
|
612
|
+
'Emails must be at least ' +
|
|
613
|
+
tilmeld.config.minUsernameLength +
|
|
614
|
+
' characters.',
|
|
615
|
+
};
|
|
616
|
+
}
|
|
617
|
+
if (this.$data.groupname.length > tilmeld.config.maxUsernameLength) {
|
|
606
618
|
return {
|
|
607
619
|
result: false,
|
|
608
620
|
message:
|
|
@@ -644,7 +656,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
644
656
|
}
|
|
645
657
|
const test = await this.$nymph.getEntity(
|
|
646
658
|
{ class: tilmeld.Group, skipAc: true },
|
|
647
|
-
selector
|
|
659
|
+
selector,
|
|
648
660
|
);
|
|
649
661
|
if (test != null) {
|
|
650
662
|
return {
|
|
@@ -737,7 +749,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
737
749
|
(await parent.$isDescendant(this)))
|
|
738
750
|
) {
|
|
739
751
|
throw new BadDataError(
|
|
740
|
-
"Group parent can't be itself or descendant of itself."
|
|
752
|
+
"Group parent can't be itself or descendant of itself.",
|
|
741
753
|
);
|
|
742
754
|
}
|
|
743
755
|
|
|
@@ -751,14 +763,14 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
751
763
|
if (this.$data.defaultPrimary) {
|
|
752
764
|
const currentPrimary = await this.$nymph.getEntity(
|
|
753
765
|
{ class: tilmeld.Group },
|
|
754
|
-
{ type: '&', truthy: 'defaultPrimary' }
|
|
766
|
+
{ type: '&', truthy: 'defaultPrimary' },
|
|
755
767
|
);
|
|
756
768
|
if (currentPrimary != null && !this.$is(currentPrimary)) {
|
|
757
769
|
currentPrimary.defaultPrimary = false;
|
|
758
770
|
if (!(await currentPrimary.$save())) {
|
|
759
771
|
throw new CouldNotChangeDefaultPrimaryGroupError(
|
|
760
772
|
'Could not change new user primary group from ' +
|
|
761
|
-
`${currentPrimary.groupname}
|
|
773
|
+
`${currentPrimary.groupname}.`,
|
|
762
774
|
);
|
|
763
775
|
}
|
|
764
776
|
}
|
|
@@ -816,7 +828,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
816
828
|
{
|
|
817
829
|
type: '&',
|
|
818
830
|
ref: ['group', this],
|
|
819
|
-
}
|
|
831
|
+
},
|
|
820
832
|
);
|
|
821
833
|
for (let user of primaryUsers) {
|
|
822
834
|
delete user.group;
|
|
@@ -836,7 +848,7 @@ export default class Group extends AbleObject<GroupData> {
|
|
|
836
848
|
{
|
|
837
849
|
type: '&',
|
|
838
850
|
ref: ['groups', this],
|
|
839
|
-
}
|
|
851
|
+
},
|
|
840
852
|
);
|
|
841
853
|
for (let user of secondaryUsers) {
|
|
842
854
|
user.$delGroup(this);
|
package/src/Tilmeld.ts
CHANGED
|
@@ -183,7 +183,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
183
183
|
const handleQuery = function (
|
|
184
184
|
nymph: Nymph,
|
|
185
185
|
options: Options,
|
|
186
|
-
selectors: FormattedSelector[]
|
|
186
|
+
selectors: FormattedSelector[],
|
|
187
187
|
) {
|
|
188
188
|
const tilmeld = enforceTilmeld(nymph);
|
|
189
189
|
if (
|
|
@@ -225,7 +225,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
225
225
|
// Filter entities being deleted for user permissions.
|
|
226
226
|
const checkPermissionsDelete = async function (
|
|
227
227
|
nymph: Nymph,
|
|
228
|
-
entity: EntityInterface
|
|
228
|
+
entity: EntityInterface,
|
|
229
229
|
) {
|
|
230
230
|
const tilmeld = enforceTilmeld(nymph);
|
|
231
231
|
if (
|
|
@@ -245,11 +245,11 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
245
245
|
const checkPermissionsDeleteByID = async function (
|
|
246
246
|
nymph: Nymph,
|
|
247
247
|
guid: string,
|
|
248
|
-
className?: string
|
|
248
|
+
className?: string,
|
|
249
249
|
) {
|
|
250
250
|
const entity = await nymph.getEntity(
|
|
251
251
|
{ class: nymph.getEntityClass(className ?? 'Entity') },
|
|
252
|
-
{ type: '&', guid: guid }
|
|
252
|
+
{ type: '&', guid: guid },
|
|
253
253
|
);
|
|
254
254
|
if (entity != null) {
|
|
255
255
|
checkPermissionsDelete(nymph, entity);
|
|
@@ -261,7 +261,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
261
261
|
// disallowed changes to AC properties.
|
|
262
262
|
const checkPermissionsSaveAndFilterAcChanges = async function (
|
|
263
263
|
nymph: Nymph,
|
|
264
|
-
entity: EntityInterface & AccessControlData
|
|
264
|
+
entity: EntityInterface & AccessControlData,
|
|
265
265
|
) {
|
|
266
266
|
const tilmeld = enforceTilmeld(nymph);
|
|
267
267
|
if (!entity) {
|
|
@@ -338,12 +338,12 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
338
338
|
entity,
|
|
339
339
|
TilmeldAccessLevels.FULL_ACCESS,
|
|
340
340
|
undefined,
|
|
341
|
-
originalAc
|
|
341
|
+
originalAc,
|
|
342
342
|
)
|
|
343
343
|
) {
|
|
344
344
|
// Only allow changes to AC properties if the user has full access.
|
|
345
345
|
throw new AccessControlError(
|
|
346
|
-
'No permission to change access control properties.'
|
|
346
|
+
'No permission to change access control properties.',
|
|
347
347
|
);
|
|
348
348
|
}
|
|
349
349
|
|
|
@@ -354,7 +354,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
354
354
|
newAc.user !== tilmeld.currentUser)
|
|
355
355
|
) {
|
|
356
356
|
throw new AccessControlError(
|
|
357
|
-
'No permission to assign to another user.'
|
|
357
|
+
'No permission to assign to another user.',
|
|
358
358
|
);
|
|
359
359
|
}
|
|
360
360
|
|
|
@@ -366,7 +366,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
366
366
|
(tilmeld.currentUser?.$getGids() ?? []).includes(newAc.group))
|
|
367
367
|
) {
|
|
368
368
|
throw new AccessControlError(
|
|
369
|
-
'No permission to assign to another group.'
|
|
369
|
+
'No permission to assign to another group.',
|
|
370
370
|
);
|
|
371
371
|
}
|
|
372
372
|
}
|
|
@@ -397,7 +397,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
397
397
|
*/
|
|
398
398
|
const addAccess = async function (
|
|
399
399
|
nymph: Nymph,
|
|
400
|
-
entity: EntityInterface & AccessControlData
|
|
400
|
+
entity: EntityInterface & AccessControlData,
|
|
401
401
|
) {
|
|
402
402
|
const tilmeld = enforceTilmeld(nymph);
|
|
403
403
|
const user = tilmeld.currentUser;
|
|
@@ -440,7 +440,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
440
440
|
|
|
441
441
|
const validate = async function (
|
|
442
442
|
_nymph: Nymph,
|
|
443
|
-
entity: EntityInterface & AccessControlData
|
|
443
|
+
entity: EntityInterface & AccessControlData,
|
|
444
444
|
) {
|
|
445
445
|
if (!(entity instanceof User) && !(entity instanceof Group)) {
|
|
446
446
|
const ownershipAcPropertyValidator = (prop: any) => {
|
|
@@ -450,7 +450,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
450
450
|
prop > TilmeldAccessLevels.FULL_ACCESS
|
|
451
451
|
) {
|
|
452
452
|
throw new AccessControlError(
|
|
453
|
-
'Invalid access control property: ' + prop
|
|
453
|
+
'Invalid access control property: ' + prop,
|
|
454
454
|
);
|
|
455
455
|
}
|
|
456
456
|
};
|
|
@@ -458,13 +458,13 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
458
458
|
const accessAcPropertyValidator = (prop: any) => {
|
|
459
459
|
if (!Array.isArray(prop)) {
|
|
460
460
|
throw new AccessControlError(
|
|
461
|
-
'Invalid access control property: ' + prop
|
|
461
|
+
'Invalid access control property: ' + prop,
|
|
462
462
|
);
|
|
463
463
|
}
|
|
464
464
|
prop.forEach((value) => {
|
|
465
465
|
if (!(value instanceof User || value instanceof Group)) {
|
|
466
466
|
throw new AccessControlError(
|
|
467
|
-
'Invalid access control property: ' + prop
|
|
467
|
+
'Invalid access control property: ' + prop,
|
|
468
468
|
);
|
|
469
469
|
}
|
|
470
470
|
});
|
|
@@ -473,7 +473,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
473
473
|
if ('user' in entity) {
|
|
474
474
|
if (!(entity.user instanceof User)) {
|
|
475
475
|
throw new AccessControlError(
|
|
476
|
-
'Invalid access control property: user'
|
|
476
|
+
'Invalid access control property: user',
|
|
477
477
|
);
|
|
478
478
|
}
|
|
479
479
|
}
|
|
@@ -481,7 +481,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
481
481
|
if ('group' in entity) {
|
|
482
482
|
if (!(entity.group instanceof Group)) {
|
|
483
483
|
throw new AccessControlError(
|
|
484
|
-
'Invalid access control property: group'
|
|
484
|
+
'Invalid access control property: group',
|
|
485
485
|
);
|
|
486
486
|
}
|
|
487
487
|
}
|
|
@@ -526,7 +526,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
526
526
|
*/
|
|
527
527
|
public addAccessControlSelectors(
|
|
528
528
|
options: Options,
|
|
529
|
-
selectors: FormattedSelector[]
|
|
529
|
+
selectors: FormattedSelector[],
|
|
530
530
|
) {
|
|
531
531
|
const user = this.currentUser;
|
|
532
532
|
|
|
@@ -691,7 +691,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
691
691
|
entity: EntityInterface,
|
|
692
692
|
type: TilmeldAccessLevels = TilmeldAccessLevels.READ_ACCESS,
|
|
693
693
|
user?: (User & UserData) | false,
|
|
694
|
-
acProperties?: ACProperties
|
|
694
|
+
acProperties?: ACProperties,
|
|
695
695
|
) {
|
|
696
696
|
if (!acProperties) {
|
|
697
697
|
acProperties = entity.$getCurrentAcValues() as ACProperties;
|
|
@@ -811,7 +811,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
811
811
|
public async checkClientUIDPermissions(
|
|
812
812
|
name: string,
|
|
813
813
|
type: TilmeldAccessLevels = TilmeldAccessLevels.READ_ACCESS,
|
|
814
|
-
user?: (User & UserData) | false
|
|
814
|
+
user?: (User & UserData) | false,
|
|
815
815
|
) {
|
|
816
816
|
let userOrEmpty: User & UserData = this.User.factorySync();
|
|
817
817
|
// Calculate the user.
|
|
@@ -896,7 +896,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
896
896
|
{
|
|
897
897
|
type: '&',
|
|
898
898
|
guid: guid,
|
|
899
|
-
}
|
|
899
|
+
},
|
|
900
900
|
);
|
|
901
901
|
if (!user || !user.guid) {
|
|
902
902
|
return null;
|
|
@@ -1050,7 +1050,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
1050
1050
|
public async login(
|
|
1051
1051
|
user: User & UserData,
|
|
1052
1052
|
sendAuthHeader: boolean,
|
|
1053
|
-
sendCookie = true
|
|
1053
|
+
sendCookie = true,
|
|
1054
1054
|
) {
|
|
1055
1055
|
if (user.guid != null && user.enabled) {
|
|
1056
1056
|
if (this.response) {
|
|
@@ -1063,9 +1063,9 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
1063
1063
|
domain: this.config.cookieDomain,
|
|
1064
1064
|
path: this.config.cookiePath,
|
|
1065
1065
|
maxAge: this.config.jwtExpire * 1000,
|
|
1066
|
-
secure: appUrl.protocol === 'https',
|
|
1066
|
+
secure: appUrl.protocol === 'https:',
|
|
1067
1067
|
httpOnly: false, // Allow JS access (for CSRF protection).
|
|
1068
|
-
sameSite: appUrl.protocol === 'https' ? 'lax' : 'strict',
|
|
1068
|
+
sameSite: appUrl.protocol === 'https:' ? 'lax' : 'strict',
|
|
1069
1069
|
});
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
@@ -1096,7 +1096,7 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
1096
1096
|
public async loginSwitch(
|
|
1097
1097
|
user: User & UserData,
|
|
1098
1098
|
sendAuthHeader: boolean,
|
|
1099
|
-
sendCookie = true
|
|
1099
|
+
sendCookie = true,
|
|
1100
1100
|
) {
|
|
1101
1101
|
if (user.guid != null) {
|
|
1102
1102
|
if (this.response) {
|
|
@@ -1109,9 +1109,9 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
1109
1109
|
domain: this.config.cookieDomain,
|
|
1110
1110
|
path: this.config.cookiePath,
|
|
1111
1111
|
maxAge: this.config.jwtSwitchExpire * 1000,
|
|
1112
|
-
secure: appUrl.protocol === 'https',
|
|
1112
|
+
secure: appUrl.protocol === 'https:',
|
|
1113
1113
|
httpOnly: false, // Allow JS access (for PubSub auth token).
|
|
1114
|
-
sameSite: appUrl.protocol === 'https' ? 'lax' : 'strict',
|
|
1114
|
+
sameSite: appUrl.protocol === 'https:' ? 'lax' : 'strict',
|
|
1115
1115
|
});
|
|
1116
1116
|
}
|
|
1117
1117
|
|