@nymphjs/tilmeld 1.0.0-beta.7 → 1.0.0-beta.70

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.
Files changed (57) hide show
  1. package/CHANGELOG.md +326 -0
  2. package/README.md +14 -1
  3. package/dist/AbleObject.d.ts +15 -0
  4. package/dist/AbleObject.js +16 -1
  5. package/dist/AbleObject.js.map +1 -1
  6. package/dist/Group.d.ts +130 -10
  7. package/dist/Group.js +311 -129
  8. package/dist/Group.js.map +1 -1
  9. package/dist/Group.test.js +77 -2
  10. package/dist/Group.test.js.map +1 -1
  11. package/dist/Tilmeld.d.ts +237 -9
  12. package/dist/Tilmeld.js +569 -201
  13. package/dist/Tilmeld.js.map +1 -1
  14. package/dist/User.d.ts +344 -16
  15. package/dist/User.js +979 -313
  16. package/dist/User.js.map +1 -1
  17. package/dist/User.test.js +63 -2
  18. package/dist/User.test.js.map +1 -1
  19. package/dist/conf/d.d.ts +250 -3
  20. package/dist/conf/defaults.js +146 -98
  21. package/dist/conf/defaults.js.map +1 -1
  22. package/dist/enforceTilmeld.d.ts +3 -0
  23. package/dist/enforceTilmeld.js +22 -0
  24. package/dist/enforceTilmeld.js.map +1 -0
  25. package/dist/errors/AccessControlError.d.ts +2 -1
  26. package/dist/errors/AccessControlError.js +3 -2
  27. package/dist/errors/AccessControlError.js.map +1 -1
  28. package/dist/errors/BadDataError.d.ts +2 -1
  29. package/dist/errors/BadDataError.js +3 -2
  30. package/dist/errors/BadDataError.js.map +1 -1
  31. package/dist/errors/BadEmailError.d.ts +2 -1
  32. package/dist/errors/BadEmailError.js +3 -2
  33. package/dist/errors/BadEmailError.js.map +1 -1
  34. package/dist/errors/BadUsernameError.d.ts +2 -1
  35. package/dist/errors/BadUsernameError.js +3 -2
  36. package/dist/errors/BadUsernameError.js.map +1 -1
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.js +1 -0
  39. package/dist/index.js.map +1 -1
  40. package/package.json +30 -26
  41. package/src/AbleObject.ts +2 -2
  42. package/src/Group.test.ts +102 -4
  43. package/src/Group.ts +274 -158
  44. package/src/Tilmeld.ts +383 -249
  45. package/src/User.test.ts +80 -4
  46. package/src/User.ts +1061 -382
  47. package/src/conf/d.ts +26 -13
  48. package/src/conf/defaults.ts +151 -104
  49. package/src/enforceTilmeld.ts +20 -0
  50. package/src/errors/AccessControlError.ts +4 -2
  51. package/src/errors/BadDataError.ts +4 -2
  52. package/src/errors/BadEmailError.ts +4 -2
  53. package/src/errors/BadUsernameError.ts +4 -2
  54. package/src/index.ts +2 -0
  55. package/src/tilmeldJoiProps.ts +9 -9
  56. package/tsconfig.json +3 -3
  57. package/typedoc.json +4 -0
@@ -47,21 +47,25 @@ exports.default = {
47
47
  validRegexNotice: 'Usernames and groupnames must begin and end with a letter or number.',
48
48
  validEmailRegex: /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,
49
49
  validEmailRegexNotice: 'Email must be a correctly formatted address.',
50
+ minUsernameLength: 1,
50
51
  maxUsernameLength: 128,
51
52
  jwtSecret: '',
52
- jwtExpire: 60 * 60 * 24 * 7 * 8,
53
- jwtRenew: 60 * 60 * 24 * 7 * 2,
54
- jwtBuilder: (config, user) => {
53
+ jwtExpire: 60 * 60 * 24 * 7 * 24, // 24 weeks(ish) (6 months)
54
+ jwtSwitchExpire: 60 * 60 * 6, // 6 hours
55
+ jwtRenew: 60 * 60 * 24 * 7 * 12, // 12 weeks(ish) (3 months)
56
+ jwtBuilder: (config, user, switchToken) => {
55
57
  const secret = config.jwtSecret;
56
58
  if (secret === '') {
57
59
  throw new Error('JWT secret is not configured.');
58
60
  }
59
61
  return jsonwebtoken_1.default.sign({
60
62
  iss: config.appUrl,
61
- nbf: Date.now() / 1000,
63
+ nbf: Math.floor(Date.now() / 1000),
64
+ exp: Math.floor(Date.now() / 1000) +
65
+ (switchToken ? config.jwtSwitchExpire : config.jwtExpire),
62
66
  guid: user.guid,
63
67
  xsrfToken: 'TILMELDXSRF-' + (0, guid_1.nanoid)(),
64
- }, secret, { expiresIn: config.jwtExpire });
68
+ }, secret);
65
69
  },
