@spinajs/rbac 2.0.463 → 2.0.465

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.
@@ -43,10 +43,26 @@ export declare function _get_users_by_role(role: string[]): () => import("@spina
43
43
  * @returns
44
44
  */
45
45
  export declare function _get_user(user: User | number | string): () => Promise<User>;
46
+ /**
47
+ * Sets metadata key-value pairs on a user.
48
+ * Accepts either an array of `{ key, value }` objects or a single metadata key string with a separate value.
49
+ * Emits a {@link UserMetadataChange} event after the metadata is persisted.
50
+ *
51
+ * @param meta - metadata key (string) or array of `{ key, value }` entries to set
52
+ * @param value - value to assign when `meta` is a single key string (default: `null`)
53
+ * @returns a function that receives a {@link User} and returns the updated user
54
+ */
46
55
  export declare function _set_user_meta(meta: string | {
47
56
  key: string;
48
57
  value: any;
49
58
  }[], value?: any): (u: User) => Promise<User>;
59
+ /**
60
+ * Retrieves a single metadata value from a user by key.
61
+ * Throws if the user's metadata has not been populated or the requested key does not exist.
62
+ *
63
+ * @param key - metadata key to retrieve
64
+ * @returns a function that receives a {@link User} and returns the metadata value
65
+ */
50
66
  export declare function _get_user_meta(key: string): (u: User) => Promise<any>;
51
67
  /**
52
68
  * Helper function for sending user notification emails
@@ -56,8 +72,29 @@ export declare function _get_user_meta(key: string): (u: User) => Promise<any>;
56
72
  * @returns
57
73
  */
58
74
  export declare function _user_email(cfgTemplate: 'changePassword' | 'created' | 'confirm' | 'deactivated' | 'activated' | 'deleted' | 'unbanned' | 'banned' | 'passwordWillExpire' | 'passwordExpired'): (u: User) => Promise<void>;
75
+ /**
76
+ * Emits a user-related event through the queue service.
77
+ *
78
+ * @param event - constructor of the {@link UserEvent} subclass to emit
79
+ * @param args - additional arguments forwarded to the event constructor
80
+ * @returns a function that receives a {@link User}, emits the event, and returns the user
81
+ */
59
82
  export declare function _user_ev(event: Constructor<UserEvent>, ...args: any[]): (u: User) => Promise<User>;
83
+ /**
84
+ * Persists partial changes to a user record and emits a {@link UserChanged} event.
85
+ *
86
+ * @param data - optional partial user fields to merge into the existing record
87
+ * @returns a function that receives a {@link User}, applies the update, and returns the user
88
+ */
60
89
  export declare function _user_update(data?: Partial<User>): (u: User) => Promise<User>;
90
+ /**
91
+ * Resolves a user by identifier with metadata populated.
92
+ * If a {@link User} instance is passed it is returned as-is; otherwise the user is
93
+ * looked up by id, uuid, email, or login and its metadata relation is populated.
94
+ *
95
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
96
+ * @returns a thunk that resolves to the {@link User}
97
+ */
61
98
  export declare function _user(identifier: number | string | User): () => Promise<User>;
62
99
  /**
63
100
  * Unsafe user retrieval. It does not chack for rbac permission, to this
@@ -72,23 +109,69 @@ export declare function _user_unsafe(identifier: number | string | User): () =>
72
109
  * USER ACTIONS
73
110
  * ===============================================
74
111
  */
112
+ /**
113
+ * Activates a user account.
114
+ * Sets `IsActive` to `true`, emits a {@link UserActivated} event, and sends the activation email.
115
+ *
116
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
117
+ */
75
118
  export declare function activate(identifier: number | string | User): Promise<unknown>;
76
- export declare function deactivate(identifier: number | string | User): Promise<void>;
77
119
  /**
120
+ * Deactivates a user account.
121
+ * Sets `IsActive` to `false`, emits a {@link UserDeactivated} event, and sends the deactivation email.
78
122
  *
79
- * @param email
80
- * @param login
81
- * @param password
82
- * @param roles
83
- * @param id optional user id ( if we migrate from other system we want to keep user id )
84
- * @returns
123
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
124
+ */
125
+ export declare function deactivate(identifier: number | string | User): Promise<void>;
126
+ /**
127
+ * Middleware signature used by the `create` action's `beforeCreate` / `afterCreate` hooks.
128
+ */
129
+ export type CreateMiddleware = (u: User) => Promise<User> | User;
130
+ /**
131
+ * Creates a new user account.
132
+ *
133
+ * Validates and normalises inputs, hashes the password, inserts the user record,
134
+ * optionally sets metadata, runs configured `beforeCreate` / `afterCreate` middleware,
135
+ * emits a {@link UserCreated} event, and sends the "created" email.
136
+ *
137
+ * @param email - user email address (max 64 chars)
138
+ * @param login - user login name (max 32 chars)
139
+ * @param password - plain-text password; if empty a random one is generated
140
+ * @param roles - array of role names to assign
141
+ * @param id - optional explicit user id (useful when migrating from another system)
142
+ * @param metadata - optional key-value metadata to attach to the new user
143
+ * @returns an object containing the persisted {@link User} and the plain-text password
85
144
  */
86
- export declare function create(email: string, login: string, password: string, roles: string[], id?: number): Promise<{
145
+ export declare function create(email: string, login: string, password: string, roles: string[], id?: number, metadata?: {
146
+ [key: string]: any;
147
+ }): Promise<{
87
148
  User: User;
88
149
  Password: string;
89
150
  }>;
151
+ /**
152
+ * Permanently deletes a user from the database.
153
+ * Emits a {@link UserDeleted} event and sends the "deleted" email.
154
+ *
155
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
156
+ */
90
157
  export declare function deleteUser(identifier: number | string | User): Promise<void>;
158
+ /**
159
+ * Grants an additional role to a user.
160
+ * The role is added only if not already present. Emits a {@link UserRoleGranted} event.
161
+ *
162
+ * @param identifier - numeric id or uuid / email / login string
163
+ * @param role - role name to grant
164
+ * @returns the updated {@link User}
165
+ */
91
166
  export declare function grant(identifier: number | string, role: string): Promise<User>;
167
+ /**
168
+ * Revokes a role from a user.
169
+ * Removes the role from the user's role list and emits a {@link UserRoleRevoked} event.
170
+ *
171
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
172
+ * @param role - role name to revoke
173
+ * @returns the updated {@link User}
174
+ */
92
175
  export declare function revoke(identifier: number | string | User, role: string): Promise<User>;
93
176
  /**
94
177
  *
@@ -108,8 +191,32 @@ export declare function ban(identifier: number | string | User, reason?: string,
108
191
  * @returns
109
192
  */
110
193
  export declare function unban(identifier: number | string | User): Promise<User>;
194
+ /**
195
+ * Initiates a password-change request for a user.
196
+ * Generates a reset token, stores it along with the current timestamp and configured
197
+ * wait time in the user's metadata, and emits a {@link UserPasswordChangeRequest} event.
198
+ *
199
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
200
+ */
111
201
  export declare function passwordChangeRequest(identifier: number | string | User): Promise<unknown>;
202
+ /**
203
+ * Confirms a password reset by validating the token and expiration, then changing the password.
204
+ * Throws if the token has expired or does not match the stored value.
205
+ *
206
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
207
+ * @param newPassword - the new plain-text password to set
208
+ * @param token - the reset token that was issued by {@link passwordChangeRequest}
209
+ */
112
210
  export declare function confirmPasswordReset(identifier: number | string | User, newPassword: string, token: string): Promise<unknown>;
211
+ /**
212
+ * Returns a function that changes a user's password.
213
+ * The new password is validated against the configured {@link PasswordValidationProvider},
214
+ * hashed via the configured {@link PasswordProvider}, persisted, and a
215
+ * {@link UserPasswordChanged} event is emitted.
216
+ *
217
+ * @param password - new plain-text password
218
+ * @returns a function that receives a {@link User} and returns the updated user
219
+ */
113
220
  export declare function changePassword(password: string): (u: User) => Promise<User>;
114
221
  /**
115
222
  *
@@ -126,5 +233,15 @@ export declare function expirePassword(identifier: number | string | User): Prom
126
233
  * @returns
127
234
  */
128
235
  export declare function passwordMatch(password: string): (u: User) => Promise<boolean>;
236
+ /**
237
+ * Authenticates a user with the given password.
238
+ * Delegates to the configured {@link AuthProvider}, updates `LastLoginAt`, and emits a
239
+ * {@link UserLogged} event on success. On failure a {@link UserLoginFailed} event is emitted
240
+ * and the original error is re-thrown.
241
+ *
242
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
243
+ * @param password - plain-text password to verify
244
+ * @returns the authenticated {@link User}
245
+ */
129
246
  export declare function login(identifier: number | string | User, password: string): Promise<User>;
130
247
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"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"}
@@ -104,6 +104,15 @@ function _get_user(user) {
104
104
  }
105
105
  return () => Promise.resolve(user);
106
106
  }
