@spinajs/rbac 2.0.464 → 2.0.466
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/lib/cjs/actions.d.ts +125 -8
- package/lib/cjs/actions.d.ts.map +1 -1
- package/lib/cjs/actions.js +129 -12
- package/lib/cjs/actions.js.map +1 -1
- package/lib/cjs/config/rbac.d.ts +17 -0
- package/lib/cjs/config/rbac.d.ts.map +1 -1
- package/lib/cjs/config/rbac.js +17 -0
- package/lib/cjs/config/rbac.js.map +1 -1
- package/lib/cjs/decorators.d.ts.map +1 -1
- package/lib/cjs/decorators.js +24 -0
- package/lib/cjs/decorators.js.map +1 -1
- package/lib/cjs/models/User.js +1 -1
- package/lib/cjs/models/User.js.map +1 -1
- package/lib/mjs/actions.d.ts +125 -8
- package/lib/mjs/actions.d.ts.map +1 -1
- package/lib/mjs/actions.js +130 -13
- package/lib/mjs/actions.js.map +1 -1
- package/lib/mjs/config/rbac.d.ts +17 -0
- package/lib/mjs/config/rbac.d.ts.map +1 -1
- package/lib/mjs/config/rbac.js +17 -0
- package/lib/mjs/config/rbac.js.map +1 -1
- package/lib/mjs/decorators.d.ts.map +1 -1
- package/lib/mjs/decorators.js +24 -0
- package/lib/mjs/decorators.js.map +1 -1
- package/lib/mjs/models/User.js +1 -1
- package/lib/mjs/models/User.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
package/lib/cjs/models/User.js
CHANGED
|
@@ -55,7 +55,7 @@ class UserQueryScopes {
|
|
|
55
55
|
.whereExist(UserMetadata_js_1.UserMetadata.query().where(function () {
|
|
56
56
|
this.where('Key', USER_COMMON_METADATA.USER_BAN_IS_BANNED);
|
|
57
57
|
this.where('Value', 'true');
|
|
58
|
-
this.where(new orm_1.RawQuery('user_id =
|
|
58
|
+
this.where(new orm_1.RawQuery('user_id = Id'));
|
|
59
59
|
}))
|
|
60
60
|
.selectCount();
|
|
61
61
|
return banned > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,iCAAiC;AACjC,sCAA8O;AAE9O,oCAAiC;AACjC,uDAAmE;AACnE,+BAAoC;AACpC,wCAAwM;AAExM,0DAA8C;AAE9C,MAAa,eAAe;IAE1B;;;;;;OAMG;IACI,QAAQ,CAAsD,KAAe;QAClF,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACI,aAAa,CAAsD,GAAW,EAAE,KAAU;QAC/F,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,IAAA,UAAG,EAAC,IAAA,iBAAU,EAAC,IAAA,eAAQ,GAAE,CAAC,EAAE,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjG,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,IAAA,eAAQ,GAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,SAAS,CAAsD,WAA0B;QAC9F,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,IAAA,UAAG,EAAC,IAAA,iBAAU,EAAC,IAAA,eAAQ,GAAE,CAAC,EAAE,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAEjH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;aACrC,UAAU,CACT,8BAAY,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,cAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/actions.d.ts
CHANGED
|
@@ -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
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
*
|
|
84
|
-
|
|
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
|
|
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
|
package/lib/mjs/actions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAwB,IAAI,EAAY,MAAM,kBAAkB,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AASlD,oBAAY,OAAO;IACjB,eAAe,IAAA;IAEf,eAAe,IAAA;IAEf,qCAAqC,IAAA;IAErC,gBAAgB,IAAA;IAEhB,qBAAqB,IAAA;IAErB,iBAAiB,IAAA;IAEjB,aAAa,IAAA;IAEb,oBAAoB,IAAA;IAEpB,wBAAwB,IAAA;IAExB,sBAAsB,IAAA;IAEtB,mBAAmB,KAAA;IAEnB,YAAY,KAAA;CACb;AAED;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,gBAAgB,qBAiB/B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,yGAEhD;AAID;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,uBAWrD;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,EAAE,EAAE,KAAK,GAAE,GAAU,IAC9E,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/actions.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { _insert, _update } from '@spinajs/orm';
|
|
2
|
-
import { _use, _zip, _tap, _chain, _catch, _check_arg, _gt, _non_nil, _is_email, _non_empty, _trim, _is_number, _is_string, _default, _max_length, _to_array } from '@spinajs/util';
|
|
2
|
+
import { _use, _zip, _tap, _chain, _catch, _check_arg, _gt, _non_nil, _either, _is_email, _non_empty, _trim, _is_number, _is_string, _default, _max_length, _to_array } from '@spinajs/util';
|
|
3
3
|
import _ from 'lodash';
|
|
4
4
|
import { _email_deferred } from '@spinajs/email';
|
|
5
5
|
import { _ev } from '@spinajs/queue';
|
|
@@ -74,6 +74,15 @@ export function _get_user(user) {
|
|
|
74
74
|
}
|
|
75
75
|
return () => Promise.resolve(user);
|
|
76
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Sets metadata key-value pairs on a user.
|
|
79
|
+
* Accepts either an array of `{ key, value }` objects or a single metadata key string with a separate value.
|
|
80
|
+
* Emits a {@link UserMetadataChange} event after the metadata is persisted.
|
|
81
|
+
*
|
|
82
|
+
* @param meta - metadata key (string) or array of `{ key, value }` entries to set
|
|
83
|
+
* @param value - value to assign when `meta` is a single key string (default: `null`)
|
|
84
|
+
* @returns a function that receives a {@link User} and returns the updated user
|
|
85
|
+
*/
|
|
77
86
|
export function _set_user_meta(meta, value = null) {
|
|
78
87
|
return async (u) => {
|
|
79
88
|
const mArgs = _check_arg(_non_nil(new ErrorCode(E_CODES.E_METADATA_NOT_POPULATED, 'User metadata not loaded', { user: u })), _to_array())(meta, 'Metadata');
|
|
@@ -88,6 +97,13 @@ export function _set_user_meta(meta, value = null) {
|
|
|
88
97
|
return u;
|
|
89
98
|
};
|
|
90
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Retrieves a single metadata value from a user by key.
|
|
102
|
+
* Throws if the user's metadata has not been populated or the requested key does not exist.
|
|
103
|
+
*
|
|
104
|
+
* @param key - metadata key to retrieve
|
|
105
|
+
* @returns a function that receives a {@link User} and returns the metadata value
|
|
106
|
+
*/
|
|
91
107
|
export function _get_user_meta(key) {
|
|
92
108
|
return async (u) => {
|
|
93
109
|
_check_arg(_non_nil(new ErrorCode(E_CODES.E_METADATA_NOT_POPULATED, 'User metadata not loaded', { user: u, key })))(u.Metadata, 'Metadata');
|
|
@@ -120,18 +136,39 @@ export function _user_email(cfgTemplate) {
|
|
|
120
136
|
});
|
|
121
137
|
};
|
|
122
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Emits a user-related event through the queue service.
|
|
141
|
+
*
|
|
142
|
+
* @param event - constructor of the {@link UserEvent} subclass to emit
|
|
143
|
+
* @param args - additional arguments forwarded to the event constructor
|
|
144
|
+
* @returns a function that receives a {@link User}, emits the event, and returns the user
|
|
145
|
+
*/
|
|
123
146
|
export function _user_ev(event, ...args) {
|
|
124
147
|
return async (u) => {
|
|
125
148
|
await _ev(new event(u, ...args))();
|
|
126
149
|
return u;
|
|
127
150
|
};
|
|
128
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Persists partial changes to a user record and emits a {@link UserChanged} event.
|
|
154
|
+
*
|
|
155
|
+
* @param data - optional partial user fields to merge into the existing record
|
|
156
|
+
* @returns a function that receives a {@link User}, applies the update, and returns the user
|
|
157
|
+
*/
|
|
129
158
|
export function _user_update(data) {
|
|
130
159
|
return async (u) => {
|
|
131
160
|
await _chain(u, _update(data), _user_ev(UserChanged));
|
|
132
161
|
return u;
|
|
133
162
|
};
|
|
134
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Resolves a user by identifier with metadata populated.
|
|
166
|
+
* If a {@link User} instance is passed it is returned as-is; otherwise the user is
|
|
167
|
+
* looked up by id, uuid, email, or login and its metadata relation is populated.
|
|
168
|
+
*
|
|
169
|
+
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
170
|
+
* @returns a thunk that resolves to the {@link User}
|
|
171
|
+
*/
|
|
135
172
|
export function _user(identifier) {
|
|
136
173
|
const id = _check_arg(_trim(), _non_nil())(identifier, 'identifier');
|
|
137
174
|
if (id instanceof User) {
|
|
@@ -158,22 +195,40 @@ export function _user_unsafe(identifier) {
|
|
|
158
195
|
* USER ACTIONS
|
|
159
196
|
* ===============================================
|
|
160
197
|
*/
|
|
198
|
+
/**
|
|
199
|
+
* Activates a user account.
|
|
200
|
+
* Sets `IsActive` to `true`, emits a {@link UserActivated} event, and sends the activation email.
|
|
201
|
+
*
|
|
202
|
+
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
203
|
+
*/
|
|
161
204
|
export async function activate(identifier) {
|
|
162
|
-
return _chain(_user(identifier), _user_update({ IsActive: true }), _user_ev(UserActivated));
|
|
205
|
+
return _chain(_user(identifier), _user_update({ IsActive: true }), _user_ev(UserActivated), _user_email('activated'));
|
|
163
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* Deactivates a user account.
|
|
209
|
+
* Sets `IsActive` to `false`, emits a {@link UserDeactivated} event, and sends the deactivation email.
|
|
210
|
+
*
|
|
211
|
+
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
212
|
+
*/
|
|
164
213
|
export async function deactivate(identifier) {
|
|
165
|
-
return _chain(_user(identifier), _user_update({ IsActive: false }), _user_ev(UserDeactivated));
|
|
214
|
+
return _chain(_user(identifier), _user_update({ IsActive: false }), _user_ev(UserDeactivated), _user_email('deactivated'));
|
|
166
215
|
}
|
|
167
216
|
/**
|
|
217
|
+
* Creates a new user account.
|
|
168
218
|
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
* @
|
|
172
|
-
*
|
|
173
|
-
* @param
|
|
174
|
-
* @
|
|
219
|
+
* Validates and normalises inputs, hashes the password, inserts the user record,
|
|
220
|
+
* optionally sets metadata, runs configured `beforeCreate` / `afterCreate` middleware,
|
|
221
|
+
* emits a {@link UserCreated} event, and sends the "created" email.
|
|
222
|
+
*
|
|
223
|
+
* @param email - user email address (max 64 chars)
|
|
224
|
+
* @param login - user login name (max 32 chars)
|
|
225
|
+
* @param password - plain-text password; if empty a random one is generated
|
|
226
|
+
* @param roles - array of role names to assign
|
|
227
|
+
* @param id - optional explicit user id (useful when migrating from another system)
|
|
228
|
+
* @param metadata - optional key-value metadata to attach to the new user
|
|
229
|
+
* @returns an object containing the persisted {@link User} and the plain-text password
|
|
175
230
|
*/
|
|
176
|
-
export async function create(email, login, password, roles, id) {
|
|
231
|
+
export async function create(email, login, password, roles, id, metadata) {
|
|
177
232
|
const sPassword = await _service('rbac.password', PasswordProvider)();
|
|
178
233
|
email = _check_arg(_trim(), _non_empty(), _is_email(), _max_length(64))(email, 'email');
|
|
179
234
|
login = _check_arg(_trim(), _non_empty(), _max_length(32))(login, 'login');
|
|
@@ -192,22 +247,50 @@ export async function create(email, login, password, roles, id) {
|
|
|
192
247
|
IsActive: false,
|
|
193
248
|
Uuid: uuidv4(),
|
|
194
249
|
})),
|
|
250
|
+
// run before create middleware
|
|
251
|
+
(u) => _chain(_cfg('rbac.actions.create.beforeCreate', []), (beforeCreate) => _chain(u, ...beforeCreate)),
|
|
195
252
|
// insert to db
|
|
196
|
-
_insert(),
|
|
253
|
+
_insert(), _either(() => metadata !== undefined, _set_user_meta(metadata ? Object.entries(metadata).map(([key, value]) => ({ key, value })) : []), async (u) => u),
|
|
254
|
+
// run after create middleware
|
|
255
|
+
(u) => _chain(_cfg('rbac.actions.create.afterCreate', []), (afterCreate) => _chain(u, ...afterCreate)),
|
|
197
256
|
// send event
|
|
198
257
|
_user_ev(UserCreated, (u) => u.toJSON()),
|
|
258
|
+
// send email
|
|
259
|
+
_tap(_user_email('created')),
|
|
199
260
|
// return user & password - if generated we want to know not hashed password
|
|
200
261
|
(u) => {
|
|
201
262
|
return { User: u, Password: password };
|
|
202
263
|
});
|
|
203
264
|
}
|
|
265
|
+
/**
|
|
266
|
+
* Permanently deletes a user from the database.
|
|
267
|
+
* Emits a {@link UserDeleted} event and sends the "deleted" email.
|
|
268
|
+
*
|
|
269
|
+
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
270
|
+
*/
|
|
204
271
|
export async function deleteUser(identifier) {
|
|
205
|
-
return _chain(_user(identifier), _tap((u) => u.destroy()), _user_ev(UserDeleted));
|
|
272
|
+
return _chain(_user(identifier), _tap((u) => u.destroy()), _user_ev(UserDeleted), _user_email('deleted'));
|
|
206
273
|
}
|
|
274
|
+
/**
|
|
275
|
+
* Grants an additional role to a user.
|
|
276
|
+
* The role is added only if not already present. Emits a {@link UserRoleGranted} event.
|
|
277
|
+
*
|
|
278
|
+
* @param identifier - numeric id or uuid / email / login string
|
|
279
|
+
* @param role - role name to grant
|
|
280
|
+
* @returns the updated {@link User}
|
|
281
|
+
*/
|
|
207
282
|
export async function grant(identifier, role) {
|
|
208
283
|
role = _check_arg(_trim(), _non_empty())(role, 'role');
|
|
209
284
|
return _chain(_user(identifier), _tap(async (u) => (u.Role = _.uniq([...u.Role, role]))), _user_update(), _user_ev(UserRoleGranted, role));
|
|
210
285
|
}
|
|
286
|
+
/**
|
|
287
|
+
* Revokes a role from a user.
|
|
288
|
+
* Removes the role from the user's role list and emits a {@link UserRoleRevoked} event.
|
|
289
|
+
*
|
|
290
|
+
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
291
|
+
* @param role - role name to revoke
|
|
292
|
+
* @returns the updated {@link User}
|
|
293
|
+
*/
|
|
211
294
|
export async function revoke(identifier, role) {
|
|
212
295
|
role = _check_arg(_trim(), _non_empty())(role, 'role');
|
|
213
296
|
return _chain(_user(identifier), _tap(async (u) => (u.Role = u.Role.filter((r) => r !== role))), _user_update(), _user_ev(UserRoleRevoked, role));
|
|
@@ -234,7 +317,7 @@ export async function ban(identifier, reason, duration) {
|
|
|
234
317
|
{ key: USER_COMMON_METADATA.USER_BAN_REASON, value: reason },
|
|
235
318
|
{ key: USER_COMMON_METADATA.USER_BAN_IS_BANNED, value: true },
|
|
236
319
|
{ key: USER_COMMON_METADATA.USER_BAN_START_DATE, value: DateTime.now() },
|
|
237
|
-
]), _user_ev(UserBanned));
|
|
320
|
+
]), _user_ev(UserBanned), _user_email('banned'));
|
|
238
321
|
}
|
|
239
322
|
/**
|
|
240
323
|
*
|
|
@@ -250,6 +333,13 @@ export async function unban(identifier) {
|
|
|
250
333
|
}
|
|
251
334
|
}, _set_user_meta('/^user:ban/', null), _user_ev(UserUnbanned));
|
|
252
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Initiates a password-change request for a user.
|
|
338
|
+
* Generates a reset token, stores it along with the current timestamp and configured
|
|
339
|
+
* wait time in the user's metadata, and emits a {@link UserPasswordChangeRequest} event.
|
|
340
|
+
*
|
|
341
|
+
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
342
|
+
*/
|
|
253
343
|
export async function passwordChangeRequest(identifier) {
|
|
254
344
|
const pwdWaitTime = await _cfg('rbac.password.reset_wait_time')();
|
|
255
345
|
return _chain(_user(identifier), _set_user_meta([
|
|
@@ -258,6 +348,14 @@ export async function passwordChangeRequest(identifier) {
|
|
|
258
348
|
{ key: USER_COMMON_METADATA.USER_PWD_RESET_WAIT_TIME, value: pwdWaitTime },
|
|
259
349
|
]), _user_ev(UserPasswordChangeRequest));
|
|
260
350
|
}
|
|
351
|
+
/**
|
|
352
|
+
* Confirms a password reset by validating the token and expiration, then changing the password.
|
|
353
|
+
* Throws if the token has expired or does not match the stored value.
|
|
354
|
+
*
|
|
355
|
+
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
356
|
+
* @param newPassword - the new plain-text password to set
|
|
357
|
+
* @param token - the reset token that was issued by {@link passwordChangeRequest}
|
|
358
|
+
*/
|
|
261
359
|
export async function confirmPasswordReset(identifier, newPassword, token) {
|
|
262
360
|
return _chain(_user(identifier), _tap((u) => _chain(u, _zip(_get_user_meta(USER_COMMON_METADATA.USER_PWD_RESET_START_DATE), _get_user_meta(USER_COMMON_METADATA.USER_PWD_RESET_WAIT_TIME)), ([dueDate, waitTime]) => {
|
|
263
361
|
if (dueDate.plus(waitTime) < DateTime.now()) {
|
|
@@ -278,6 +376,15 @@ export async function confirmPasswordReset(identifier, newPassword, token) {
|
|
|
278
376
|
}
|
|
279
377
|
})), changePassword(newPassword));
|
|
280
378
|
}
|
|
379
|
+
/**
|
|
380
|
+
* Returns a function that changes a user's password.
|
|
381
|
+
* The new password is validated against the configured {@link PasswordValidationProvider},
|
|
382
|
+
* hashed via the configured {@link PasswordProvider}, persisted, and a
|
|
383
|
+
* {@link UserPasswordChanged} event is emitted.
|
|
384
|
+
*
|
|
385
|
+
* @param password - new plain-text password
|
|
386
|
+
* @returns a function that receives a {@link User} and returns the updated user
|
|
387
|
+
*/
|
|
281
388
|
export function changePassword(password) {
|
|
282
389
|
password = _check_arg(_trim(), _non_empty())(password, 'password');
|
|
283
390
|
return async (u) => {
|
|
@@ -312,6 +419,16 @@ export function passwordMatch(password) {
|
|
|
312
419
|
return await _chain(u, _service('rbac.password', PasswordProvider), async (sPwd, u) => sPwd.verify(u.Password, password));
|
|
313
420
|
};
|
|
314
421
|
}
|
|
422
|
+
/**
|
|
423
|
+
* Authenticates a user with the given password.
|
|
424
|
+
* Delegates to the configured {@link AuthProvider}, updates `LastLoginAt`, and emits a
|
|
425
|
+
* {@link UserLogged} event on success. On failure a {@link UserLoginFailed} event is emitted
|
|
426
|
+
* and the original error is re-thrown.
|
|
427
|
+
*
|
|
428
|
+
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
429
|
+
* @param password - plain-text password to verify
|
|
430
|
+
* @returns the authenticated {@link User}
|
|
431
|
+
*/
|
|
315
432
|
export async function login(identifier, password) {
|
|
316
433
|
password = _check_arg(_trim(), _non_empty())(password, 'password');
|
|
317
434
|
return await _chain(_user_unsafe(identifier), _catch((u) => {
|
package/lib/mjs/actions.js.map
CHANGED
|
@@ -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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"}
|
package/lib/mjs/config/rbac.d.ts
CHANGED
|
@@ -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
|
|
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"}
|
package/lib/mjs/config/rbac.js
CHANGED
|
@@ -84,6 +84,11 @@ const rbac = {
|
|
|
84
84
|
template: './user-password-will-expire-soon.pug',
|
|
85
85
|
subject: 'Your password will expire soon',
|
|
86
86
|
},
|
|
87
|
+
activated: {
|
|
88
|
+
enabled: true,
|
|
89
|
+
template: './user-activated-email-template.pug',
|
|
90
|
+
subject: 'Account activated',
|
|
91
|
+
},
|
|
87
92
|
// when user is created, should he confirm email
|
|
88
93
|
// if false, user is acvite at creation,
|
|
89
94
|
// when true, first, user will be sent confirmation email
|
|
@@ -187,6 +192,18 @@ const rbac = {
|
|
|
187
192
|
* System role is used to perform internal operations on users, like password reset, email change etc.
|
|
188
193
|
*/
|
|
189
194
|
systemRole: 'system',
|
|
195
|
+
/**
|
|
196
|
+
* Middleware functions for user actions.
|
|
197
|
+
* Each action can have before and after middleware arrays.
|
|
198
|
+
* Middleware functions receive the User and should return the User.
|
|
199
|
+
* eg. beforeCreate: [(u: User) => { u.Metadata['custom:key'] = 'value'; return u; }]
|
|
200
|
+
*/
|
|
201
|
+
actions: {
|
|
202
|
+
create: {
|
|
203
|
+
beforeCreate: [],
|
|
204
|
+
afterCreate: [],
|
|
205
|
+
},
|
|
206
|
+
},
|
|
190
207
|
/**
|
|
191
208
|
* 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
|
|
192
209
|
*/
|