66
70
  jwtExtract: (config, token, xsrfToken) => {
67
71
  const secret = config.jwtSecret;
@@ -71,23 +75,27 @@ exports.default = {
71
75
  try {
72
76
  const payload = jsonwebtoken_1.default.verify(token, secret, {
73
77
  issuer: config.appUrl,
74
- clockTolerance: 10,
78
+ clockTolerance: 60,
75
79
  });
76
80
  if (typeof payload === 'string') {
77
81
  return null;
78
82
  }
79
- const { guid, xsrfToken: jwtXsrfToken, exp } = payload;
83
+ const { guid, xsrfToken: jwtXsrfToken, exp, nbf } = payload;
80
84
  if (xsrfToken != null && xsrfToken !== jwtXsrfToken) {
81
85
  return null;
82
86
  }
83
87
  if (typeof guid !== 'string' || guid.length !== 24) {
84
88
  return null;
85
89
  }
90
+ if (nbf == null) {
91
+ return null;
92
+ }
93
+ const issued = new Date(nbf * 1000);
86
94
  if (exp == null) {
87
95
  return null;
88
96
  }
89
97
  const expire = new Date(exp * 1000);
90
- return { guid, expire };
98
+ return { guid, issued, expire };
91
99
  }
92
100
  catch (e) {
93
101
  return null;
@@ -112,14 +120,17 @@ exports.default = {
112
120
  ...options,
113
121
  template: path_1.default.join(tilmeld.config.emailTemplateDir, options.template ?? '.'),
114
122
  locals: {
123
+ // System
115
124
  siteName: tilmeld.config.appName,
116
125
  siteLink: tilmeld.config.appUrl,
126
+ // Recipient
117
127
  toUsername: user.username ?? '',
118
128
  toName: user.name ?? '',
119
129
  toFirstName: user.nameFirst ?? '',
120
130
  toLastName: user.nameLast ?? '',
121
131
  toEmail: user.email ?? '',
122
132
  toPhone: user.phone ?? '',
133
+ // Current User with Tilmeld.
123
134
  ...(tilmeld.User.current()
124
135
  ? {
125
136
  username: tilmeld.User.current(true).username,
@@ -135,27 +146,46 @@ exports.default = {
135
146
  return !!result;
136
147
  }
137
148
  catch (e) {
149
+ tilmeld.nymph.config.debugError('tilmeld', `Failed to send email: ${e}`);
138
150
  return false;
139
151
  }
140
152
  },
141
153
  userRegisteredRecipient: null,
142
- validatorGroup: (group) => {
154
+ validatorGroup: (tilmeld, group) => {
155
+ const nameFields = tilmeld.config.userFields.includes('name')
156
+ ? {
157
+ name: joi_1.default.string()
158
+ .trim(false)
159
+ .pattern(/[\x01-\x1F\x7F]/, {
160
+ name: 'control characters',
161
+ invert: true,
162
+ })
163
+ .max(512)
164
+ .required(),
165
+ }
166
+ : {};
167
+ const emailFields = tilmeld.config.userFields.includes('email')
168
+ ? {
169
+ email: joi_1.default.string()
170
+ .trim(false)
171
+ .email({ minDomainSegments: 1, tlds: false })
172
+ .required(),
173
+ }
174
+ : {};
175
+ const phoneFields = tilmeld.config.userFields.includes('phone')
176
+ ? {
177
+ phone: joi_1.default.string()
178
+ .trim(false)
179
+ .pattern(/^[0-9]+$/, 'numbers'),
180
+ }
181
+ : {};
143
182
  joi_1.default.attempt(group.$getValidatable(), joi_1.default.object().keys({
144
183
  ...nymph_1.nymphJoiProps,
184
+ ...nameFields,
185
+ ...emailFields,
186
+ ...phoneFields,
145
187
  groupname: joi_1.default.string().trim(false).required(),
146
188
  enabled: joi_1.default.boolean().required(),
147
- email: joi_1.default.string()
148
- .trim(false)
149
- .email({ minDomainSegments: 1, tlds: false })
150
- .required(),
151
- name: joi_1.default.string()
152
- .trim(false)
153
- .pattern(/[\x01-\x1F\x7F]/, {
154
- name: 'control characters',
155
- invert: true,
156
- })
157
- .max(512)
158
- .required(),
159
189
  avatar: joi_1.default.string()
160
190
  .trim(false)
161
191
  .uri()
@@ -164,9 +194,6 @@ exports.default = {
164
194
  invert: true,
165
195
  })
166
196
  .max(1024),
167
- phone: joi_1.default.string()
168
- .trim(false)
169
- .pattern(/^[0-9]+$/, 'numbers'),
170
197
  parent: joi_1.default.object().instance(Group_1.default),
171
198
  user: joi_1.default.object().instance(User_1.default),
172
199
  abilities: joi_1.default.array().items(joi_1.default.string()
@@ -180,45 +207,99 @@ exports.default = {
180
207
  unverifiedSecondary: joi_1.default.boolean(),
181
208
  }), 'Invalid Group: ');
182
209
  },
183
- validatorUser: (user) => {
210
+ validatorUser: (tilmeld, user) => {
211
+ const nameFields = tilmeld.config.userFields.includes('name')
212
+ ? {
213
+ nameFirst: joi_1.default.string()
214
+ .trim(false)
215
+ .pattern(/[\x01-\x1F\x7F]/, {
216
+ name: 'control characters',
217
+ invert: true,
218
+ })
219
+ .max(512)
220
+ .required(),
221
+ nameMiddle: joi_1.default.string()
222
+ .trim(false)
223
+ .pattern(/[\x01-\x1F\x7F]/, {
224
+ name: 'control characters',
225
+ invert: true,
226
+ })
227
+ .max(512),
228
+ nameLast: joi_1.default.string()
229
+ .trim(false)
230
+ .pattern(/[\x01-\x1F\x7F]/, {
231
+ name: 'control characters',
232
+ invert: true,
233
+ })
234
+ .max(512),
235
+ name: joi_1.default.string()
236
+ .trim(false)
237
+ .pattern(/[\x01-\x1F\x7F]/, {
238
+ name: 'control characters',
239
+ invert: true,
240
+ })
241
+ .max(512)
242
+ .required(),
243
+ }
244
+ : {};
245
+ const emailFields = tilmeld.config.userFields.includes('email')
246
+ ? {
247
+ email: joi_1.default.string()
248
+ .trim(false)
249
+ .email({ minDomainSegments: 1, tlds: false })
250
+ .required(),
251
+ secret: joi_1.default.string()
252
+ .trim(false)
253
+ .pattern(/[\x01-\x1F\x7F]/, {
254
+ name: 'control characters',
255
+ invert: true,
256
+ })
257
+ .length(21),
258
+ emailChangeDate: joi_1.default.number(),
259
+ newEmailSecret: joi_1.default.string()
260
+ .trim(false)
261
+ .pattern(/[\x01-\x1F\x7F]/, {
262
+ name: 'control characters',
263
+ invert: true,
264
+ })
265
+ .length(21),
266
+ newEmailAddress: joi_1.default.string()
267
+ .trim(false)
268
+ .email({ minDomainSegments: 1, tlds: false }),
269
+ cancelEmailSecret: joi_1.default.string()
270
+ .trim(false)
271
+ .pattern(/[\x01-\x1F\x7F]/, {
272
+ name: 'control characters',
273
+ invert: true,
274
+ })
275
+ .length(21),
276
+ cancelEmailAddress: joi_1.default.string()
277
+ .trim(false)
278
+ .email({ minDomainSegments: 1, tlds: false }),
279
+ recoverSecret: joi_1.default.string()
280
+ .trim(false)
281
+ .pattern(/[\x01-\x1F\x7F]/, {
282
+ name: 'control characters',
283
+ invert: true,
284
+ })
285
+ .length(10),
286
+ recoverSecretDate: joi_1.default.number(),
287
+ }
288
+ : {};
289
+ const phoneFields = tilmeld.config.userFields.includes('phone')
290
+ ? {
291
+ phone: joi_1.default.string()
292
+ .trim(false)
293
+ .pattern(/^[0-9]+$/, 'numbers'),
294
+ }
295
+ : {};
184
296
  joi_1.default.attempt(user.$getValidatable(), joi_1.default.object().keys({
185
297
  ...nymph_1.nymphJoiProps,
298
+ ...nameFields,
299
+ ...emailFields,
300
+ ...phoneFields,
186
301
  username: joi_1.default.string().trim(false).required(),
187
302
  enabled: joi_1.default.boolean().required(),
188
- email: joi_1.default.string()
189
- .trim(false)
190
- .email({ minDomainSegments: 1, tlds: false })
191
- .required(),
192
- nameFirst: joi_1.default.string()
193
- .trim(false)
194
- .pattern(/[\x01-\x1F\x7F]/, {
195
- name: 'control characters',
196
- invert: true,
197
- })
198
- .max(512)
199
- .required(),
200
- nameMiddle: joi_1.default.string()
201
- .trim(false)
202
- .pattern(/[\x01-\x1F\x7F]/, {
203
- name: 'control characters',
204
- invert: true,
205
- })
206
- .max(512),
207
- nameLast: joi_1.default.string()
208
- .trim(false)
209
- .pattern(/[\x01-\x1F\x7F]/, {
210
- name: 'control characters',
211
- invert: true,
212
- })
213
- .max(512),
214
- name: joi_1.default.string()
215
- .trim(false)
216
- .pattern(/[\x01-\x1F\x7F]/, {
217
- name: 'control characters',
218
- invert: true,
219
- })
220
- .max(512)
221
- .required(),
222
303
  avatar: joi_1.default.string()
223
304
  .trim(false)
224
305
  .uri()
@@ -227,9 +308,6 @@ exports.default = {
227
308
  invert: true,
228
309
  })
229
310
  .max(1024),
230
- phone: joi_1.default.string()
231
- .trim(false)
232
- .pattern(/^[0-9]+$/, 'numbers'),
233
311
  group: joi_1.default.object().instance(Group_1.default),
234
312
  groups: joi_1.default.array().items(joi_1.default.object().instance(Group_1.default)).required(),
235
313
  abilities: joi_1.default.array().items(joi_1.default.string()
@@ -239,44 +317,14 @@ exports.default = {
239
317
  })
240
318
  .max(256)),
241
319
  inheritAbilities: joi_1.default.boolean(),
242
- secret: joi_1.default.string()
243
- .trim(false)
244
- .pattern(/[\x01-\x1F\x7F]/, {
245
- name: 'control characters',
246
- invert: true,
247
- })
248
- .length(21),
249
- emailChangeDate: joi_1.default.number(),
250
- newEmailSecret: joi_1.default.string()
251
- .trim(false)
252
- .pattern(/[\x01-\x1F\x7F]/, {
253
- name: 'control characters',
254
- invert: true,
255
- })
256
- .length(21),
257
- newEmailAddress: joi_1.default.string()
258
- .trim(false)
259
- .email({ minDomainSegments: 1, tlds: false }),
260
- cancelEmailSecret: joi_1.default.string()
261
- .trim(false)
262
- .pattern(/[\x01-\x1F\x7F]/, {
263
- name: 'control characters',
264
- invert: true,
265
- })
266
- .length(21),
267
- cancelEmailAddress: joi_1.default.string()
268
- .trim(false)
269
- .email({ minDomainSegments: 1, tlds: false }),
270
- recoverSecret: joi_1.default.string()
271
- .trim(false)
272
- .pattern(/[\x01-\x1F\x7F]/, {
273
- name: 'control characters',
274
- invert: true,
275
- })
276
- .length(10),
277
- recoverSecretDate: joi_1.default.number(),
278
320
  salt: joi_1.default.string().trim(false),
279
321
  password: joi_1.default.string().trim(false).required(),
322
+ revokeTokenDate: joi_1.default.number(),
323
+ totpSecret: joi_1.default.string()
324
+ .trim(false)
325
+ .min(24)
326
+ .max(40)
327
+ .pattern(/^[A-Z234567]+$/, 'base32 encoded unpadded'),
280
328
  }), 'Invalid User: ');
281
329
  },
282
330
  };
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/conf/defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/conf/defaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Entity, EntityConstructor, Nymph } from '@nymphjs/nymph';
2
+ import Tilmeld from './Tilmeld';
3
+ export declare function enforceTilmeld(object: Nymph | Entity | EntityConstructor): Tilmeld;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enforceTilmeld = void 0;
4
+ const nymph_1 = require("@nymphjs/nymph");
5
+ function enforceTilmeld(object) {
6
+ let tilmeld;
7
+ if (object instanceof nymph_1.Entity) {
8
+ tilmeld = object.$nymph.tilmeld;
9
+ }
10
+ else if (object instanceof nymph_1.Nymph) {
11
+ tilmeld = object.tilmeld;
12
+ }
13
+ else {
14
+ tilmeld = object.nymph.tilmeld;
15
+ }
16
+ if (tilmeld == null) {
17
+ throw new Error('Tilmeld was not configured on this Nymph instance!');
18
+ }
19
+ return tilmeld;
20
+ }
21
+ exports.enforceTilmeld = enforceTilmeld;
22
+ //# sourceMappingURL=enforceTilmeld.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforceTilmeld.js","sourceRoot":"","sources":["../src/enforceTilmeld.ts"],"names":[],"mappings":";;;AAAA,0CAAkE;AAIlE,SAAgB,cAAc,CAAC,MAA0C;IACvE,IAAI,OAA4B,CAAC;IACjC,IAAI,MAAM,YAAY,cAAM,EAAE,CAAC;QAC7B,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAA8B,CAAC;IACzD,CAAC;SAAM,IAAI,MAAM,YAAY,aAAK,EAAE,CAAC;QACnC,OAAO,GAAG,MAAM,CAAC,OAA8B,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAA8B,CAAC;IACxD,CAAC;IAED,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAfD,wCAeC"}
@@ -1,3 +1,4 @@
1
- export declare class AccessControlError extends Error {
1
+ import { HttpError } from '@nymphjs/server';
2
+ export declare class AccessControlError extends HttpError {
2
3
  constructor(message: string);
3
4
  }
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AccessControlError = void 0;
4
- class AccessControlError extends Error {
4
+ const server_1 = require("@nymphjs/server");
5
+ class AccessControlError extends server_1.HttpError {
5
6
  constructor(message) {
6
- super(message);
7
+ super(message, 403);
7
8
  this.name = 'AccessControlError';
8
9
  }
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AccessControlError.js","sourceRoot":"","sources":["../../src/errors/AccessControlError.ts"],"names":[],"mappings":";;;AAAA,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC"}
1
+ {"version":3,"file":"AccessControlError.js","sourceRoot":"","sources":["../../src/errors/AccessControlError.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,MAAa,kBAAmB,SAAQ,kBAAS;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC"}
@@ -1,3 +1,4 @@
1
- export declare class BadDataError extends Error {
1
+ import { HttpError } from '@nymphjs/server';
2
+ export declare class BadDataError extends HttpError {
2
3
  constructor(message: string);
3
4
  }
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BadDataError = void 0;
4
- class BadDataError extends Error {
4
+ const server_1 = require("@nymphjs/server");
5
+ class BadDataError extends server_1.HttpError {
5
6
  constructor(message) {
6
- super(message);
7
+ super(message, 400);
7
8
  this.name = 'BadDataError';
8
9
  }
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BadDataError.js","sourceRoot":"","sources":["../../src/errors/BadDataError.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AALD,oCAKC"}
1
+ {"version":3,"file":"BadDataError.js","sourceRoot":"","sources":["../../src/errors/BadDataError.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,MAAa,YAAa,SAAQ,kBAAS;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AALD,oCAKC"}
@@ -1,3 +1,4 @@
1
- export declare class BadEmailError extends Error {
1
+ import { HttpError } from '@nymphjs/server';
2
+ export declare class BadEmailError extends HttpError {
2
3
  constructor(message: string);
3
4
  }
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BadEmailError = void 0;
4
- class BadEmailError extends Error {
4
+ const server_1 = require("@nymphjs/server");
5
+ class BadEmailError extends server_1.HttpError {
5
6
  constructor(message) {
6
- super(message);
7
+ super(message, 400);
7
8
  this.name = 'BadEmailError';
8
9
  }
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BadEmailError.js","sourceRoot":"","sources":["../../src/errors/BadEmailError.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC"}
1
+ {"version":3,"file":"BadEmailError.js","sourceRoot":"","sources":["../../src/errors/BadEmailError.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,MAAa,aAAc,SAAQ,kBAAS;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC"}
@@ -1,3 +1,4 @@
1
- export declare class BadUsernameError extends Error {
1
+ import { HttpError } from '@nymphjs/server';
2
+ export declare class BadUsernameError extends HttpError {
2
3
  constructor(message: string);
3
4
  }
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BadUsernameError = void 0;
4
- class BadUsernameError extends Error {
4
+ const server_1 = require("@nymphjs/server");
5
+ class BadUsernameError extends server_1.HttpError {
5
6
  constructor(message) {
6
- super(message);
7
+ super(message, 400);
7
8
  this.name = 'BadUsernameError';
8
9
  }
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BadUsernameError.js","sourceRoot":"","sources":["../../src/errors/BadUsernameError.ts"],"names":[],"mappings":";;;AAAA,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AALD,4CAKC"}
1
+ {"version":3,"file":"BadUsernameError.js","sourceRoot":"","sources":["../../src/errors/BadUsernameError.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,MAAa,gBAAiB,SAAQ,kBAAS;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AALD,4CAKC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './conf';
2
+ export * from './enforceTilmeld';
2
3
  export * from './errors';
3
4
  import AbleObject from './AbleObject';
4
5
  export { AbleObject };
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.User = exports.tilmeldJoiProps = exports.Tilmeld = exports.Group = exports.AbleObject = void 0;
21
21
  __exportStar(require("./conf"), exports);
22
+ __exportStar(require("./enforceTilmeld"), exports);
22
23
  __exportStar(require("./errors"), exports);
23
24
  const AbleObject_1 = __importDefault(require("./AbleObject"));
24
25
  exports.AbleObject = AbleObject_1.default;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,yCAAuB;AAEvB,2CAAyB;AAEzB,8DAAsC;AAC7B,qBADF,oBAAU,CACE;AAEnB,0CAAwB;AACxB,oDAA4B;AACnB,gBADF,eAAK,CACE;AAEd,wDAAgC;AACvB,kBADF,iBAAO,CACE;AAEhB,kDAAgC;AAEhC,wEAAgD;AACvC,0BADF,yBAAe,CACE;AAExB,yCAAuB;AACvB,kDAA0B;AACjB,eADF,cAAI,CACE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,yCAAuB;AAEvB,mDAAiC;AAEjC,2CAAyB;AAEzB,8DAAsC;AAC7B,qBADF,oBAAU,CACE;AAEnB,0CAAwB;AACxB,oDAA4B;AACnB,gBADF,eAAK,CACE;AAEd,wDAAgC;AACvB,kBADF,iBAAO,CACE;AAEhB,kDAAgC;AAEhC,wEAAgD;AACvC,0BADF,yBAAe,CACE;AAExB,yCAAuB;AACvB,kDAA0B;AACjB,eADF,cAAI,CACE"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nymphjs/tilmeld",
3
- "version": "1.0.0-beta.7",
4
- "description": "NymphJS - Tilmeld User and Group System",
3
+ "version": "1.0.0-beta.70",
4
+ "description": "Nymph.js - Tilmeld User and Group System",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -14,7 +14,7 @@
14
14
  "clean": "test -d dist && rm -r dist || true",
15
15
  "build": "tsc",
16
16
  "watch": "tsc --watch",
17
- "prepare": "npm run clean && npm run build",
17
+ "prepublish": "npm run clean && npm run build",
18
18
  "test": "jest",
19
19
  "test:watch": "jest --watch"
20
20
  },
@@ -31,32 +31,36 @@
31
31
  },
32
32
  "license": "Apache-2.0",
33
33
  "dependencies": {
34
- "@nymphjs/guid": "^1.0.0-beta.7",
35
- "@nymphjs/nymph": "^1.0.0-beta.7",
36
- "crypto-js": "^4.1.1",
37
- "email-templates": "^10.0.1",
38
- "express": "^4.18.2",
39
- "joi": "^17.7.0",
40
- "jsonwebtoken": "^9.0.0",
34
+ "@nymphjs/guid": "^1.0.0-beta.70",
35
+ "@nymphjs/nymph": "^1.0.0-beta.70",
36
+ "@nymphjs/server": "^1.0.0-beta.70",
37
+ "crypto-js": "^4.2.0",
38
+ "email-templates": "^11.1.1",
39
+ "express": "^4.18.3",
40
+ "joi": "^17.12.2",
41
+ "jsonwebtoken": "^9.0.2",
41
42
  "locutus": "^2.0.16",
42
43
  "lodash": "^4.17.21",
43
- "pug": "^3.0.2"
44
+ "otpauth": "^9.2.2",
45
+ "pug": "^3.0.2",
46
+ "qrcode": "^1.5.3"
44
47
  },
45
48
  "devDependencies": {
46
- "@nymphjs/client": "^1.0.0-beta.7",
47
- "@nymphjs/client-node": "^1.0.0-beta.7",
48
- "@nymphjs/driver-sqlite3": "^1.0.0-beta.7",
49
- "@tsconfig/recommended": "^1.0.1",
50
- "@types/crypto-js": "^4.1.1",
51
- "@types/email-templates": "^10.0.1",
52
- "@types/express": "^4.17.15",
53
- "@types/jest": "^29.2.5",
54
- "@types/jsonwebtoken": "^9.0.0",
55
- "@types/locutus": "^0.0.6",
56
- "@types/lodash": "^4.14.191",
57
- "jest": "^29.3.1",
58
- "ts-jest": "^29.0.3",
59
- "typescript": "^4.9.4"
49
+ "@nymphjs/client": "^1.0.0-beta.70",
50
+ "@nymphjs/client-node": "^1.0.0-beta.70",
51
+ "@nymphjs/driver-sqlite3": "^1.0.0-beta.70",
52
+ "@tsconfig/recommended": "^1.0.3",
53
+ "@types/crypto-js": "^4.2.2",
54
+ "@types/email-templates": "^10.0.4",
55
+ "@types/express": "^4.17.21",
56
+ "@types/jest": "^29.5.12",
57
+ "@types/jsonwebtoken": "^9.0.6",
58
+ "@types/locutus": "^0.0.8",
59
+ "@types/lodash": "^4.14.202",
60
+ "@types/qrcode": "^1.5.5",
61
+ "jest": "^29.7.0",
62
+ "ts-jest": "^29.1.2",
63
+ "typescript": "^5.3.3"
60
64
  },
61
- "gitHead": "0f2e7433e16e40c704f505a3c8db5383d9e6b240"
65
+ "gitHead": "f9462cc4f589e8b2d8bdaf7bf7b985c7dc34321a"
62
66
  }
package/src/AbleObject.ts CHANGED
@@ -6,7 +6,7 @@ import { Entity } from '@nymphjs/nymph';
6
6
  * Used in entities which support abilities, such as users and groups.
7
7
  */
8
8
  export default abstract class AbleObject<
9
- T extends { abilities?: string[] }
9
+ T extends { abilities?: string[] },
10
10
  > extends Entity<T> {
11
11
  /**
12
12
  * Grant an ability.
@@ -17,7 +17,7 @@ export default abstract class AbleObject<
17
17
  if (!Array.isArray(this.$data.abilities)) {
18
18
  this.$data.abilities = [];
19
19
  }
20
- if (this.$data.abilities.indexOf(ability) === -1) {
20
+ if (!this.$data.abilities.includes(ability)) {
21
21
  this.$data.abilities.push(ability);
22
22
  }
23
23
  }