@nymphjs/tilmeld 1.0.0-alpha.3 → 1.0.0-alpha.30

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/dist/Tilmeld.js CHANGED
@@ -12,6 +12,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ const nymph_1 = require("@nymphjs/nymph");
16
+ const lodash_1 = require("lodash");
15
17
  const conf_1 = require("./conf");
16
18
  const errors_1 = require("./errors");
17
19
  const Group_1 = __importDefault(require("./Group"));
@@ -44,14 +46,16 @@ class Tilmeld {
44
46
  }
45
47
  NymphUser.nymph = this.nymph;
46
48
  NymphUser.tilmeld = this;
49
+ NymphUser.skipOnClone = true;
47
50
  this.User = NymphUser;
48
- this.nymph.setEntityClass(NymphUser.class, NymphUser);
51
+ this.nymph.addEntityClass(NymphUser);
49
52
  class NymphGroup extends Group_1.default {
50
53
  }
51
54
  NymphGroup.nymph = this.nymph;
52
55
  NymphGroup.tilmeld = this;
56
+ NymphUser.skipOnClone = true;
53
57
  this.Group = NymphGroup;
54
- this.nymph.setEntityClass(NymphGroup.class, NymphGroup);
58
+ this.nymph.addEntityClass(NymphGroup);
55
59
  this.initAccessControl();