107
+ /**
108
+ * Sets metadata key-value pairs on a user.
109
+ * Accepts either an array of `{ key, value }` objects or a single metadata key string with a separate value.
110
+ * Emits a {@link UserMetadataChange} event after the metadata is persisted.
111
+ *
112
+ * @param meta - metadata key (string) or array of `{ key, value }` entries to set
113
+ * @param value - value to assign when `meta` is a single key string (default: `null`)
114
+ * @returns a function that receives a {@link User} and returns the updated user
115
+ */
107
116
  function _set_user_meta(meta, value = null) {
108
117
  return async (u) => {
109
118
  const mArgs = (0, util_1._check_arg)((0, util_1._non_nil)(new exceptions_1.ErrorCode(E_CODES.E_METADATA_NOT_POPULATED, 'User metadata not loaded', { user: u })), (0, util_1._to_array)())(meta, 'Metadata');
@@ -118,6 +127,13 @@ function _set_user_meta(meta, value = null) {
118
127
  return u;
119
128
  };
120
129
  }
130
+ /**
131
+ * Retrieves a single metadata value from a user by key.
132
+ * Throws if the user's metadata has not been populated or the requested key does not exist.
133
+ *
134
+ * @param key - metadata key to retrieve
135
+ * @returns a function that receives a {@link User} and returns the metadata value
136
+ */
121
137
  function _get_user_meta(key) {
122
138
  return async (u) => {
123
139
  (0, util_1._check_arg)((0, util_1._non_nil)(new exceptions_1.ErrorCode(E_CODES.E_METADATA_NOT_POPULATED, 'User metadata not loaded', { user: u, key })))(u.Metadata, 'Metadata');
@@ -150,18 +166,39 @@ function _user_email(cfgTemplate) {
150
166
  });
151
167
  };
152
168
  }
