@nymphjs/tilmeld 1.0.0-beta.8 → 1.0.0-beta.80

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 +364 -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
@@ -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
@@ -1,8 +1,23 @@
1
- import { EntityData, EntityJson, EntityPatch, SerializedEntityData } from '@nymphjs/nymph';
2
- import type Tilmeld from './Tilmeld';
1
+ import type { Nymph, EntityData, EntityJson, EntityPatch, SerializedEntityData } from '@nymphjs/nymph';
3
2
  import AbleObject from './AbleObject';
4
- import Group, { GroupData } from './Group';
5
- export type EventType = 'beforeRegister' | 'afterRegister' | 'beforeLogin' | 'afterLogin' | 'beforeLogout' | 'afterLogout';
3
+ import type Group from './Group';
4
+ import type { GroupData } from './Group';
5
+ export type EventType = 'checkUsername' | 'beforeRegister' | 'afterRegister' | 'beforeLogin' | 'afterLogin' | 'beforeLogout' | 'afterLogout';
6
+ /**
7
+ * This is run when the user has entered an otherwise valid username into the
8
+ * signup form. It should return a result, which when false will stop the
9
+ * process and return the included message, disallowing the username.
10
+ */
11
+ export type TilmeldCheckUsernameCallback = (user: User & UserData, data: {
12
+ username: string;
13
+ }) => Promise<{
14
+ result: boolean;
15
+ message?: string;
16
+ }>;
17
+ /**
18
+ * Theses are run before the user data checks, so the only checks before are
19
+ * whether registration is allowed and whether the user is already registered.
20
+ */
6
21
  export type TilmeldBeforeRegisterCallback = (user: User & UserData, data: {
7
22
  password: string;
8
23
  additionalData?: {
@@ -13,6 +28,9 @@ export type TilmeldAfterRegisterCallback = (user: User & UserData, result: {
13
28
  loggedin: boolean;
14
29
  message: string;
15
30
  }) => Promise<void>;
31
+ /**
32
+ * These are run after the authentication checks, but before the login action.
33
+ */
16
34
  export type TilmeldBeforeLoginCallback = (user: User & UserData, data: {
17
35
  username: string;
18
36
  password: string;
@@ -20,39 +38,139 @@ export type TilmeldBeforeLoginCallback = (user: User & UserData, data: {
20
38
  [k: string]: any;
21
39
  };
22
40
  }) => Promise<void>;
41
+ /**
42
+ * This is run before the transaction is committed, and you can perform
43
+ * additional functions on the transaction, which is available in `user.$nymph`.
44
+ */
23
45
  export type TilmeldAfterLoginCallback = (user: User & UserData) => Promise<void>;
24
46
  export type TilmeldBeforeLogoutCallback = (user: User & UserData) => Promise<void>;
25
47
  export type TilmeldAfterLogoutCallback = (user: User & UserData) => Promise<void>;
26
48
  export type UserData = {
49
+ /**
50
+ * The abilities granted to the user.
51
+ */
27
52
  abilities?: string[];
53
+ /**
54
+ * The user's username.
55
+ */
28
56
  username?: string;
57
+ /**
58
+ * The user's first name.
59
+ */
29
60
  nameFirst?: string;
61
+ /**
62
+ * The user's middle name.
63
+ */
30
64
  nameMiddle?: string;
65
+ /**
66
+ * The user's last name.
67
+ */
31
68
  nameLast?: string;
69
+ /**
70
+ * The user's full name. This is generated from the first, middle, and last
71
+ * names.
72
+ */
32
73
  name?: string;
74
+ /**
75
+ * The user's email address.
76
+ */
33
77
  email?: string;
78
+ /**
79
+ * The user's avatar URL. (Use $getAvatar() to support Gravatar.)
80
+ */
34
81
  avatar?: string;
82
+ /**
83
+ * The user's telephone number.
84
+ */
35
85
  phone?: string;
86
+ /**
87
+ * The user's primary group.
88
+ */
36
89
  group?: Group & GroupData;
90
+ /**
91
+ * The user's secondary groups.
92
+ */
37
93
  groups?: (Group & GroupData)[];
94
+ /**
95
+ * Whether the user should inherit the abilities of his groups.
96
+ */
38
97
  inheritAbilities?: boolean;
98
+ /**
99
+ * Whether the user can log in.
100
+ */
39
101
  enabled?: boolean;
102
+ /**
103
+ * A verification secret.
104
+ */
40
105
  secret?: string;
106
+ /**
107
+ * The timestamp of when the email address was last changed.
108
+ */
41
109
  emailChangeDate?: number;
110
+ /**
111
+ * An email change proceed secret.
112
+ */
42
113
  newEmailSecret?: string;
114
+ /**
115
+ * If the user has changed their email address, this is the new one, awaiting
116
+ * verification.
117
+ */
43
118
  newEmailAddress?: string;
119
+ /**
120
+ * An email change cancellation secret.
121
+ */
44
122
  cancelEmailSecret?: string;
123
+ /**
124
+ * The old email address.
125
+ */
45
126
  cancelEmailAddress?: string;
127
+ /**
128
+ * A recovery secret.
129
+ */
46
130
  recoverSecret?: string;
131
+ /**
132
+ * The timestamp of when the recovery secret was issued.
133
+ */
47
134
  recoverSecretDate?: number;
135
+ /**
136
+ * The password hash salt.
137
+ */
48
138
  salt?: string;
139
+ /**
140
+ * The password or password hash.
141
+ */
49
142
  password?: string;
143
+ /**
144
+ * Temporary storage for passwords. This will be hashed before going into the
145
+ * database.
146
+ */
50
147
  passwordTemp?: string;
148
+ /**
149
+ * If set, this timestamp is the cutoff point for JWT issue dates. Any token
150
+ * issued before this date will not authenticate the user.
151
+ */
152
+ revokeTokenDate?: number;
153
+ /**
154
+ * Two factor auth secret.
155
+ */
156
+ totpSecret?: string;
51
157
  };
158
+ /**
159
+ * A user data model.
160
+ *
161
+ * Written by Hunter Perrin for SciActive.
162
+ *
163
+ * @author Hunter Perrin <hperrin@gmail.com>
164
+ * @copyright SciActive Inc
165
+ * @see http://nymph.io/
166
+ */
52
167
  export default class User extends AbleObject<UserData> {
53
- static tilmeld: Tilmeld;
168
+ /**
169
+ * The instance of Tilmeld to use for queries.
170
+ */
54
171
  static ETYPE: string;
55
172
  static class: string;
173
+ private static checkUsernameCallbacks;
56
174
  private static beforeRegisterCallbacks;
57
175
  private static afterRegisterCallbacks;
58
176
  private static beforeLoginCallbacks;
@@ -68,16 +186,42 @@ export default class User extends AbleObject<UserData> {
68
186
  static searchRestrictedData: string[];
69
187
  protected $allowlistData?: string[] | undefined;
70
188
  protected $allowlistTags?: string[];
189
+ /**
190
+ * Gatekeeper ability cache.
191
+ *
192
+ * Gatekeeper will cache the user's abilities that it calculates, so it can
193
+ * check faster if that user has been checked before.
194
+ */
71
195
  private $gatekeeperCache?;
196
+ /**
197
+ * This should only be used by the backend.
198
+ */
72
199
  private $skipAcWhenSaving;
200
+ /**
201
+ * This should only be used by the backend.
202
+ */
203
+ private $skipAcWhenDeleting;
204
+ /**
205
+ * The user's group descendants.
206
+ */
73
207
  private $descendantGroups?;
208
+ /**
209
+ * Used to save the current email address to send verification if it changes
210
+ * from the frontend.
211
+ *
212
+ * If you are changing a user's email address and want to bypass email
213
+ * verification, don't set this.
214
+ */
74
215
  $originalEmail?: string;
75
- static factory(guid?: string): Promise<User & UserData>;
76
216
  static factoryUsername(username?: string): Promise<User & UserData>;
77
- static factorySync(guid?: string): User & UserData;
78
- constructor(guid?: string);
79
217
  static current(returnObjectIfNotExist: true): User & UserData;
80
218
  static current(returnObjectIfNotExist?: false): (User & UserData) | null;
219
+ /**
220
+ * Send an account recovery link.
221
+ *
222
+ * @param data The input data from the client.
223
+ * @returns An object with a boolean 'result' entry and a 'message' entry.
224
+ */
81
225
  static sendRecovery(data: {
82
226
  recoveryType: 'username' | 'password';
83
227
  account: string;
@@ -85,6 +229,12 @@ export default class User extends AbleObject<UserData> {
85
229
  result: boolean;
86
230
  message: string;
87
231
  }>;
232
+ /**
233
+ * Recover account details.
234
+ *
235
+ * @param data The input data from the client.
236
+ * @returns An object with a boolean 'result' entry and a 'message' entry.
237
+ */
88
238
  static recover(data: {
89
239
  username: string;
90
240
  secret: string;
@@ -106,6 +256,7 @@ export default class User extends AbleObject<UserData> {
106
256
  static loginUser(data: {
107
257
  username: string;
108
258
  password: string;
259
+ code?: string;
109
260
  additionalData?: {
110
261
  [k: string]: any;
111
262
  };
@@ -114,51 +265,223 @@ export default class User extends AbleObject<UserData> {
114
265
  message: string;
115
266
  user?: (User & UserData) | undefined;
116
267
  }>;
268
+ constructor();
269
+ $setNymph(nymph: Nymph): void;
270
+ $getUniques(): Promise<string[]>;
117
271
  $login(data: {
118
272
  username: string;
119
273
  password: string;
274
+ code?: string;
120
275
  additionalData?: {
121
276
  [k: string]: any;
122
277
  };
123
278
  }): Promise<{
279
+ result: boolean;
280
+ needTOTP: boolean;
281
+ message: string;
282
+ } | {
124
283
  result: boolean;
125
284
  message: any;
285
+ needTOTP?: undefined;
126
286
  }>;
287
+ $switchUser(data?: {
288
+ additionalData?: {
289
+ [k: string]: any;
290
+ };
291
+ }): Promise<{
292
+ result: boolean;
293
+ message: any;
294
+ }>;
295
+ /**
296
+ * Log a user out of the system.
297
+ * @returns An object with a boolean 'result' entry and a 'message' entry.
298
+ */
127
299
  $logout(): Promise<{
128
300
  result: boolean;
129
301
  message: any;
130
302
  }>;
131
303
  $getAvatar(): string;
304
+ $getGid(): string | null;
305
+ $getGids(): string[] | null;
306
+ /**
307
+ * Get the user's group descendants.
308
+ */
132
309
  $getDescendantGroups(): Promise<(Group & GroupData)[]>;
133
- $getDescendantGroupsSync(): (Group & GroupData)[];
134
310
  $jsonAcceptData(input: EntityJson, allowConflict?: boolean): void;
135
311
  $jsonAcceptPatch(patch: EntityPatch, allowConflict?: boolean): void;
136
312
  $putData(data: EntityData, sdata?: SerializedEntityData): void;
313
+ /**
314
+ * Update the data protection arrays for a user.
315
+ *
316
+ * @param givenUser User to update protection for. If undefined, will use the currently logged in user.
317
+ */
137
318
  $updateDataProtection(givenUser?: User & UserData): void;
138
- $gatekeeper(ability?: string): boolean;
319
+ $updateGroupDataProtection(): void;
320
+ /**
321
+ * Check to see if a user has an ability.
322
+ *
323
+ * This function will check both user and group abilities, if the user is
324
+ * marked to inherit the abilities of its group.
325
+ *
326
+ * If `ability` is undefined, it will check to see if the user is currently
327
+ * logged in.
328
+ *
329
+ * If the user has the "system/admin" ability, this function will return true.
330
+ *
331
+ * @param ability The ability.
332
+ * @returns True or false.
333
+ */
334
+ $gatekeeper(ability?: string): Promise<boolean>;
335
+ /**
336
+ * Build a gatekeeper cache object.
337
+ */
338
+ $getGatekeeperCache(): Promise<{
339
+ [k: string]: true;
340
+ }>;
139
341
  $clearCache(): void;
342
+ /**
343
+ * Send the user email verification/change/cancellation links.
344
+ *
345
+ * @returns True on success, false on failure.
346
+ */
140
347
  $sendEmailVerification(): Promise<boolean>;
141
- $addGroup(group: Group & GroupData): true | (Group & GroupData)[];
348
+ /**
349
+ * Add the user to a (secondary) group.
350
+ *
351
+ * @param group The group.
352
+ * @returns True if the user is already in the group. The resulting array of groups if the user was not.
353
+ */
354
+ $addGroup(group: Group & GroupData): Promise<true | (Group & GroupData)[]>;
355
+ /**
356
+ * Check the given password against the user's.
357
+ *
358
+ * @param password The password in question.
359
+ * @returns True if the passwords match, otherwise false.
360
+ */
142
361
  $checkPassword(password: string): boolean;
143
- $delGroup(group: Group & GroupData): true | (Group & GroupData)[];
144
- $inGroup(group: (Group & GroupData) | string): boolean;
145
- $isDescendant(group: (Group & GroupData) | string): boolean;
362
+ /**
363
+ * Remove the user from a (secondary) group.
364
+ *
365
+ * @param group The group.
366
+ * @returns True if the user wasn't in the group. The resulting array of groups if the user was.
367
+ */
368
+ $delGroup(group: Group & GroupData): Promise<true | (Group & GroupData)[]>;
369
+ /**
370
+ * Check whether the user is in a (primary or secondary) group.
371
+ *
372
+ * @param group The group, or the group's GUID.
373
+ * @returns True or false.
374
+ */
375
+ $inGroup(group: (Group & GroupData) | string): Promise<boolean>;
376
+ /**
377
+ * Check whether the user is a descendant of a group.
378
+ *
379
+ * @param group The group, or the group's GUID.
380
+ * @returns True or false.
381
+ */
382
+ $isDescendant(group: (Group & GroupData) | string): Promise<boolean>;
383
+ /**
384
+ * A frontend accessible method to change the user's password.
385
+ *
386
+ * @param data The input data from the client.
387
+ * @returns An object with a boolean 'result' entry and a 'message' entry.
388
+ */
146
389
  $changePassword(data: {
147
390
  newPassword: string;
148
391
  currentPassword: string;
392
+ revokeCurrentTokens?: boolean;
149
393
  }): Promise<{
150
394
  result: boolean;
151
395
  message: string;
152
396
  }>;
397
+ /**
398
+ * Change the user's password.
399
+ *
400
+ * @param password The new password.
401
+ * @returns The resulting password or hash which is stored in the entity.
402
+ */
153
403
  $password(password: string): string;
404
+ /**
405
+ * A frontend accessible method to revoke all currently issued tokens.
406
+ *
407
+ * @param data The input data from the client.
408
+ * @returns An object with a boolean 'result' entry and a 'message' entry.
409
+ */
410
+ $revokeCurrentTokens(data: {
411
+ password: string;
412
+ }): Promise<{
413
+ result: boolean;
414
+ message: string;
415
+ }>;
416
+ $hasTOTPSecret(): Promise<boolean>;
417
+ /**
418
+ * Check the given code against the user's TOTP secret.
419
+ *
420
+ * @param code The code in question.
421
+ * @returns True if the code is valid, otherwise false.
422
+ */
423
+ $checkTOTPCode(code: string): boolean;
424
+ /**
425
+ * A frontend accessible method to generate a new TOTP secret.
426
+ *
427
+ * @returns An object with 'uri', 'qrcode', and 'secret'.
428
+ */
429
+ $getNewTOTPSecret(): Promise<{
430
+ uri: string;
431
+ qrcode: string;
432
+ secret: string;
433
+ }>;
434
+ /**
435
+ * A frontend accessible method to save a TOTP secret into the user's account.
436
+ *
437
+ * @param data The input data from the client.
438
+ * @returns An object with a boolean 'result' entry and a 'message' entry.
439
+ */
440
+ $saveTOTPSecret(data: {
441
+ password: string;
442
+ secret: string;
443
+ code: string;
444
+ }): Promise<{
445
+ result: boolean;
446
+ message: string;
447
+ }>;
448
+ /**
449
+ * A frontend accessible method to remove the TOTP secret from the user's
450
+ * account.
451
+ *
452
+ * @param data The input data from the client.
453
+ * @returns An object with a boolean 'result' entry and a 'message' entry.
454
+ */
455
+ $removeTOTPSecret(data?: {
456
+ password: string;
457
+ code: string;
458
+ }): Promise<{
459
+ result: boolean;
460
+ message: string;
461
+ }>;
462
+ /**
463
+ * Check that a username is valid.
464
+ *
465
+ * @returns An object with a boolean 'result' entry and a 'message' entry.
466
+ */
154
467
  $checkUsername(): Promise<{
155
468
  result: boolean;
156
469
  message: string;
157
470
  }>;
471
+ /**
472
+ * Check that an email is unique.
473
+ *
474
+ * @returns An object with a boolean 'result' entry and a 'message' entry.
475
+ */
158
476
  $checkEmail(): Promise<{
159
477
  result: boolean;
160
478
  message: string;
161
479
  }>;
480
+ /**
481
+ * Check that a phone number is unique.
482
+ *
483
+ * @returns An object with a boolean 'result' entry and a 'message' entry.
484
+ */
162
485
  $checkPhone(): Promise<{
163
486
  result: boolean;
164
487
  message: string;
@@ -174,9 +497,14 @@ export default class User extends AbleObject<UserData> {
174
497
  message: string;
175
498
  }>;
176
499
  $save(): Promise<boolean>;
500
+ /**
501
+ * This should *never* be accessible on the client.
502
+ */
177
503
  $saveSkipAC(): Promise<boolean>;
178
504
  $tilmeldSaveSkipAC(): boolean;
179
505
  $delete(): Promise<boolean>;
180
- static on<T extends EventType>(event: T, callback: T extends 'beforeRegister' ? TilmeldBeforeRegisterCallback : T extends 'afterRegister' ? TilmeldAfterRegisterCallback : T extends 'beforeLogin' ? TilmeldBeforeLoginCallback : T extends 'afterLogin' ? TilmeldAfterLoginCallback : T extends 'beforeLogout' ? TilmeldBeforeLogoutCallback : T extends 'afterLogout' ? TilmeldAfterLogoutCallback : never): () => boolean;
181
- static off<T extends EventType>(event: T, callback: T extends 'beforeRegister' ? TilmeldBeforeRegisterCallback : T extends 'afterRegister' ? TilmeldAfterRegisterCallback : T extends 'beforeLogin' ? TilmeldBeforeLoginCallback : T extends 'afterLogin' ? TilmeldAfterLoginCallback : T extends 'beforeLogout' ? TilmeldBeforeLogoutCallback : T extends 'afterLogout' ? TilmeldAfterLogoutCallback : never): boolean;
506
+ $deleteSkipAC(): Promise<boolean>;
507
+ $tilmeldDeleteSkipAC(): boolean;
508
+ static on<T extends EventType>(event: T, callback: T extends 'checkUsername' ? TilmeldCheckUsernameCallback : T extends 'beforeRegister' ? TilmeldBeforeRegisterCallback : T extends 'afterRegister' ? TilmeldAfterRegisterCallback : T extends 'beforeLogin' ? TilmeldBeforeLoginCallback : T extends 'afterLogin' ? TilmeldAfterLoginCallback : T extends 'beforeLogout' ? TilmeldBeforeLogoutCallback : T extends 'afterLogout' ? TilmeldAfterLogoutCallback : never): () => boolean;
509
+ static off<T extends EventType>(event: T, callback: T extends 'checkUsername' ? TilmeldCheckUsernameCallback : T extends 'beforeRegister' ? TilmeldBeforeRegisterCallback : T extends 'afterRegister' ? TilmeldAfterRegisterCallback : T extends 'beforeLogin' ? TilmeldBeforeLoginCallback : T extends 'afterLogin' ? TilmeldAfterLoginCallback : T extends 'beforeLogout' ? TilmeldBeforeLogoutCallback : T extends 'afterLogout' ? TilmeldAfterLogoutCallback : never): boolean;
182
510
  }