@spinajs/rbac-http-admin 2.0.470 → 2.0.471
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/controllers/Users/Profile.d.ts +17 -1
- package/lib/cjs/controllers/Users/Profile.d.ts.map +1 -1
- package/lib/cjs/controllers/Users/Profile.js +16 -0
- package/lib/cjs/controllers/Users/Profile.js.map +1 -1
- package/lib/cjs/controllers/Users/Roles.d.ts +29 -2
- package/lib/cjs/controllers/Users/Roles.d.ts.map +1 -1
- package/lib/cjs/controllers/Users/Roles.js +29 -1
- package/lib/cjs/controllers/Users/Roles.js.map +1 -1
- package/lib/cjs/controllers/Users/Security.d.ts +64 -5
- package/lib/cjs/controllers/Users/Security.d.ts.map +1 -1
- package/lib/cjs/controllers/Users/Security.js +61 -2
- package/lib/cjs/controllers/Users/Security.js.map +1 -1
- package/lib/cjs/controllers/Users/Users.d.ts +78 -5
- package/lib/cjs/controllers/Users/Users.d.ts.map +1 -1
- package/lib/cjs/controllers/Users/Users.js +100 -11
- package/lib/cjs/controllers/Users/Users.js.map +1 -1
- package/lib/mjs/controllers/Users/Profile.d.ts +17 -1
- package/lib/mjs/controllers/Users/Profile.d.ts.map +1 -1
- package/lib/mjs/controllers/Users/Profile.js +16 -0
- package/lib/mjs/controllers/Users/Profile.js.map +1 -1
- package/lib/mjs/controllers/Users/Roles.d.ts +29 -2
- package/lib/mjs/controllers/Users/Roles.d.ts.map +1 -1
- package/lib/mjs/controllers/Users/Roles.js +29 -1
- package/lib/mjs/controllers/Users/Roles.js.map +1 -1
- package/lib/mjs/controllers/Users/Security.d.ts +64 -5
- package/lib/mjs/controllers/Users/Security.d.ts.map +1 -1
- package/lib/mjs/controllers/Users/Security.js +61 -2
- package/lib/mjs/controllers/Users/Security.js.map +1 -1
- package/lib/mjs/controllers/Users/Users.d.ts +78 -5
- package/lib/mjs/controllers/Users/Users.d.ts.map +1 -1
- package/lib/mjs/controllers/Users/Users.js +100 -11
- package/lib/mjs/controllers/Users/Users.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Users.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Users.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oCAAyC;AACzC,wCAAoG;AACpG,sCAAyC;AACzC,gDAAmI;AACnI,wCAA+D;AAC/D,kDAA4E;AAC5E,oDAA6C;AAE7C,IAoBM,OAAO,GApBb,MAoBM,OAAO;IAOX,YAAY,IAAsB;QAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AAVK,OAAO;IApBZ,IAAA,mBAAM,EAAC;QACN,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,sBAAsB;QAC3B,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"Users.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Users.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
import { BaseController, Ok } from '@spinajs/http';
|
|
2
2
|
import { UserProfileProvider } from '@spinajs/rbac';
|
|
3
|
+
/**
|
|
4
|
+
* User profile management (admin).
|
|
5
|
+
* Provides administrative access to user profile data via the configured UserProfileProvider.
|
|
6
|
+
* @tags Admin Users
|
|
7
|
+
*/
|
|
3
8
|
export declare class Roles extends BaseController {
|
|
4
9
|
protected ProfileService: UserProfileProvider;
|
|
5
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Get user profile by login (admin)
|
|
12
|
+
* Retrieves extended profile data for the specified user via the configured UserProfileProvider.
|
|
13
|
+
* The shape of the returned profile depends on the active provider implementation.
|
|
14
|
+
* @security cookieAuth
|
|
15
|
+
* @param login User login name
|
|
16
|
+
* @returns {IUserProfile} User profile data as returned by the configured UserProfileProvider
|
|
17
|
+
* @response 401 Unauthorized — valid session required
|
|
18
|
+
* @response 403 Forbidden — readAny permission required on users resource
|
|
19
|
+
* @response 404 User not found
|
|
20
|
+
*/
|
|
21
|
+
getUserProfile(login: string): Promise<Ok<import("@spinajs/rbac").UserProfile<unknown>>>;
|
|
6
22
|
}
|
|
7
23
|
//# sourceMappingURL=Profile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.d.ts","sourceRoot":"","sources":["../../../../src/controllers/Users/Profile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAiB,EAAE,EAAiB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAS,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAI3D,qBAGa,KAAM,SAAQ,cAAc;IAIrC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Profile.d.ts","sourceRoot":"","sources":["../../../../src/controllers/Users/Profile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAiB,EAAE,EAAiB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAS,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAI3D;;;;GAIG;AACH,qBAGa,KAAM,SAAQ,cAAc;IAIrC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAE9C;;;;;;;;;;OAUG;IAGU,cAAc,CAAU,KAAK,EAAE,MAAM;CAGrD"}
|
|
@@ -14,7 +14,23 @@ import { AutoinjectService } from '@spinajs/configuration';
|
|
|
14
14
|
import { BaseController, BasePath, Get, Ok, Param, Policy } from '@spinajs/http';
|
|
15
15
|
import { UserProfileProvider } from '@spinajs/rbac';
|
|
16
16
|
import { AuthorizedPolicy, Permission, Resource } from "@spinajs/rbac-http";
|
|
17
|
+
/**
|
|
18
|
+
* User profile management (admin).
|
|
19
|
+
* Provides administrative access to user profile data via the configured UserProfileProvider.
|
|
20
|
+
* @tags Admin Users
|
|
21
|
+
*/
|
|
17
22
|
let Roles = class Roles extends BaseController {
|
|
23
|
+
/**
|
|
24
|
+
* Get user profile by login (admin)
|
|
25
|
+
* Retrieves extended profile data for the specified user via the configured UserProfileProvider.
|
|
26
|
+
* The shape of the returned profile depends on the active provider implementation.
|
|
27
|
+
* @security cookieAuth
|
|
28
|
+
* @param login User login name
|
|
29
|
+
* @returns {IUserProfile} User profile data as returned by the configured UserProfileProvider
|
|
30
|
+
* @response 401 Unauthorized — valid session required
|
|
31
|
+
* @response 403 Forbidden — readAny permission required on users resource
|
|
32
|
+
* @response 404 User not found
|
|
33
|
+
*/
|
|
18
34
|
async getUserProfile(login) {
|
|
19
35
|
return new Ok(this.ProfileService.retrieve(login));
|
|
20
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Profile.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAS,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Profile.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAS,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG5E;;;;GAIG;AAII,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,cAAc;IAMrC;;;;;;;;;;OAUG;IAGU,AAAN,KAAK,CAAC,cAAc,CAAU,KAAa;QAC7C,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;CACJ,CAAA;AAlBa;IADT,iBAAiB,CAAC,cAAc,CAAC;8BACR,mBAAmB;6CAAC;AAejC;IAFZ,GAAG,CAAC,QAAQ,CAAC;IACb,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC;IACK,WAAA,KAAK,EAAE,CAAA;;;;2CAEnC;AArBQ,KAAK;IAHjB,QAAQ,CAAC,eAAe,CAAC;IACzB,MAAM,CAAC,gBAAgB,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC;GACL,KAAK,CAsBjB"}
|
|
@@ -3,8 +3,35 @@ export declare class RoleDto {
|
|
|
3
3
|
role: string;
|
|
4
4
|
constructor(data: Partial<RoleDto>);
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* User role management (admin).
|
|
8
|
+
* Grants and revokes RBAC roles for user accounts.
|
|
9
|
+
* @tags Admin Users
|
|
10
|
+
*/
|
|
6
11
|
export declare class Roles extends BaseController {
|
|
7
|
-
|
|
8
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Grant role to user (admin)
|
|
14
|
+
* Assigns the specified RBAC role to the user identified by login name.
|
|
15
|
+
* @security cookieAuth
|
|
16
|
+
* @param login User login name
|
|
17
|
+
* @response 200 Role granted successfully
|
|
18
|
+
* @response 400 Invalid role name
|
|
19
|
+
* @response 401 Unauthorized — valid session required
|
|
20
|
+
* @response 403 Forbidden — updateAny permission required on users resource
|
|
21
|
+
* @response 404 User not found
|
|
22
|
+
*/
|
|
23
|
+
addRole(login: string, roleDto: RoleDto): Promise<Ok<any>>;
|
|
24
|
+
/**
|
|
25
|
+
* Revoke role from user (admin)
|
|
26
|
+
* Removes the specified RBAC role from the user identified by login name.
|
|
27
|
+
* @security cookieAuth
|
|
28
|
+
* @param login User login name
|
|
29
|
+
* @response 200 Role revoked successfully
|
|
30
|
+
* @response 400 Invalid role name
|
|
31
|
+
* @response 401 Unauthorized — valid session required
|
|
32
|
+
* @response 403 Forbidden — updateAny permission required on users resource
|
|
33
|
+
* @response 404 User not found
|
|
34
|
+
*/
|
|
35
|
+
revokeRole(login: string, roleDto: RoleDto): Promise<Ok<any>>;
|
|
9
36
|
}
|
|
10
37
|
//# sourceMappingURL=Roles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Roles.d.ts","sourceRoot":"","sources":["../../../../src/controllers/Users/Roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkB,EAAE,EAAwB,MAAM,eAAe,CAAC;AAMzF,
|
|
1
|
+
{"version":3,"file":"Roles.d.ts","sourceRoot":"","sources":["../../../../src/controllers/Users/Roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkB,EAAE,EAAwB,MAAM,eAAe,CAAC;AAMzF,qBAQa,OAAO;IACT,IAAI,EAAE,MAAM,CAAC;gBAER,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;CAGrC;AAGD;;;;GAIG;AACH,qBAGa,KAAM,SAAQ,cAAc;IACrC;;;;;;;;;;OAUG;IAGU,OAAO,CAAU,KAAK,EAAE,MAAM,EAAU,OAAO,EAAE,OAAO;IAKrE;;;;;;;;;;OAUG;IAGU,UAAU,CAAU,KAAK,EAAE,MAAM,EAAU,OAAO,EAAE,OAAO;CAI3E"}
|
|
@@ -24,17 +24,45 @@ RoleDto = __decorate([
|
|
|
24
24
|
type: 'object',
|
|
25
25
|
$id: 'arrow.common.roleDTO',
|
|
26
26
|
properties: {
|
|
27
|
-
role: { type: 'string',
|
|
27
|
+
role: { type: 'string', minLength: 1, maxLength: 32, description: 'RBAC role name to grant or revoke' },
|
|
28
28
|
},
|
|
29
|
+
required: ['role'],
|
|
29
30
|
}),
|
|
30
31
|
__metadata("design:paramtypes", [Object])
|
|
31
32
|
], RoleDto);
|
|
32
33
|
export { RoleDto };
|
|
34
|
+
/**
|
|
35
|
+
* User role management (admin).
|
|
36
|
+
* Grants and revokes RBAC roles for user accounts.
|
|
37
|
+
* @tags Admin Users
|
|
38
|
+
*/
|
|
33
39
|
let Roles = class Roles extends BaseController {
|
|
40
|
+
/**
|
|
41
|
+
* Grant role to user (admin)
|
|
42
|
+
* Assigns the specified RBAC role to the user identified by login name.
|
|
43
|
+
* @security cookieAuth
|
|
44
|
+
* @param login User login name
|
|
45
|
+
* @response 200 Role granted successfully
|
|
46
|
+
* @response 400 Invalid role name
|
|
47
|
+
* @response 401 Unauthorized — valid session required
|
|
48
|
+
* @response 403 Forbidden — updateAny permission required on users resource
|
|
49
|
+
* @response 404 User not found
|
|
50
|
+
*/
|
|
34
51
|
async addRole(login, roleDto) {
|
|
35
52
|
await grant(login, roleDto.role);
|
|
36
53
|
return new Ok();
|
|
37
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Revoke role from user (admin)
|
|
57
|
+
* Removes the specified RBAC role from the user identified by login name.
|
|
58
|
+
* @security cookieAuth
|
|
59
|
+
* @param login User login name
|
|
60
|
+
* @response 200 Role revoked successfully
|
|
61
|
+
* @response 400 Invalid role name
|
|
62
|
+
* @response 401 Unauthorized — valid session required
|
|
63
|
+
* @response 403 Forbidden — updateAny permission required on users resource
|
|
64
|
+
* @response 404 User not found
|
|
65
|
+
*/
|
|
38
66
|
async revokeRole(login, roleDto) {
|
|
39
67
|
await revoke(login, roleDto.role);
|
|
40
68
|
return new Ok();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Roles.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Roles.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAS,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Roles.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Roles.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAS,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAWtC,IAAM,OAAO,GAAb,MAAM,OAAO;IAGhB,YAAY,IAAsB;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAA;AANY,OAAO;IARnB,MAAM,CAAC;QACJ,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,sBAAsB;QAC3B,UAAU,EAAE;YACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE;SAC1G;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACrB,CAAC;;GACW,OAAO,CAMnB;;AAGD;;;;GAIG;AAII,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,cAAc;IACrC;;;;;;;;;;OAUG;IAGU,AAAN,KAAK,CAAC,OAAO,CAAU,KAAa,EAAU,OAAgB;QACjE,MAAM,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,EAAE,EAAE,CAAA;IACnB,CAAC;IAED;;;;;;;;;;OAUG;IAGU,AAAN,KAAK,CAAC,UAAU,CAAU,KAAa,EAAU,OAAgB;QACpE,MAAM,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,IAAI,EAAE,EAAE,CAAA;IACnB,CAAC;CACJ,CAAA;AAtBgB;IAFZ,KAAK,CAAC,YAAY,CAAC;IACnB,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACJ,WAAA,KAAK,EAAE,CAAA;IAAiB,WAAA,IAAI,EAAE,CAAA;;6CAAU,OAAO;;oCAGpE;AAeY;IAFZ,KAAK,CAAC,eAAe,CAAC;IACtB,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACD,WAAA,KAAK,EAAE,CAAA;IAAiB,WAAA,IAAI,EAAE,CAAA;;6CAAU,OAAO;;uCAGvE;AAnCQ,KAAK;IAHjB,QAAQ,CAAC,YAAY,CAAC;IACtB,MAAM,CAAC,gBAAgB,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC;GACL,KAAK,CAoCjB"}
|
|
@@ -5,13 +5,72 @@ declare class ChangePasswordDto {
|
|
|
5
5
|
confirmPassword: string;
|
|
6
6
|
constructor(data: any);
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* User account security management (admin).
|
|
10
|
+
* Administrative controls for user account security: password changes, 2FA reset,
|
|
11
|
+
* account activation/deactivation, and forced session logout.
|
|
12
|
+
* @tags Admin Users
|
|
13
|
+
*/
|
|
8
14
|
export declare class Security extends BaseController {
|
|
9
15
|
protected SessionProvider: SessionProvider;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Change user password (admin)
|
|
18
|
+
* Sets a new password for the specified user. Both password and confirmPassword must match.
|
|
19
|
+
* Minimum length is 8 characters.
|
|
20
|
+
* @security cookieAuth
|
|
21
|
+
* @param user User UUID path parameter
|
|
22
|
+
* @response 200 Password changed successfully
|
|
23
|
+
* @response 400 Passwords do not match or fail validation
|
|
24
|
+
* @response 401 Unauthorized — valid session required
|
|
25
|
+
* @response 403 Forbidden — updateAny permission required on users resource
|
|
26
|
+
* @response 404 User not found
|
|
27
|
+
*/
|
|
28
|
+
changeUserPassword(user: User, dto: ChangePasswordDto): Promise<Ok<any>>;
|
|
29
|
+
/**
|
|
30
|
+
* Reset user two-factor authentication (admin)
|
|
31
|
+
* Clears the TOTP secret and disables 2FA for the specified user.
|
|
32
|
+
* Use this to help a user regain access when they lose their authenticator device.
|
|
33
|
+
* @security cookieAuth
|
|
34
|
+
* @param user User UUID path parameter
|
|
35
|
+
* @response 200 2FA reset successfully
|
|
36
|
+
* @response 401 Unauthorized — valid session required
|
|
37
|
+
* @response 403 Forbidden — updateAny permission required on users resource
|
|
38
|
+
* @response 404 User not found
|
|
39
|
+
*/
|
|
40
|
+
reset2faToken(user: User): Promise<Ok<any>>;
|
|
41
|
+
/**
|
|
42
|
+
* Deactivate user account (admin)
|
|
43
|
+
* Marks the user account as inactive, preventing login without deleting the record.
|
|
44
|
+
* @security cookieAuth
|
|
45
|
+
* @param user User UUID path parameter
|
|
46
|
+
* @response 200 Account deactivated successfully
|
|
47
|
+
* @response 401 Unauthorized — valid session required
|
|
48
|
+
* @response 403 Forbidden — deleteAny permission required on users resource
|
|
49
|
+
* @response 404 User not found
|
|
50
|
+
*/
|
|
51
|
+
deactivateUser(user: User): Promise<Ok<any>>;
|
|
52
|
+
/**
|
|
53
|
+
* Activate user account (admin)
|
|
54
|
+
* Marks a previously deactivated user account as active, restoring login access.
|
|
55
|
+
* @security cookieAuth
|
|
56
|
+
* @param user User UUID path parameter
|
|
57
|
+
* @response 200 Account activated successfully
|
|
58
|
+
* @response 401 Unauthorized — valid session required
|
|
59
|
+
* @response 403 Forbidden — deleteAny permission required on users resource
|
|
60
|
+
* @response 404 User not found
|
|
61
|
+
*/
|
|
62
|
+
activateUser(user: User): Promise<Ok<any>>;
|
|
63
|
+
/**
|
|
64
|
+
* Force logout user (admin)
|
|
65
|
+
* Invalidates all active sessions for the specified user, immediately ending any current logins.
|
|
66
|
+
* @security cookieAuth
|
|
67
|
+
* @param user User UUID path parameter
|
|
68
|
+
* @response 200 All sessions invalidated successfully
|
|
69
|
+
* @response 401 Unauthorized — valid session required
|
|
70
|
+
* @response 403 Forbidden — updateAny permission required on users resource
|
|
71
|
+
* @response 404 User not found
|
|
72
|
+
*/
|
|
73
|
+
logoutUser(user: User): Promise<Ok<any>>;
|
|
15
74
|
}
|
|
16
75
|
export {};
|
|
17
76
|
//# sourceMappingURL=Security.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Security.d.ts","sourceRoot":"","sources":["../../../../src/controllers/Users/Security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,EAAE,EAAiB,MAAM,eAAe,CAAC;AAEvF,OAAO,EAA+C,eAAe,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAMnG,cAwBM,iBAAiB;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;gBAEnB,IAAI,EAAE,GAAG;CAGxB;AAGD,qBAGa,QAAS,SAAQ,cAAc;IAGxC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Security.d.ts","sourceRoot":"","sources":["../../../../src/controllers/Users/Security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,EAAE,EAAiB,MAAM,eAAe,CAAC;AAEvF,OAAO,EAA+C,eAAe,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAMnG,cAwBM,iBAAiB;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;gBAEnB,IAAI,EAAE,GAAG;CAGxB;AAGD;;;;;GAKG;AACH,qBAGa,QAAS,SAAQ,cAAc;IAGxC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAE3C;;;;;;;;;;;OAWG;IAGU,kBAAkB,CAAoC,IAAI,EAAE,IAAI,EAAU,GAAG,EAAE,iBAAiB;IAK7G;;;;;;;;;;OAUG;IAGU,aAAa,CAAoC,IAAI,EAAE,IAAI;IAKxE;;;;;;;;;OASG;IAGU,cAAc,CAAoC,IAAI,EAAE,IAAI;IAKzE;;;;;;;;;OASG;IAGU,YAAY,CAAoC,IAAI,EAAE,IAAI;IAKvE;;;;;;;;;OASG;IAGU,UAAU,CAAoC,IAAI,EAAE,IAAI;CAIxE"}
|
|
@@ -27,8 +27,8 @@ ChangePasswordDto = __decorate([
|
|
|
27
27
|
type: 'object',
|
|
28
28
|
$id: 'arrow.common.changePasswordDTO',
|
|
29
29
|
properties: {
|
|
30
|
-
password: { type: 'string', minLength: 8, maxLength: 128 },
|
|
31
|
-
confirmPassword: { type: 'string', minLength: 8, maxLength: 128 }
|
|
30
|
+
password: { type: 'string', minLength: 8, maxLength: 128, description: 'New password (8–128 characters)' },
|
|
31
|
+
confirmPassword: { type: 'string', minLength: 8, maxLength: 128, description: 'Must match password' },
|
|
32
32
|
},
|
|
33
33
|
required: ['password', 'confirmPassword'],
|
|
34
34
|
allOf: [
|
|
@@ -49,23 +49,82 @@ ChangePasswordDto = __decorate([
|
|
|
49
49
|
}),
|
|
50
50
|
__metadata("design:paramtypes", [Object])
|
|
51
51
|
], ChangePasswordDto);
|
|
52
|
+
/**
|
|
53
|
+
* User account security management (admin).
|
|
54
|
+
* Administrative controls for user account security: password changes, 2FA reset,
|
|
55
|
+
* account activation/deactivation, and forced session logout.
|
|
56
|
+
* @tags Admin Users
|
|
57
|
+
*/
|
|
52
58
|
let Security = class Security extends BaseController {
|
|
59
|
+
/**
|
|
60
|
+
* Change user password (admin)
|
|
61
|
+
* Sets a new password for the specified user. Both password and confirmPassword must match.
|
|
62
|
+
* Minimum length is 8 characters.
|
|
63
|
+
* @security cookieAuth
|
|
64
|
+
* @param user User UUID path parameter
|
|
65
|
+
* @response 200 Password changed successfully
|
|
66
|
+
* @response 400 Passwords do not match or fail validation
|
|
67
|
+
* @response 401 Unauthorized — valid session required
|
|
68
|
+
* @response 403 Forbidden — updateAny permission required on users resource
|
|
69
|
+
* @response 404 User not found
|
|
70
|
+
*/
|
|
53
71
|
async changeUserPassword(user, dto) {
|
|
54
72
|
await changePassword(dto.password)(user);
|
|
55
73
|
return new Ok();
|
|
56
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Reset user two-factor authentication (admin)
|
|
77
|
+
* Clears the TOTP secret and disables 2FA for the specified user.
|
|
78
|
+
* Use this to help a user regain access when they lose their authenticator device.
|
|
79
|
+
* @security cookieAuth
|
|
80
|
+
* @param user User UUID path parameter
|
|
81
|
+
* @response 200 2FA reset successfully
|
|
82
|
+
* @response 401 Unauthorized — valid session required
|
|
83
|
+
* @response 403 Forbidden — updateAny permission required on users resource
|
|
84
|
+
* @response 404 User not found
|
|
85
|
+
*/
|
|
57
86
|
async reset2faToken(user) {
|
|
58
87
|
await resetUser2Fa(user);
|
|
59
88
|
return new Ok();
|
|
60
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Deactivate user account (admin)
|
|
92
|
+
* Marks the user account as inactive, preventing login without deleting the record.
|
|
93
|
+
* @security cookieAuth
|
|
94
|
+
* @param user User UUID path parameter
|
|
95
|
+
* @response 200 Account deactivated successfully
|
|
96
|
+
* @response 401 Unauthorized — valid session required
|
|
97
|
+
* @response 403 Forbidden — deleteAny permission required on users resource
|
|
98
|
+
* @response 404 User not found
|
|
99
|
+
*/
|
|
61
100
|
async deactivateUser(user) {
|
|
62
101
|
await deactivate(user);
|
|
63
102
|
return new Ok();
|
|
64
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Activate user account (admin)
|
|
106
|
+
* Marks a previously deactivated user account as active, restoring login access.
|
|
107
|
+
* @security cookieAuth
|
|
108
|
+
* @param user User UUID path parameter
|
|
109
|
+
* @response 200 Account activated successfully
|
|
110
|
+
* @response 401 Unauthorized — valid session required
|
|
111
|
+
* @response 403 Forbidden — deleteAny permission required on users resource
|
|
112
|
+
* @response 404 User not found
|
|
113
|
+
*/
|
|
65
114
|
async activateUser(user) {
|
|
66
115
|
await activate(user);
|
|
67
116
|
return new Ok();
|
|
68
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Force logout user (admin)
|
|
120
|
+
* Invalidates all active sessions for the specified user, immediately ending any current logins.
|
|
121
|
+
* @security cookieAuth
|
|
122
|
+
* @param user User UUID path parameter
|
|
123
|
+
* @response 200 All sessions invalidated successfully
|
|
124
|
+
* @response 401 Unauthorized — valid session required
|
|
125
|
+
* @response 403 Forbidden — updateAny permission required on users resource
|
|
126
|
+
* @response 404 User not found
|
|
127
|
+
*/
|
|
69
128
|
async logoutUser(user) {
|
|
70
129
|
await this.SessionProvider.logsOut(user);
|
|
71
130
|
return new Ok();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Security.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Security.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAS,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,IAwBM,iBAAiB,GAxBvB,MAwBM,iBAAiB;IAInB,YAAY,IAAS;QACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAA;AAPK,iBAAiB;IAxBtB,MAAM,CAAC;QACJ,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,gCAAgC;QACrC,UAAU,EAAE;YACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"Security.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Security.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,13 +10,86 @@ declare class UserDto {
|
|
|
10
10
|
};
|
|
11
11
|
constructor(data: Partial<UserDto>);
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* User account management (admin).
|
|
15
|
+
* Full CRUD operations for user accounts. Supports pagination, sorting, filtering,
|
|
16
|
+
* and optional relation loading. All write operations require full authorization.
|
|
17
|
+
* @tags Admin Users
|
|
18
|
+
*/
|
|
13
19
|
export declare class Users extends BaseController {
|
|
14
20
|
protected PasswordProvider: PasswordProvider;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
/**
|
|
22
|
+
* List users (admin)
|
|
23
|
+
* Returns a paginated, sortable, filterable list of all users. Supports optional inclusion
|
|
24
|
+
* of related Metadata. The total user count (matching current filters) is returned in the
|
|
25
|
+
* X-Total-Count response header.
|
|
26
|
+
* Filterable fields: Uuid (eq), Email (eq, like), Login (eq, like), CreatedAt, LastLoginAt,
|
|
27
|
+
* DeletedAt (eq, gte, lte, lt, gt, isnull, notnull), IsActive (eq), Role (eq, neq),
|
|
28
|
+
* user:niceName metadata (eq, neq, like).
|
|
29
|
+
* @security cookieAuth
|
|
30
|
+
* @param pagination.page Page number (zero-based)
|
|
31
|
+
* @param pagination.limit Number of users per page (default: 10)
|
|
32
|
+
* @param order.column Column to sort by (default: CreatedAt)
|
|
33
|
+
* @param order.order Sort direction: ASC or DESC (default: DESC)
|
|
34
|
+
* @param include Relations to include — currently supports: Metadata
|
|
35
|
+
* @returns {IUserData[]} Paginated list of user accounts, each with optional Metadata relation
|
|
36
|
+
* @response 401 Unauthorized — valid session required
|
|
37
|
+
* @response 403 Forbidden — readAny permission required on users resource
|
|
38
|
+
*/
|
|
39
|
+
list(pagination?: PaginationDTO, order?: OrderDTO, include?: string[], filter?: IFilterRequest): Promise<Ok<import("@spinajs/orm").ModelDataWithRelationData<User>[]>>;
|
|
40
|
+
/**
|
|
41
|
+
* Get user by UUID (admin)
|
|
42
|
+
* Retrieves a single user record by UUID. Supports optional inclusion of related Metadata.
|
|
43
|
+
* @security cookieAuth
|
|
44
|
+
* @param user User UUID path parameter
|
|
45
|
+
* @param include Relations to include — currently supports: Metadata
|
|
46
|
+
* @returns {IUserData} User account with optional Metadata relation
|
|
47
|
+
* @response 401 Unauthorized — valid session required
|
|
48
|
+
* @response 403 Forbidden — readAny permission required on users resource
|
|
49
|
+
* @response 404 User not found
|
|
50
|
+
*/
|
|
51
|
+
getSingleUser(user: User, include?: string[]): Promise<Ok<import("@spinajs/orm").ModelDataWithRelationData<User>>>;
|
|
52
|
+
/**
|
|
53
|
+
* Get user by login (admin)
|
|
54
|
+
* Retrieves a single user record by login name. Supports optional inclusion of related Metadata.
|
|
55
|
+
* @security cookieAuth
|
|
56
|
+
* @param user User login name path parameter
|
|
57
|
+
* @param include Relations to include — currently supports: Metadata
|
|
58
|
+
* @returns {IUserData} User account with optional Metadata relation
|
|
59
|
+
* @response 401 Unauthorized — valid session required
|
|
60
|
+
* @response 403 Forbidden — readAny permission required on users resource
|
|
61
|
+
* @response 404 User not found
|
|
62
|
+
*/
|
|
63
|
+
getByLogin(user: User, include?: string[]): Promise<Ok<import("@spinajs/orm").ModelDataWithRelationData<User>>>;
|
|
64
|
+
/**
|
|
65
|
+
* Create user (admin)
|
|
66
|
+
* Creates a new user account with a system-generated temporary password.
|
|
67
|
+
* The temporary password is not returned — it should be delivered to the user via email or other channel.
|
|
68
|
+
* @security cookieAuth
|
|
69
|
+
* @returns {IUserData} Created user account
|
|
70
|
+
* @response 400 Validation error — missing required fields or invalid format
|
|
71
|
+
* @response 401 Unauthorized — valid session required
|
|
72
|
+
* @response 403 Forbidden — createAny permission required on users resource
|
|
73
|
+
* @response 409 Login or email already in use
|
|
74
|
+
*/
|
|
75
|
+
addUser(data: UserDto): Promise<Ok<{
|
|
76
|
+
User: User;
|
|
77
|
+
Password: string;
|
|
78
|
+
}>>;
|
|
79
|
+
/**
|
|
80
|
+
* Update user (admin)
|
|
81
|
+
* Partially updates a user account. All fields are optional — only provided fields are changed.
|
|
82
|
+
* Metadata is merged: existing keys are updated, new keys are added, unlisted keys are preserved.
|
|
83
|
+
* @security cookieAuth
|
|
84
|
+
* @param user User UUID path parameter
|
|
85
|
+
* @response 200 User updated successfully
|
|
86
|
+
* @response 400 Validation error — invalid field format
|
|
87
|
+
* @response 401 Unauthorized — valid session required
|
|
88
|
+
* @response 403 Forbidden — updateAny permission required on users resource
|
|
89
|
+
* @response 404 User not found
|
|
90
|
+
* @response 409 Login or email already in use by another account
|
|
91
|
+
*/
|
|
92
|
+
updateUser(user: User, data: UserDto): Promise<Ok<any>>;
|
|
20
93
|
}
|
|
21
94
|
export {};
|
|
22
95
|
//# sourceMappingURL=Users.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Users.d.ts","sourceRoot":"","sources":["../../../../src/controllers/Users/Users.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAuB,EAAE,EAA8B,MAAM,eAAe,CAAC;AAEpG,OAAO,EAAyD,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnI,OAAO,EAAU,gBAAgB,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI/D,cAoBM,OAAO;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;gBAE7B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;CAGnC;AAqED,qBAGa,KAAM,SAAQ,cAAc;IAGvC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"Users.d.ts","sourceRoot":"","sources":["../../../../src/controllers/Users/Users.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAuB,EAAE,EAA8B,MAAM,eAAe,CAAC;AAEpG,OAAO,EAAyD,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnI,OAAO,EAAU,gBAAgB,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI/D,cAoBM,OAAO;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;gBAE7B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;CAGnC;AAqED;;;;;GAKG;AACH,qBAGa,KAAM,SAAQ,cAAc;IAGvC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAE5C;;;;;;;;;;;;;;;;;OAiBG;IAGU,IAAI,CACN,UAAU,CAAC,EAAE,aAAa,EAC1B,KAAK,CAAC,EAAE,QAAQ,EAQzB,OAAO,CAAC,EAAE,MAAM,EAAE,EAElB,MAAM,CAAC,EAAE,cAAc;IAqCzB;;;;;;;;;;OAUG;IAEU,aAAa,CAAoC,IAAI,EAAE,IAAI,EAOxE,OAAO,CAAC,EAAE,MAAM,EAAE;IAMlB;;;;;;;;;;OAUG;IAEU,UAAU,CAAqC,IAAI,EAAE,IAAI,EAOtE,OAAO,CAAC,EAAE,MAAM,EAAE;IAOlB;;;;;;;;;;OAUG;IAGU,OAAO,CACV,IAAI,EAAE,OAAO;;;;IASvB;;;;;;;;;;;;OAYG;IAGU,UAAU,CACc,IAAI,EAAE,IAAI,EACrC,IAAI,EAAE,OAAO;CAuBxB"}
|