169
+ /**
170
+ * Emits a user-related event through the queue service.
171
+ *
172
+ * @param event - constructor of the {@link UserEvent} subclass to emit
173
+ * @param args - additional arguments forwarded to the event constructor
174
+ * @returns a function that receives a {@link User}, emits the event, and returns the user
175
+ */
153
176
  function _user_ev(event, ...args) {
154
177
  return async (u) => {
155
178
  await (0, queue_1._ev)(new event(u, ...args))();
156
179
  return u;
157
180
  };
158
181
  }
182
+ /**
183
+ * Persists partial changes to a user record and emits a {@link UserChanged} event.
184
+ *
185
+ * @param data - optional partial user fields to merge into the existing record
186
+ * @returns a function that receives a {@link User}, applies the update, and returns the user
187
+ */
159
188
  function _user_update(data) {
160
189
  return async (u) => {
161
190
  await (0, util_1._chain)(u, (0, orm_1._update)(data), _user_ev(index_js_1.UserChanged));
162
191
  return u;
163
192
  };
164
193
  }
194
+ /**
195
+ * Resolves a user by identifier with metadata populated.
196
+ * If a {@link User} instance is passed it is returned as-is; otherwise the user is
197
+ * looked up by id, uuid, email, or login and its metadata relation is populated.
198
+ *
199
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
200
+ * @returns a thunk that resolves to the {@link User}
201
+ */
165
202
  function _user(identifier) {
166
203
  const id = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_nil)())(identifier, 'identifier');