56
60
  if (this.request != null && !this.skipAuthenticate) {
57
61
  this.authenticate();
@@ -65,9 +69,9 @@ class Tilmeld {
65
69
  return this.currentUser.$gatekeeper(ability);
66
70
  }
67
71
  initAccessControl() {
68
- const tilmeld = this;
69
- const handleQuery = function (options, selectors) {
70
- var _a, _b, _c, _d, _e, _f, _g;
72
+ const handleQuery = function (nymph, options, selectors) {
73
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
74
+ const tilmeld = nymph.tilmeld;
71
75
  if (!options ||
72
76
  !('skipAc' in options) ||
73
77
  !options.skipAc ||
@@ -82,37 +86,39 @@ class Tilmeld {
82
86
  selectors[0].type !== '&' ||
83
87
  (!('guid' in selectors[0]) && !('equal' in selectors[0])) ||
84
88
  ('guid' in selectors[0] &&
85
- ((_c = selectors[0].guid) === null || _c === void 0 ? void 0 : _c.length) === 1 &&
86
- typeof ((_d = selectors[0].guid) === null || _d === void 0 ? void 0 : _d[0]) !== 'string') ||
89
+ (!((_c = selectors[0].guid) === null || _c === void 0 ? void 0 : _c.length) ||
90
+ !((_e = (_d = selectors[0].guid) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.length))) ||
87
91
  ('equal' in selectors[0] &&
88
- ((_e = selectors[0].equal) === null || _e === void 0 ? void 0 : _e.length) === 1 &&
89
- ((_g = (_f = selectors[0].equal) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g[0]) !== 'username'))) {
92
+ ((_g = (_f = selectors[0].equal) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g[0]) !== 'username' &&
93
+ ((_j = (_h = selectors[0].equal) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j[0]) !== 'groupname'))) {
90
94
  throw new errors_1.AccessControlError('No permission to search.');
91
95
  }
92
96
  }
93
97
  tilmeld.addAccessControlSelectors(options, selectors);
94
98
  }
95
99
  };
96
- handleQuery.tilmeld = true;
97
- const checkPermissionsDelete = function (entity) {
100
+ handleQuery.skipOnClone = true;
101
+ const checkPermissionsDelete = function (nymph, entity) {
102
+ const tilmeld = nymph.tilmeld;
98
103
  if (typeof entity.$tilmeldDeleteSkipAC === 'function' &&
99
104
  entity.$tilmeldDeleteSkipAC()) {
100
105
  return;
101
106
  }
102
- if (tilmeld.checkPermissions(entity, Tilmeld.FULL_ACCESS)) {
107
+ if (!tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
103
108
  throw new errors_1.AccessControlError('No permission to delete.');
104
109
  }
105
110
  };
106
- checkPermissionsDelete.tilmeld = true;
107
- const checkPermissionsDeleteByID = function (guid, className) {
108
- const entity = tilmeld.nymph.driver.getEntitySync({ class: tilmeld.nymph.getEntityClass(className !== null && className !== void 0 ? className : 'Entity') }, { type: '&', guid: guid });
111
+ checkPermissionsDelete.skipOnClone = true;
112
+ const checkPermissionsDeleteByID = function (nymph, guid, className) {
113
+ const entity = nymph.driver.getEntitySync({ class: nymph.getEntityClass(className !== null && className !== void 0 ? className : 'Entity') }, { type: '&', guid: guid });
109
114
  if (entity != null) {
110
- checkPermissionsDelete(entity);
115
+ checkPermissionsDelete(nymph, entity);
111
116
  }
112
117
  };
113
- checkPermissionsDeleteByID.tilmeld = true;
114
- const checkPermissionsSaveAndFilterAcChanges = function (entity) {
115
- var _a, _b, _c, _d, _e, _f, _g, _h;
118
+ checkPermissionsDeleteByID.skipOnClone = true;
119
+ const checkPermissionsSaveAndFilterAcChanges = function (nymph, entity) {
120
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
121
+ const tilmeld = nymph.tilmeld;
116
122
  if (!entity) {
117
123
  return;
118
124
  }
@@ -123,14 +129,14 @@ class Tilmeld {
123
129
  if (entity.guid != null) {
124
130
  const originalAc = entity.$getOriginalAcValues();
125
131
  const newAc = {
126
- user: (_a = entity.user) !== null && _a !== void 0 ? _a : null,
127
- group: (_b = entity.group) !== null && _b !== void 0 ? _b : null,
128
- acUser: (_c = entity.acUser) !== null && _c !== void 0 ? _c : null,
129
- acGroup: (_d = entity.acGroup) !== null && _d !== void 0 ? _d : null,
130
- acOther: (_e = entity.acOther) !== null && _e !== void 0 ? _e : null,
131
- acRead: (_f = entity.acRead) !== null && _f !== void 0 ? _f : null,
132
- acWrite: (_g = entity.acWrite) !== null && _g !== void 0 ? _g : null,
133
- acFull: (_h = entity.acFull) !== null && _h !== void 0 ? _h : null,
132
+ user: (_a = entity.user) !== null && _a !== void 0 ? _a : undefined,
133
+ group: (_b = entity.group) !== null && _b !== void 0 ? _b : undefined,
134
+ acUser: (_c = entity.acUser) !== null && _c !== void 0 ? _c : undefined,
135
+ acGroup: (_d = entity.acGroup) !== null && _d !== void 0 ? _d : undefined,
136
+ acOther: (_e = entity.acOther) !== null && _e !== void 0 ? _e : undefined,
137
+ acRead: (_f = entity.acRead) !== null && _f !== void 0 ? _f : undefined,
138
+ acWrite: (_g = entity.acWrite) !== null && _g !== void 0 ? _g : undefined,
139
+ acFull: (_h = entity.acFull) !== null && _h !== void 0 ? _h : undefined,
134
140
  };
135
141
  const setAcProperties = (acValues) => {
136
142
  for (let name in acValues) {
@@ -144,16 +150,79 @@ class Tilmeld {
144
150
  }
145
151
  };
146
152
  setAcProperties(originalAc);
147
- if (tilmeld.checkPermissions(entity, Tilmeld.FULL_ACCESS)) {
153
+ function areAcPropertiesChanged(a, b) {
154
+ for (const name of ['user', 'group']) {
155
+ const aVal = a[name];
156
+ const bVal = b[name];
157
+ if (aVal == null && bVal == null) {
158
+ continue;
159
+ }
160
+ else if (aVal == null || bVal == null) {
161
+ return true;
162
+ }
163
+ if (!aVal.$is(bVal)) {
164
+ return true;
165
+ }
166
+ }
167
+ for (const name of ['acUser', 'acGroup', 'acOther']) {
168
+ const aVal = a[name];
169
+ const bVal = b[name];
170
+ if (aVal == null && bVal == null) {
171
+ continue;
172
+ }
173
+ else if (aVal == null || bVal == null) {
174
+ return true;
175
+ }
176
+ if (aVal !== bVal) {
177
+ return true;
178
+ }
179
+ }
180
+ for (const name of ['acRead', 'acWrite', 'acFull']) {
181
+ const aVal = a[name];
182
+ const bVal = b[name];
183
+ if (aVal == null && bVal == null) {
184
+ continue;
185
+ }
186
+ else if (aVal == null || bVal == null) {
187
+ return true;
188
+ }
189
+ if (aVal.length !== bVal.length) {
190
+ return true;
191
+ }
192
+ if ((0, lodash_1.xor)(aVal.map((entity) => entity.guid), bVal.map((entity) => entity.guid)).length) {
193
+ return true;
194
+ }
195
+ }
196
+ return false;
197
+ }
198
+ if (areAcPropertiesChanged(originalAc, newAc)) {
199
+ if (!tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
200
+ throw new errors_1.AccessControlError('No permission to change access control properties.');
201
+ }
202
+ if (((originalAc.user && !originalAc.user.$is(newAc.user)) ||
203
+ (!originalAc.user &&
204
+ newAc.user &&
205
+ !newAc.user.$is(tilmeld.currentUser))) &&
206
+ !tilmeld.gatekeeper('tilmeld/admin')) {
207
+ throw new errors_1.AccessControlError('No permission to assign to another user.');
208
+ }
209
+ if (newAc.group &&
210
+ !newAc.group.$is(originalAc.group) &&
211
+ !(newAc.group.$is((_j = tilmeld.currentUser) === null || _j === void 0 ? void 0 : _j.group) ||
212
+ newAc.group.$inArray((_l = (_k = tilmeld.currentUser) === null || _k === void 0 ? void 0 : _k.groups) !== null && _l !== void 0 ? _l : [])) &&
213
+ !tilmeld.gatekeeper('tilmeld/admin')) {
214
+ throw new errors_1.AccessControlError('No permission to assign to another group.');
215
+ }
148
216
  setAcProperties(newAc);
149
217
  }
150
218
  }
151
- if (!tilmeld.checkPermissions(entity, Tilmeld.WRITE_ACCESS)) {
219
+ if (!tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.WRITE_ACCESS)) {
152
220
  throw new errors_1.AccessControlError('No permission to write.');
153
221
  }
154
222
  };
155
- checkPermissionsSaveAndFilterAcChanges.tilmeld = true;
156
- const addAccess = function (entity) {
223
+ checkPermissionsSaveAndFilterAcChanges.skipOnClone = true;
224
+ const addAccess = function (nymph, entity) {
225
+ const tilmeld = nymph.tilmeld;
157
226
  const user = tilmeld.currentUser;
158
227
  if (user != null &&
159
228
  entity.guid == null &&
@@ -168,13 +237,13 @@ class Tilmeld {
168
237
  entity.group = user.group;
169
238
  }
170
239
  if (entity.acUser == null) {
171
- entity.acUser = Tilmeld.FULL_ACCESS;
240
+ entity.acUser = nymph_1.TilmeldAccessLevels.FULL_ACCESS;
172
241
  }
173
242
  if (entity.acGroup == null) {
174
- entity.acGroup = Tilmeld.READ_ACCESS;
243
+ entity.acGroup = nymph_1.TilmeldAccessLevels.READ_ACCESS;
175
244
  }
176
245
  if (entity.acOther == null) {
177
- entity.acOther = Tilmeld.NO_ACCESS;
246
+ entity.acOther = nymph_1.TilmeldAccessLevels.NO_ACCESS;
178
247
  }
179
248
  if (entity.acRead == null) {
180
249
  entity.acRead = [];
@@ -187,34 +256,34 @@ class Tilmeld {
187
256
  }
188
257
  }
189
258
  };
190
- addAccess.tilmeld = true;
191
- const validate = function (entity) {
259
+ addAccess.skipOnClone = true;
260
+ const validate = function (_nymph, entity) {
192
261
  if (!(entity instanceof User_1.default) && !(entity instanceof Group_1.default)) {
193
262
  const ownershipAcPropertyValidator = (prop) => {
194
263
  if (typeof prop != 'number' ||
195
- prop < Tilmeld.NO_ACCESS ||
196
- prop > Tilmeld.FULL_ACCESS) {
197
- throw new errors_1.AccessControlError('Invalid access control property.');
264
+ prop < nymph_1.TilmeldAccessLevels.NO_ACCESS ||
265
+ prop > nymph_1.TilmeldAccessLevels.FULL_ACCESS) {
266
+ throw new errors_1.AccessControlError('Invalid access control property: ' + prop);
198
267
  }
199
268
  };
200
269
  const accessAcPropertyValidator = (prop) => {
201
270
  if (!Array.isArray(prop)) {
202
- throw new errors_1.AccessControlError('Invalid access control property.');
271
+ throw new errors_1.AccessControlError('Invalid access control property: ' + prop);
203
272
  }
204
273
  prop.forEach((value) => {
205
274
  if (!(value instanceof User_1.default || value instanceof Group_1.default)) {
206
- throw new errors_1.AccessControlError('Invalid access control property.');
275
+ throw new errors_1.AccessControlError('Invalid access control property: ' + prop);
207
276
  }
208
277
  });
209
278
  };
210
279
  if ('user' in entity) {
211
280
  if (!(entity.user instanceof User_1.default)) {
212
- throw new errors_1.AccessControlError('Invalid access control property.');
281
+ throw new errors_1.AccessControlError('Invalid access control property: user');
213
282
  }
214
283
  }
215
284
  if ('group' in entity) {
216
- if (!(entity.Group instanceof Group_1.default)) {
217
- throw new errors_1.AccessControlError('Invalid access control property.');
285
+ if (!(entity.group instanceof Group_1.default)) {
286
+ throw new errors_1.AccessControlError('Invalid access control property: group');
218
287
  }
219
288
  }
220
289
  if ('acUser' in entity) {
@@ -237,7 +306,7 @@ class Tilmeld {
237
306
  }
238
307
  }
239
308
  };
240
- validate.tilmeld = true;
309
+ validate.skipOnClone = true;
241
310
  this.nymph.on('query', handleQuery);
242
311
  this.nymph.on('beforeSaveEntity', addAccess);
243
312
  this.nymph.on('beforeSaveEntity', validate);
@@ -260,14 +329,14 @@ class Tilmeld {
260
329
  ((_d = options.class) === null || _d === void 0 ? void 0 : _d.factorySync()) instanceof Group_1.default)) {
261
330
  return;
262
331
  }
263
- if (user === null) {
332
+ if (user == null || user.guid == null) {
264
333
  selectors.push({
265
334
  type: '|',
266
- gte: [['acOther', Tilmeld.READ_ACCESS]],
335
+ gte: [['acOther', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
267
336
  selector: [
268
337
  {
269
338
  type: '&',
270
- '!defined': ['user', 'group'],
339
+ '!defined': [['user', 'group']],
271
340
  },
272
341
  ],
273
342
  });
@@ -276,52 +345,42 @@ class Tilmeld {
276
345
  const subSelectors = [
277
346
  {
278
347
  type: '&',
279
- '!defined': ['user', 'group'],
348
+ '!defined': [['user', 'group']],
280
349
  },
281
350
  {
282
351
  type: '&',
283
- ref: [['user', user]],
284
- gte: [['acUser', Tilmeld.READ_ACCESS]],
352
+ ref: [['user', user.guid]],
353
+ gte: [['acUser', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
285
354
  },
286
355
  ];
287
- const selector = {
288
- type: '|',
289
- gte: [['acOther', Tilmeld.READ_ACCESS]],
290
- selector: subSelectors,
291
- ref: [
292
- ['acRead', user],
293
- ['acWrite', user],
294
- ['acFull', user],
295
- ],
296
- };
297
356
  const groupRefs = [];
298
357
  const acRefs = [];
299
358
  if (user.group != null && user.group.guid != null) {
300
- groupRefs.push(['group', user.group]);
301
- acRefs.push(['acRead', user.group]);
302
- acRefs.push(['acWrite', user.group]);
303
- 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]);
304
363
  }
305
364
  for (let curSecondaryGroup of (_e = user.groups) !== null && _e !== void 0 ? _e : []) {
306
365
  if (curSecondaryGroup != null && curSecondaryGroup.guid != null) {
307
- groupRefs.push(['group', curSecondaryGroup]);
308
- acRefs.push(['acRead', curSecondaryGroup]);
309
- acRefs.push(['acWrite', curSecondaryGroup]);
310
- 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]);
311
370
  }
312
371
  }
313
372
  for (let curDescendantGroup of user.$getDescendantGroupsSync()) {
314
373
  if (curDescendantGroup != null && curDescendantGroup.guid != null) {
315
- groupRefs.push(['group', curDescendantGroup]);
316
- acRefs.push(['acRead', curDescendantGroup]);
317
- acRefs.push(['acWrite', curDescendantGroup]);
318
- 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]);
319
378
  }
320
379
  }
321
380
  if (groupRefs.length) {
322
381
  subSelectors.push({
323
382
  type: '&',
324
- gte: [['acGroup', Tilmeld.READ_ACCESS]],
383
+ gte: [['acGroup', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
325
384
  selector: [
326
385
  {
327
386
  type: '|',
@@ -336,10 +395,20 @@ class Tilmeld {
336
395
  ref: acRefs,
337
396
  });
338
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
+ };
339
408
  selectors.push(selector);
340
409
  }
341
410
  }
342
- checkPermissions(entity, type = Tilmeld.READ_ACCESS, user) {
411
+ checkPermissions(entity, type = nymph_1.TilmeldAccessLevels.READ_ACCESS, user) {
343
412
  var _a, _b, _c, _d, _e, _f, _g;
344
413
  if (typeof entity !== 'object' || typeof entity.$is !== 'function') {
345
414
  return false;
@@ -358,15 +427,16 @@ class Tilmeld {
358
427
  return true;
359
428
  }
360
429
  if ((entity instanceof User_1.default || entity instanceof Group_1.default) &&
361
- (type === Tilmeld.READ_ACCESS || userOrEmpty.$gatekeeper('tilmeld/admin'))) {
430
+ (type === nymph_1.TilmeldAccessLevels.READ_ACCESS ||
431
+ userOrEmpty.$gatekeeper('tilmeld/admin'))) {
362
432
  return true;
363
433
  }
364
434
  if (entity.user == null && entity.group == null) {
365
435
  return true;
366
436
  }
367
- const acUser = (_a = entity.acUser) !== null && _a !== void 0 ? _a : Tilmeld.FULL_ACCESS;
368
- const acGroup = (_b = entity.acGroup) !== null && _b !== void 0 ? _b : Tilmeld.READ_ACCESS;
369
- const acOther = (_c = entity.acOther) !== null && _c !== void 0 ? _c : Tilmeld.NO_ACCESS;
437
+ const acUser = (_a = entity.acUser) !== null && _a !== void 0 ? _a : nymph_1.TilmeldAccessLevels.FULL_ACCESS;
438
+ const acGroup = (_b = entity.acGroup) !== null && _b !== void 0 ? _b : nymph_1.TilmeldAccessLevels.READ_ACCESS;
439
+ const acOther = (_c = entity.acOther) !== null && _c !== void 0 ? _c : nymph_1.TilmeldAccessLevels.NO_ACCESS;
370
440
  if (userOrNull === null) {
371
441
  return acOther >= type;
372
442
  }
@@ -376,16 +446,25 @@ class Tilmeld {
376
446
  if (userOrEmpty.group != null &&
377
447
  typeof userOrEmpty.group.$is === 'function' &&
378
448
  userOrEmpty.group.$is(entity) &&
379
- type === Tilmeld.READ_ACCESS) {
449
+ type === nymph_1.TilmeldAccessLevels.READ_ACCESS) {
380
450
  return true;
381
451
  }
382
452
  let allGroups = userOrEmpty.group == null ? [] : [userOrEmpty.group];
383
453
  allGroups = allGroups.concat((_d = userOrEmpty.groups) !== null && _d !== void 0 ? _d : []);
384
454
  allGroups = allGroups.concat(userOrEmpty.$getDescendantGroupsSync());
385
455
  const checks = [
386
- { type: Tilmeld.FULL_ACCESS, array: [...((_e = entity.acFull) !== null && _e !== void 0 ? _e : [])] },
387
- { type: Tilmeld.WRITE_ACCESS, array: [...((_f = entity.acWrite) !== null && _f !== void 0 ? _f : [])] },
388
- { type: Tilmeld.READ_ACCESS, array: [...((_g = entity.acRead) !== null && _g !== void 0 ? _g : [])] },
456
+ {
457
+ type: nymph_1.TilmeldAccessLevels.FULL_ACCESS,
458
+ array: [...((_e = entity.acFull) !== null && _e !== void 0 ? _e : [])],
459
+ },
460
+ {
461
+ type: nymph_1.TilmeldAccessLevels.WRITE_ACCESS,
462
+ array: [...((_f = entity.acWrite) !== null && _f !== void 0 ? _f : [])],
463
+ },
464
+ {
465
+ type: nymph_1.TilmeldAccessLevels.READ_ACCESS,
466
+ array: [...((_g = entity.acRead) !== null && _g !== void 0 ? _g : [])],
467
+ },
389
468
  ];
390
469
  for (let curCheck of checks) {
391
470
  if (type <= curCheck.type) {
@@ -412,6 +491,37 @@ class Tilmeld {
412
491
  }
413
492
  return acOther >= type;
414
493
  }
494
+ checkClientUIDPermissions(name, type = nymph_1.TilmeldAccessLevels.READ_ACCESS, user) {
495
+ let userOrEmpty = this.User.factorySync();
496
+ if (user == null) {
497
+ userOrEmpty = this.User.current(true);
498
+ }
499
+ else if (user !== false) {
500
+ userOrEmpty = user;
501
+ }
502
+ if (userOrEmpty.$gatekeeper('system/admin')) {
503
+ return true;
504
+ }
505
+ if (type === nymph_1.TilmeldAccessLevels.FULL_ACCESS) {
506
+ return (this.config.clientSetabledUIDs.indexOf(name) !== -1 ||
507
+ userOrEmpty.$gatekeeper(`uid/set/${name}`));
508
+ }
509
+ else if (type === nymph_1.TilmeldAccessLevels.WRITE_ACCESS) {
510
+ return (this.config.clientEnabledUIDs.indexOf(name) !== -1 ||
511
+ this.config.clientSetabledUIDs.indexOf(name) !== -1 ||
512
+ userOrEmpty.$gatekeeper(`uid/new/${name}`) ||
513
+ userOrEmpty.$gatekeeper(`uid/set/${name}`));
514
+ }
515
+ else if (type === nymph_1.TilmeldAccessLevels.READ_ACCESS) {
516
+ return (this.config.clientReadableUIDs.indexOf(name) !== -1 ||
517
+ this.config.clientEnabledUIDs.indexOf(name) !== -1 ||
518
+ this.config.clientSetabledUIDs.indexOf(name) !== -1 ||
519
+ userOrEmpty.$gatekeeper(`uid/get/${name}`) ||
520
+ userOrEmpty.$gatekeeper(`uid/new/${name}`) ||
521
+ userOrEmpty.$gatekeeper(`uid/set/${name}`));
522
+ }
523
+ return false;
524
+ }
415
525
  fillSession(user) {
416
526
  var _a;
417
527
  const _group = user.group;
@@ -464,9 +574,9 @@ class Tilmeld {
464
574
  const cookies = (_a = this.request.cookies) !== null && _a !== void 0 ? _a : {};
465
575
  let fromAuthHeader = false;
466
576
  let authToken;
467
- if (this.request.header('HTTP_X_TILMELDAUTH') != null) {
577
+ if (this.request.header('x-tilmeldauth') != null) {
468
578
  fromAuthHeader = true;
469
- authToken = this.request.header('HTTP_X_TILMELDAUTH');
579
+ authToken = this.request.header('x-tilmeldauth');
470
580
  }
471
581
  else if ('TILMELDAUTH' in cookies) {
472
582
  fromAuthHeader = false;
@@ -481,7 +591,7 @@ class Tilmeld {
481
591
  extract = this.config.jwtExtract(this.config, authToken);
482
592
  }
483
593
  else {
484
- const xsrfToken = this.request.header('HTTP_X_XSRF_TOKEN');
594
+ const xsrfToken = this.request.header('x-xsrf-token');
485
595
  if (xsrfToken == null && !fromAuthHeader) {
486
596
  return false;
487
597
  }
@@ -539,8 +649,4 @@ class Tilmeld {
539
649
  }
540
650
  }
541
651
  exports.default = Tilmeld;
542
- Tilmeld.NO_ACCESS = 0;
543
- Tilmeld.READ_ACCESS = 1;
544
- Tilmeld.WRITE_ACCESS = 2;
545
- Tilmeld.FULL_ACCESS = 4;
546
652
  //# sourceMappingURL=Tilmeld.js.map
@@ -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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"}