167
204
  if (id instanceof User_js_1.User) {
@@ -188,22 +225,40 @@ function _user_unsafe(identifier) {
188
225
  * USER ACTIONS
189
226
  * ===============================================
190
227
  */
228
+ /**
229
+ * Activates a user account.
230
+ * Sets `IsActive` to `true`, emits a {@link UserActivated} event, and sends the activation email.
231
+ *
232
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
233
+ */
191
234
  async function activate(identifier) {
192
- return (0, util_1._chain)(_user(identifier), _user_update({ IsActive: true }), _user_ev(index_js_1.UserActivated));
235
+ return (0, util_1._chain)(_user(identifier), _user_update({ IsActive: true }), _user_ev(index_js_1.UserActivated), _user_email('activated'));
193
236
  }
237
+ /**
238
+ * Deactivates a user account.
239
+ * Sets `IsActive` to `false`, emits a {@link UserDeactivated} event, and sends the deactivation email.
240
+ *
241
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
242
+ */
194
243
  async function deactivate(identifier) {
195
- return (0, util_1._chain)(_user(identifier), _user_update({ IsActive: false }), _user_ev(index_js_1.UserDeactivated));
244
+ return (0, util_1._chain)(_user(identifier), _user_update({ IsActive: false }), _user_ev(index_js_1.UserDeactivated), _user_email('deactivated'));
196
245
  }
197
246
  /**
247
+ * Creates a new user account.
198
248
  *
199
- * @param email
200
- * @param login
201
- * @param password
202
- * @param roles
203
- * @param id optional user id ( if we migrate from other system we want to keep user id )
204
- * @returns
249
+ * Validates and normalises inputs, hashes the password, inserts the user record,
250
+ * optionally sets metadata, runs configured `beforeCreate` / `afterCreate` middleware,
251
+ * emits a {@link UserCreated} event, and sends the "created" email.
252
+ *
253
+ * @param email - user email address (max 64 chars)
254
+ * @param login - user login name (max 32 chars)
255
+ * @param password - plain-text password; if empty a random one is generated
256
+ * @param roles - array of role names to assign
257
+ * @param id - optional explicit user id (useful when migrating from another system)
258
+ * @param metadata - optional key-value metadata to attach to the new user
259
+ * @returns an object containing the persisted {@link User} and the plain-text password
205
260
  */
206
- async function create(email, login, password, roles, id) {
261
+ async function create(email, login, password, roles, id, metadata) {
207
262
  const sPassword = await (0, configuration_1._service)('rbac.password', interfaces_js_1.PasswordProvider)();
208
263
  email = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)(), (0, util_1._is_email)(), (0, util_1._max_length)(64))(email, 'email');
209
264
  login = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)(), (0, util_1._max_length)(32))(login, 'login');
@@ -222,22 +277,50 @@ async function create(email, login, password, roles, id) {
222
277
  IsActive: false,
223
278
  Uuid: (0, uuid_1.v4)(),
224
279
  })),
280
+ // run before create middleware
281
+ (u) => (0, util_1._chain)((0, configuration_1._cfg)('rbac.actions.create.beforeCreate', []), (beforeCreate) => (0, util_1._chain)(u, ...beforeCreate)),
225
282
  // insert to db
226
- (0, orm_1._insert)(),
283
+ (0, orm_1._insert)(), (0, util_1._either)(() => metadata !== undefined, _set_user_meta(metadata ? Object.entries(metadata).map(([key, value]) => ({ key, value })) : []), async (u) => u),
284
+ // run after create middleware
285
+ (u) => (0, util_1._chain)((0, configuration_1._cfg)('rbac.actions.create.afterCreate', []), (afterCreate) => (0, util_1._chain)(u, ...afterCreate)),
227
286
  // send event
228
287
  _user_ev(index_js_1.UserCreated, (u) => u.toJSON()),
288
+ // send email
289
+ (0, util_1._tap)(_user_email('created')),
229
290
  // return user & password - if generated we want to know not hashed password
230
291
  (u) => {
231
292
  return { User: u, Password: password };
232
293
  });
233
294
  }
295
+ /**
296
+ * Permanently deletes a user from the database.
297
+ * Emits a {@link UserDeleted} event and sends the "deleted" email.
298
+ *
299
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
300
+ */
234
301
  async function deleteUser(identifier) {
235
- return (0, util_1._chain)(_user(identifier), (0, util_1._tap)((u) => u.destroy()), _user_ev(index_js_1.UserDeleted));
302
+ return (0, util_1._chain)(_user(identifier), (0, util_1._tap)((u) => u.destroy()), _user_ev(index_js_1.UserDeleted), _user_email('deleted'));
236
303
  }
304
+ /**
305
+ * Grants an additional role to a user.
306
+ * The role is added only if not already present. Emits a {@link UserRoleGranted} event.
307
+ *
308
+ * @param identifier - numeric id or uuid / email / login string
309
+ * @param role - role name to grant
310
+ * @returns the updated {@link User}
311
+ */
237
312
  async function grant(identifier, role) {
238
313
  role = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(role, 'role');
239
314
  return (0, util_1._chain)(_user(identifier), (0, util_1._tap)(async (u) => (u.Role = lodash_1.default.uniq([...u.Role, role]))), _user_update(), _user_ev(index_js_1.UserRoleGranted, role));
240
315
  }
316
+ /**
317
+ * Revokes a role from a user.
318
+ * Removes the role from the user's role list and emits a {@link UserRoleRevoked} event.
319
+ *
320
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
321
+ * @param role - role name to revoke
322
+ * @returns the updated {@link User}
323
+ */
241
324
  async function revoke(identifier, role) {
242
325
  role = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(role, 'role');
243
326
  return (0, util_1._chain)(_user(identifier), (0, util_1._tap)(async (u) => (u.Role = u.Role.filter((r) => r !== role))), _user_update(), _user_ev(index_js_1.UserRoleRevoked, role));
@@ -264,7 +347,7 @@ async function ban(identifier, reason, duration) {
264
347
  { key: User_js_1.USER_COMMON_METADATA.USER_BAN_REASON, value: reason },
265
348
  { key: User_js_1.USER_COMMON_METADATA.USER_BAN_IS_BANNED, value: true },
266
349
  { key: User_js_1.USER_COMMON_METADATA.USER_BAN_START_DATE, value: luxon_1.DateTime.now() },
267
- ]), _user_ev(index_js_1.UserBanned));
350
+ ]), _user_ev(index_js_1.UserBanned), _user_email('banned'));
268
351
  }
269
352
  /**
270
353
  *
@@ -280,6 +363,13 @@ async function unban(identifier) {
280
363
  }
281
364
  }, _set_user_meta('/^user:ban/', null), _user_ev(index_js_1.UserUnbanned));
282
365
  }
366
+ /**
367
+ * Initiates a password-change request for a user.
368
+ * Generates a reset token, stores it along with the current timestamp and configured
369
+ * wait time in the user's metadata, and emits a {@link UserPasswordChangeRequest} event.
370
+ *
371
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
372
+ */
283
373
  async function passwordChangeRequest(identifier) {
284
374
  const pwdWaitTime = await (0, configuration_1._cfg)('rbac.password.reset_wait_time')();
285
375
  return (0, util_1._chain)(_user(identifier), _set_user_meta([
@@ -288,6 +378,14 @@ async function passwordChangeRequest(identifier) {
288
378
  { key: User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_WAIT_TIME, value: pwdWaitTime },
289
379
  ]), _user_ev(index_js_1.UserPasswordChangeRequest));
290
380
  }
381
+ /**
382
+ * Confirms a password reset by validating the token and expiration, then changing the password.
383
+ * Throws if the token has expired or does not match the stored value.
384
+ *
385
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
386
+ * @param newPassword - the new plain-text password to set
387
+ * @param token - the reset token that was issued by {@link passwordChangeRequest}
388
+ */
291
389
  async function confirmPasswordReset(identifier, newPassword, token) {
292
390
  return (0, util_1._chain)(_user(identifier), (0, util_1._tap)((u) => (0, util_1._chain)(u, (0, util_1._zip)(_get_user_meta(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_START_DATE), _get_user_meta(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_WAIT_TIME)), ([dueDate, waitTime]) => {
293
391
  if (dueDate.plus(waitTime) < luxon_1.DateTime.now()) {
@@ -308,6 +406,15 @@ async function confirmPasswordReset(identifier, newPassword, token) {
308
406
  }
309
407
  })), changePassword(newPassword));
310
408
  }
409
+ /**
410
+ * Returns a function that changes a user's password.
411
+ * The new password is validated against the configured {@link PasswordValidationProvider},
412
+ * hashed via the configured {@link PasswordProvider}, persisted, and a
413
+ * {@link UserPasswordChanged} event is emitted.
414
+ *
415
+ * @param password - new plain-text password
416
+ * @returns a function that receives a {@link User} and returns the updated user
417
+ */
311
418
  function changePassword(password) {
312
419
  password = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(password, 'password');
313
420
  return async (u) => {
@@ -342,6 +449,16 @@ function passwordMatch(password) {
342
449
  return await (0, util_1._chain)(u, (0, configuration_1._service)('rbac.password', interfaces_js_1.PasswordProvider), async (sPwd, u) => sPwd.verify(u.Password, password));
343
450
  };
344
451
  }
452
+ /**
453
+ * Authenticates a user with the given password.
454
+ * Delegates to the configured {@link AuthProvider}, updates `LastLoginAt`, and emits a
455
+ * {@link UserLogged} event on success. On failure a {@link UserLoginFailed} event is emitted
456
+ * and the original error is re-thrown.
457
+ *
458
+ * @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
459
+ * @param password - plain-text password to verify
460
+ * @returns the authenticated {@link User}
461
+ */
345
462
  async function login(identifier, password) {
346
463
  password = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(password, 'password');
347
464
  return await (0, util_1._chain)(_user_unsafe(identifier), (0, util_1._catch)((u) => {
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,11 @@ declare const rbac: {
94
94
  template: string;
95
95
  subject: string;
96
96
  };
97
+ activated: {
98
+ enabled: boolean;
99
+ template: string;
100
+ subject: string;
101
+ };
97
102
  confirm: {
98
103
  enabled: boolean;
99
104
  template: string;
@@ -174,6 +179,18 @@ declare const rbac: {
174
179
  * System role is used to perform internal operations on users, like password reset, email change etc.
175
180
  */
176
181
  systemRole: string;
182
+ /**
183
+ * Middleware functions for user actions.
184
+ * Each action can have before and after middleware arrays.
185
+ * Middleware functions receive the User and should return the User.
186
+ * eg. beforeCreate: [(u: User) => { u.Metadata['custom:key'] = 'value'; return u; }]
187
+ */
188
+ actions: {
189
+ create: {
190
+ beforeCreate: Array<Function>;
191
+ afterCreate: Array<Function>;
192
+ };
193
+ };
177
194
  /**
178
195
  * Column name in database where role is stored, by default is "Role", but if your user table has different column name, you can change it here
179
196
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../../src/config/rbac.ts"],"names":[],"mappings":"AAcA,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA6KJ;;eAEG;;;;;YASH;;eAEG;;;;;;;;;;QAcL;;WAEG;;QAGH;;WAEG;;;CAGN,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../../src/config/rbac.ts"],"names":[],"mappings":"AAcA,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAmLJ;;eAEG;;;;;YASH;;eAEG;;;;;;;;;;QAcL;;WAEG;;QAEH;;;;;eAKO;;;8BAGiB,KAAK,CAAC,QAAQ,CAAC;6BAChB,KAAK,CAAC,QAAQ,CAAC;;;QAMtC;;WAEG;;;CAGN,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -86,6 +86,11 @@ const rbac = {
86
86
  template: './user-password-will-expire-soon.pug',
87
87
  subject: 'Your password will expire soon',
88
88
  },
89
+ activated: {
90
+ enabled: true,
91
+ template: './user-activated-email-template.pug',
92
+ subject: 'Account activated',
93
+ },
89
94
  // when user is created, should he confirm email
90
95
  // if false, user is acvite at creation,
91
96
  // when true, first, user will be sent confirmation email
@@ -189,6 +194,18 @@ const rbac = {
189
194
  * System role is used to perform internal operations on users, like password reset, email change etc.
190
195
  */
191
196
  systemRole: 'system',
197
+ /**
198
+ * Middleware functions for user actions.
199
+ * Each action can have before and after middleware arrays.
200
+ * Middleware functions receive the User and should return the User.
201
+ * eg. beforeCreate: [(u: User) => { u.Metadata['custom:key'] = 'value'; return u; }]
202
+ */
203
+ actions: {
204
+ create: {
205
+ beforeCreate: [],
206
+ afterCreate: [],
207
+ },
208
+ },
192
209
  /**
193
210
  * Column name in database where role is stored, by default is "Role", but if your user table has different column name, you can change it here
194
211
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rbac.js","sourceRoot":"","sources":["../../../src/config/rbac.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rbac.js","sourceRoot":"","sources":["../../../src/config/rbac.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM,OAIhD;AAGD;;;;;;GAMG;AACH,wBAAgB,aAAa,QAI5B"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM,OAIhD;AAGD;;;;;;GAMG;AACH,wBAAgB,aAAa,QA6B5B"}
@@ -25,6 +25,30 @@ function OrmResource(resourceName) {
25
25
  function ResourceOwner() {
26
26
  return (0, orm_1.extractDecoratorPropertyDescriptor)((model, _target, propertyKey) => {
27
27
  model.OwnerField = propertyKey;
28
+ // Also register the field as a column so ORM WhereStatement recognizes it
29
+ if (model.Columns && !model.Columns.find((c) => c.Name === propertyKey)) {
30
+ model.Columns.push({
31
+ Name: propertyKey,
32
+ Type: '',
33
+ MaxLength: 0,
34
+ Comment: '',
35
+ DefaultValue: null,
36
+ NativeType: '',
37
+ Unsigned: false,
38
+ Nullable: false,
39
+ PrimaryKey: false,
40
+ AutoIncrement: false,
41
+ Converter: null,
42
+ Schema: null,
43
+ Unique: false,
44
+ Uuid: false,
45
+ Ignore: false,
46
+ Aggregate: false,
47
+ IsForeignKey: false,
48
+ ForeignKeyDescription: null,
49
+ Virtual: false,
50
+ });
51
+ }
28
52
  });
29
53
  }
30
54
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":";;AAUA,kCAIC;AAUD,sCAIC;AA5BD,sCAA8F;AAG9F;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,YAAqB;IAC/C,OAAO,IAAA,gCAA0B,EAAC,CAAC,KAA2B,EAAE,EAAE;QAChE,KAAK,CAAC,YAAY,GAAG,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAGD;;;;;;GAMG;AACH,SAAgB,aAAa;IAC3B,OAAO,IAAA,wCAAkC,EAAC,CAAC,KAA2B,EAAE,OAAY,EAAE,WAAmB,EAAE,EAAE;QAC3G,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":";;AAUA,kCAIC;AAUD,sCA6BC;AArDD,sCAA8F;AAG9F;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,YAAqB;IAC/C,OAAO,IAAA,gCAA0B,EAAC,CAAC,KAA2B,EAAE,EAAE;QAChE,KAAK,CAAC,YAAY,GAAG,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAGD;;;;;;GAMG;AACH,SAAgB,aAAa;IAC3B,OAAO,IAAA,wCAAkC,EAAC,CAAC,KAA2B,EAAE,OAAY,EAAE,WAAmB,EAAE,EAAE;QAC3G,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC;QAE/B,0EAA0E;QAC1E,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;YACxE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK;gBACjB,aAAa,EAAE,KAAK;gBACpB,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,KAAK;gBACnB,qBAAqB,EAAE,IAAI;gBAC3B,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}