@spinajs/rbac-http-admin 2.0.381 → 2.0.383

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/lib/cjs/controllers/Users/Profile.d.ts +7 -0
  2. package/lib/cjs/controllers/Users/Profile.d.ts.map +1 -0
  3. package/lib/cjs/controllers/Users/Profile.js +43 -0
  4. package/lib/cjs/controllers/Users/Profile.js.map +1 -0
  5. package/lib/cjs/controllers/Users/Roles.d.ts +10 -0
  6. package/lib/cjs/controllers/Users/Roles.d.ts.map +1 -0
  7. package/lib/cjs/controllers/Users/Roles.js +70 -0
  8. package/lib/cjs/controllers/Users/Roles.js.map +1 -0
  9. package/lib/cjs/controllers/Users/Security.d.ts +17 -0
  10. package/lib/cjs/controllers/Users/Security.d.ts.map +1 -0
  11. package/lib/cjs/controllers/Users/Security.js +128 -0
  12. package/lib/cjs/controllers/Users/Security.js.map +1 -0
  13. package/lib/cjs/controllers/Users/Users.d.ts +20 -0
  14. package/lib/cjs/controllers/Users/Users.d.ts.map +1 -0
  15. package/lib/cjs/controllers/Users/Users.js +230 -0
  16. package/lib/cjs/controllers/Users/Users.js.map +1 -0
  17. package/lib/cjs/index.d.ts +1 -1
  18. package/lib/cjs/index.d.ts.map +1 -1
  19. package/lib/cjs/index.js +1 -1
  20. package/lib/cjs/index.js.map +1 -1
  21. package/lib/mjs/controllers/Users/Profile.d.ts +7 -0
  22. package/lib/mjs/controllers/Users/Profile.d.ts.map +1 -0
  23. package/lib/mjs/controllers/Users/Profile.js +40 -0
  24. package/lib/mjs/controllers/Users/Profile.js.map +1 -0
  25. package/lib/mjs/controllers/Users/Roles.d.ts +10 -0
  26. package/lib/mjs/controllers/Users/Roles.d.ts.map +1 -0
  27. package/lib/mjs/controllers/Users/Roles.js +67 -0
  28. package/lib/mjs/controllers/Users/Roles.js.map +1 -0
  29. package/lib/mjs/controllers/Users/Security.d.ts +17 -0
  30. package/lib/mjs/controllers/Users/Security.d.ts.map +1 -0
  31. package/lib/mjs/controllers/Users/Security.js +125 -0
  32. package/lib/mjs/controllers/Users/Security.js.map +1 -0
  33. package/lib/mjs/controllers/Users/Users.d.ts +20 -0
  34. package/lib/mjs/controllers/Users/Users.d.ts.map +1 -0
  35. package/lib/mjs/controllers/Users/Users.js +227 -0
  36. package/lib/mjs/controllers/Users/Users.js.map +1 -0
  37. package/lib/mjs/index.d.ts +1 -1
  38. package/lib/mjs/index.d.ts.map +1 -1
  39. package/lib/mjs/index.js +1 -1
  40. package/lib/mjs/index.js.map +1 -1
  41. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  42. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  43. package/package.json +11 -11
  44. package/lib/cjs/controllers/UserAdminController.d.ts +0 -6
  45. package/lib/cjs/controllers/UserAdminController.d.ts.map +0 -1
  46. package/lib/cjs/controllers/UserAdminController.js +0 -99
  47. package/lib/cjs/controllers/UserAdminController.js.map +0 -1
  48. package/lib/mjs/controllers/UserAdminController.d.ts +0 -6
  49. package/lib/mjs/controllers/UserAdminController.d.ts.map +0 -1
  50. package/lib/mjs/controllers/UserAdminController.js +0 -96
  51. package/lib/mjs/controllers/UserAdminController.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ import { BaseController, Ok } from '@spinajs/http';
2
+ import { UserProfileProvider } from '@spinajs/rbac';
3
+ export declare class Roles extends BaseController {
4
+ protected ProfileService: UserProfileProvider;
5
+ getUserProfile(login: string): Promise<Ok>;
6
+ }
7
+ //# sourceMappingURL=Profile.d.ts.map
@@ -0,0 +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;IAIjC,cAAc,CAAU,KAAK,EAAE,MAAM;CAGrD"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.Roles = void 0;
16
+ const configuration_1 = require("@spinajs/configuration");
17
+ const http_1 = require("@spinajs/http");
18
+ const rbac_1 = require("@spinajs/rbac");
19
+ const rbac_http_1 = require("@spinajs/rbac-http");
20
+ let Roles = class Roles extends http_1.BaseController {
21
+ async getUserProfile(login) {
22
+ return new http_1.Ok(this.ProfileService.retrieve(login));
23
+ }
24
+ };
25
+ exports.Roles = Roles;
26
+ __decorate([
27
+ (0, configuration_1.AutoinjectService)('user.profile'),
28
+ __metadata("design:type", rbac_1.UserProfileProvider)
29
+ ], Roles.prototype, "ProfileService", void 0);
30
+ __decorate([
31
+ (0, http_1.Get)(':login'),
32
+ (0, rbac_http_1.Permission)(['readAny']),
33
+ __param(0, (0, http_1.Param)()),
34
+ __metadata("design:type", Function),
35
+ __metadata("design:paramtypes", [String]),
36
+ __metadata("design:returntype", Promise)
37
+ ], Roles.prototype, "getUserProfile", null);
38
+ exports.Roles = Roles = __decorate([
39
+ (0, http_1.BasePath)('users/profile'),
40
+ (0, http_1.Policy)(rbac_http_1.AuthorizedPolicy),
41
+ (0, rbac_http_1.Resource)('users')
42
+ ], Roles);
43
+ //# sourceMappingURL=Profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Profile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAA2D;AAC3D,wCAAiF;AACjF,wCAA2D;AAC3D,kDAA4E;AAMrE,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,qBAAc;IAQxB,AAAN,KAAK,CAAC,cAAc,CAAU,KAAa;QAC7C,OAAO,IAAI,SAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;CACJ,CAAA;AAXY,sBAAK;AAIJ;IADT,IAAA,iCAAiB,EAAC,cAAc,CAAC;8BACR,0BAAmB;6CAAC;AAIjC;IAFZ,IAAA,UAAG,EAAC,QAAQ,CAAC;IACb,IAAA,sBAAU,EAAC,CAAC,SAAS,CAAC,CAAC;IACK,WAAA,IAAA,YAAK,GAAE,CAAA;;;;2CAEnC;gBAVQ,KAAK;IAHjB,IAAA,eAAQ,EAAC,eAAe,CAAC;IACzB,IAAA,aAAM,EAAC,4BAAgB,CAAC;IACxB,IAAA,oBAAQ,EAAC,OAAO,CAAC;GACL,KAAK,CAWjB"}
@@ -0,0 +1,10 @@
1
+ import { BaseController, Ok } from '@spinajs/http';
2
+ export declare class RoleDto {
3
+ role: string;
4
+ constructor(data: Partial<RoleDto>);
5
+ }
6
+ export declare class Roles extends BaseController {
7
+ addRole(login: string, roleDto: RoleDto): Promise<Ok>;
8
+ revokeRole(login: string, roleDto: RoleDto): Promise<Ok>;
9
+ }
10
+ //# sourceMappingURL=Roles.d.ts.map
@@ -0,0 +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,qBAOa,OAAO;IACT,IAAI,EAAE,MAAM,CAAC;gBAER,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;CAGrC;AAGD,qBAGa,KAAM,SAAQ,cAAc;IAGxB,OAAO,CAAU,KAAK,EAAE,MAAM,EAAU,OAAO,EAAE,OAAO;IAOxD,UAAU,CAAU,KAAK,EAAE,MAAM,EAAU,OAAO,EAAE,OAAO;CAI3E"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.Roles = exports.RoleDto = void 0;
16
+ const http_1 = require("@spinajs/http");
17
+ const rbac_1 = require("@spinajs/rbac");
18
+ const rbac_http_1 = require("@spinajs/rbac-http");
19
+ const validation_1 = require("@spinajs/validation");
20
+ let RoleDto = class RoleDto {
21
+ constructor(data) {
22
+ Object.assign(this, data);
23
+ }
24
+ };
25
+ exports.RoleDto = RoleDto;
26
+ exports.RoleDto = RoleDto = __decorate([
27
+ (0, validation_1.Schema)({
28
+ type: 'object',
29
+ $id: 'arrow.common.roleDTO',
30
+ properties: {
31
+ role: { type: 'string', minimum: 0, maximum: 32 },
32
+ },
33
+ }),
34
+ __metadata("design:paramtypes", [Object])
35
+ ], RoleDto);
36
+ let Roles = class Roles extends http_1.BaseController {
37
+ async addRole(login, roleDto) {
38
+ await (0, rbac_1.grant)(login, roleDto.role);
39
+ return new http_1.Ok();
40
+ }
41
+ async revokeRole(login, roleDto) {
42
+ await (0, rbac_1.revoke)(login, roleDto.role);
43
+ return new http_1.Ok();
44
+ }
45
+ };
46
+ exports.Roles = Roles;
47
+ __decorate([
48
+ (0, http_1.Patch)('add/:login'),
49
+ (0, rbac_http_1.Permission)(['updateAny']),
50
+ __param(0, (0, http_1.Param)()),
51
+ __param(1, (0, http_1.Body)()),
52
+ __metadata("design:type", Function),
53
+ __metadata("design:paramtypes", [String, RoleDto]),
54
+ __metadata("design:returntype", Promise)
55
+ ], Roles.prototype, "addRole", null);
56
+ __decorate([
57
+ (0, http_1.Patch)('revoke/:login'),
58
+ (0, rbac_http_1.Permission)(['updateAny']),
59
+ __param(0, (0, http_1.Param)()),
60
+ __param(1, (0, http_1.Body)()),
61
+ __metadata("design:type", Function),
62
+ __metadata("design:paramtypes", [String, RoleDto]),
63
+ __metadata("design:returntype", Promise)
64
+ ], Roles.prototype, "revokeRole", null);
65
+ exports.Roles = Roles = __decorate([
66
+ (0, http_1.BasePath)('users/role'),
67
+ (0, http_1.Policy)(rbac_http_1.AuthorizedPolicy),
68
+ (0, rbac_http_1.Resource)('users')
69
+ ], Roles);
70
+ //# sourceMappingURL=Roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Roles.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Roles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAyF;AACzF,wCAAqD;AACrD,kDAA4E;AAC5E,oDAA6C;AAUtC,IAAM,OAAO,GAAb,MAAM,OAAO;IAGhB,YAAY,IAAsB;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAA;AANY,0BAAO;kBAAP,OAAO;IAPnB,IAAA,mBAAM,EAAC;QACJ,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,sBAAsB;QAC3B,UAAU,EAAE;YACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;SACpD;KACJ,CAAC;;GACW,OAAO,CAMnB;AAMM,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,qBAAc;IAGxB,AAAN,KAAK,CAAC,OAAO,CAAU,KAAa,EAAU,OAAgB;QACjE,MAAM,IAAA,YAAK,EAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,SAAE,EAAE,CAAA;IACnB,CAAC;IAIY,AAAN,KAAK,CAAC,UAAU,CAAU,KAAa,EAAU,OAAgB;QACpE,MAAM,IAAA,aAAM,EAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,IAAI,SAAE,EAAE,CAAA;IACnB,CAAC;CACJ,CAAA;AAdY,sBAAK;AAGD;IAFZ,IAAA,YAAK,EAAC,YAAY,CAAC;IACnB,IAAA,sBAAU,EAAC,CAAC,WAAW,CAAC,CAAC;IACJ,WAAA,IAAA,YAAK,GAAE,CAAA;IAAiB,WAAA,IAAA,WAAI,GAAE,CAAA;;6CAAU,OAAO;;oCAGpE;AAIY;IAFZ,IAAA,YAAK,EAAC,eAAe,CAAC;IACtB,IAAA,sBAAU,EAAC,CAAC,WAAW,CAAC,CAAC;IACD,WAAA,IAAA,YAAK,GAAE,CAAA;IAAiB,WAAA,IAAA,WAAI,GAAE,CAAA;;6CAAU,OAAO;;uCAGvE;gBAbQ,KAAK;IAHjB,IAAA,eAAQ,EAAC,YAAY,CAAC;IACtB,IAAA,aAAM,EAAC,4BAAgB,CAAC;IACxB,IAAA,oBAAQ,EAAC,OAAO,CAAC;GACL,KAAK,CAcjB"}
@@ -0,0 +1,17 @@
1
+ import { BaseController, Ok } from '@spinajs/http';
2
+ import { SessionProvider, User } from '@spinajs/rbac';
3
+ declare class ChangePasswordDto {
4
+ password: string;
5
+ confirmPassword: string;
6
+ constructor(data: any);
7
+ }
8
+ export declare class Security extends BaseController {
9
+ protected SessionProvider: SessionProvider;
10
+ changeUserPassword(user: User, dto: ChangePasswordDto): Promise<Ok>;
11
+ reset2faToken(user: User): Promise<Ok>;
12
+ deactivateUser(user: User): Promise<Ok>;
13
+ activateUser(user: User): Promise<Ok>;
14
+ logoutUser(user: User): Promise<Ok>;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=Security.d.ts.map
@@ -0,0 +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;IAI9B,kBAAkB,CAAoC,IAAI,EAAE,IAAI,EAAU,GAAG,EAAE,iBAAiB;IAOhG,aAAa,CAAoC,IAAI,EAAE,IAAI;IAO3D,cAAc,CAAoC,IAAI,EAAE,IAAI;IAO5D,YAAY,CAAoC,IAAI,EAAE,IAAI;IAO1D,UAAU,CAAoC,IAAI,EAAE,IAAI;CAIxE"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.Security = void 0;
16
+ const http_1 = require("@spinajs/http");
17
+ const orm_http_1 = require("@spinajs/orm-http");
18
+ const rbac_1 = require("@spinajs/rbac");
19
+ const rbac_http_1 = require("@spinajs/rbac-http");
20
+ const validation_1 = require("@spinajs/validation");
21
+ const rbac_http_user_1 = require("@spinajs/rbac-http-user");
22
+ const di_1 = require("@spinajs/di");
23
+ let ChangePasswordDto = class ChangePasswordDto {
24
+ constructor(data) {
25
+ Object.assign(this, data);
26
+ }
27
+ };
28
+ ChangePasswordDto = __decorate([
29
+ (0, validation_1.Schema)({
30
+ type: 'object',
31
+ $id: 'arrow.common.changePasswordDTO',
32
+ properties: {
33
+ password: { type: 'string', minLength: 8, maxLength: 128 },
34
+ confirmPassword: { type: 'string', minLength: 8, maxLength: 128 }
35
+ },
36
+ required: ['password', 'confirmPassword'],
37
+ allOf: [
38
+ {
39
+ if: {
40
+ properties: {
41
+ password: { type: 'string' },
42
+ confirmPassword: { type: 'string' }
43
+ }
44
+ },
45
+ then: {
46
+ properties: {
47
+ confirmPassword: { const: { $data: '1/password' } }
48
+ }
49
+ }
50
+ }
51
+ ]
52
+ }),
53
+ __metadata("design:paramtypes", [Object])
54
+ ], ChangePasswordDto);
55
+ let Security = class Security extends http_1.BaseController {
56
+ async changeUserPassword(user, dto) {
57
+ await (0, rbac_1.changePassword)(dto.password)(user);
58
+ return new http_1.Ok();
59
+ }
60
+ async reset2faToken(user) {
61
+ await (0, rbac_http_user_1.resetUser2Fa)(user);
62
+ return new http_1.Ok();
63
+ }
64
+ async deactivateUser(user) {
65
+ await (0, rbac_1.deactivate)(user);
66
+ return new http_1.Ok();
67
+ }
68
+ async activateUser(user) {
69
+ await (0, rbac_1.activate)(user);
70
+ return new http_1.Ok();
71
+ }
72
+ async logoutUser(user) {
73
+ await this.SessionProvider.logsOut(user);
74
+ return new http_1.Ok();
75
+ }
76
+ };
77
+ exports.Security = Security;
78
+ __decorate([
79
+ (0, di_1.Autoinject)(rbac_1.SessionProvider),
80
+ __metadata("design:type", rbac_1.SessionProvider)
81
+ ], Security.prototype, "SessionProvider", void 0);
82
+ __decorate([
83
+ (0, http_1.Patch)('changePassword/:user'),
84
+ (0, rbac_http_1.Permission)(['updateAny']),
85
+ __param(0, (0, orm_http_1.FromModel)({ queryField: "Uuid" })),
86
+ __param(1, (0, http_1.Body)()),
87
+ __metadata("design:type", Function),
88
+ __metadata("design:paramtypes", [rbac_1.User, ChangePasswordDto]),
89
+ __metadata("design:returntype", Promise)
90
+ ], Security.prototype, "changeUserPassword", null);
91
+ __decorate([
92
+ (0, http_1.Patch)('reset2fa/:user'),
93
+ (0, rbac_http_1.Permission)(['updateAny']),
94
+ __param(0, (0, orm_http_1.FromModel)({ queryField: "Uuid" })),
95
+ __metadata("design:type", Function),
96
+ __metadata("design:paramtypes", [rbac_1.User]),
97
+ __metadata("design:returntype", Promise)
98
+ ], Security.prototype, "reset2faToken", null);
99
+ __decorate([
100
+ (0, http_1.Get)('deactivate/:user'),
101
+ (0, rbac_http_1.Permission)(['deleteAny']),
102
+ __param(0, (0, orm_http_1.FromModel)({ queryField: "Uuid" })),
103
+ __metadata("design:type", Function),
104
+ __metadata("design:paramtypes", [rbac_1.User]),
105
+ __metadata("design:returntype", Promise)
106
+ ], Security.prototype, "deactivateUser", null);
107
+ __decorate([
108
+ (0, http_1.Get)('activate/:user'),
109
+ (0, rbac_http_1.Permission)(['deleteAny']),
110
+ __param(0, (0, orm_http_1.FromModel)({ queryField: "Uuid" })),
111
+ __metadata("design:type", Function),
112
+ __metadata("design:paramtypes", [rbac_1.User]),
113
+ __metadata("design:returntype", Promise)
114
+ ], Security.prototype, "activateUser", null);
115
+ __decorate([
116
+ (0, http_1.Get)('logout/:user'),
117
+ (0, rbac_http_1.Permission)(['updateAny']),
118
+ __param(0, (0, orm_http_1.FromModel)({ queryField: "Uuid" })),
119
+ __metadata("design:type", Function),
120
+ __metadata("design:paramtypes", [rbac_1.User]),
121
+ __metadata("design:returntype", Promise)
122
+ ], Security.prototype, "logoutUser", null);
123
+ exports.Security = Security = __decorate([
124
+ (0, http_1.BasePath)('users/security'),
125
+ (0, http_1.Policy)(rbac_http_1.AuthorizedPolicy),
126
+ (0, rbac_http_1.Resource)('users')
127
+ ], Security);
128
+ //# sourceMappingURL=Security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Security.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Security.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { BaseController, Ok } from '@spinajs/http';
2
+ import { IFilter, OrderDTO, PaginationDTO } from '@spinajs/orm-http';
3
+ import { User } from '@spinajs/rbac';
4
+ declare class UserDto {
5
+ Login: string;
6
+ Email: string;
7
+ Role: string;
8
+ Metadata?: {
9
+ [key: string]: any;
10
+ };
11
+ constructor(data: Partial<UserDto>);
12
+ }
13
+ export declare class Users extends BaseController {
14
+ list(pagination?: PaginationDTO, order?: OrderDTO, include?: string[], filter?: IFilter[]): Promise<Ok>;
15
+ getSingleUser(user: User, include?: string[]): Promise<Ok>;
16
+ getByLogin(user: User, include?: string[]): Promise<Ok>;
17
+ updateUser(user: User, data: UserDto): Promise<Ok>;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=Users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Users.d.ts","sourceRoot":"","sources":["../../../../src/controllers/Users/Users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,EAAE,EAAwB,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAyD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5H,OAAO,EAAE,IAAI,EAAoB,MAAM,eAAe,CAAC;AAIvD,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;IAG1B,IAAI,CACN,UAAU,CAAC,EAAE,aAAa,EAC1B,KAAK,CAAC,EAAE,QAAQ,EAQzB,OAAO,CAAC,EAAE,MAAM,EAAE,EAElB,MAAM,CAAC,EAAE,OAAO,EAAE;IAqCP,aAAa,CAAoC,IAAI,EAAE,IAAI,EAOxE,OAAO,CAAC,EAAE,MAAM,EAAE;IAOL,UAAU,CAAqC,IAAI,EAAE,IAAI,EAOtE,OAAO,CAAC,EAAE,MAAM,EAAE;IAQL,UAAU,CACc,IAAI,EAAE,IAAI,EACrC,IAAI,EAAE,OAAO;CAuBxB"}
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.Users = void 0;
16
+ const http_1 = require("@spinajs/http");
17
+ const orm_1 = require("@spinajs/orm");
18
+ const orm_http_1 = require("@spinajs/orm-http");
19
+ const rbac_1 = require("@spinajs/rbac");
20
+ const rbac_http_1 = require("@spinajs/rbac-http");
21
+ const validation_1 = require("@spinajs/validation");
22
+ let UserDto = class UserDto {
23
+ constructor(data) {
24
+ Object.assign(this, data);
25
+ }
26
+ };
27
+ UserDto = __decorate([
28
+ (0, validation_1.Schema)({
29
+ type: 'object',
30
+ $id: 'arrow.common.userDto',
31
+ properties: {
32
+ Login: { type: 'string', minLength: 3, maxLength: 32 },
33
+ Email: { type: 'string', format: 'email' },
34
+ Role: { type: 'string', minLength: 1, maxLength: 32 },
35
+ Metadata: {
36
+ type: 'object',
37
+ $id: 'arrow.common.userMetadata',
38
+ properties: {
39
+ Key: { type: 'string', minLength: 1, maxLength: 64 },
40
+ Value: { type: 'string', minLength: 0, maxLength: 256 },
41
+ },
42
+ additionalProperties: true,
43
+ description: 'Additional metadata for the user, can be used to store custom data',
44
+ },
45
+ },
46
+ required: ['Login', 'Email', 'Role'],
47
+ }),
48
+ __metadata("design:paramtypes", [Object])
49
+ ], UserDto);
50
+ /**
51
+ * User model filter
52
+ * We declare it here to not include orm-http in rbac module
53
+ * and add unnessesery dependency
54
+ */
55
+ const USER_FILTER = [
56
+ {
57
+ column: 'Uuid',
58
+ operators: ['eq'],
59
+ },
60
+ {
61
+ column: 'Email',
62
+ operators: ['eq', 'like'],
63
+ },
64
+ {
65
+ column: 'Login',
66
+ operators: ['eq', 'like'],
67
+ },
68
+ {
69
+ column: 'CreatedAt',
70
+ operators: ['eq', 'gte', 'lte', 'lt', 'gt'],
71
+ },
72
+ {
73
+ column: 'LastLoginAt',
74
+ operators: ['eq', 'gte', 'lte', 'lt', 'gt'],
75
+ },
76
+ {
77
+ column: 'DeletedAt',
78
+ operators: ['eq', 'gte', 'lte', 'lt', 'gt', 'isnull', 'notnull'],
79
+ },
80
+ {
81
+ column: 'IsActive',
82
+ operators: ['eq'],
83
+ },
84
+ {
85
+ column: 'Role',
86
+ operators: ['eq', 'neq']
87
+ },
88
+ {
89
+ column: 'user:niceName',
90
+ operators: ['eq', 'neq', 'like', 'b-like', 'e-like'],
91
+ query: (operator, value) => {
92
+ return function () {
93
+ this.whereExist("Metadata", function () {
94
+ this.where('Key', "user:niceName");
95
+ switch (operator) {
96
+ case 'eq':
97
+ case 'neq':
98
+ this.where('Value', operator, value);
99
+ break;
100
+ case 'like':
101
+ this.where('Value', operator, `%${value}%`);
102
+ break;
103
+ case 'b-like':
104
+ this.where('Value', operator, `%${value}`);
105
+ break;
106
+ case 'e-like':
107
+ this.where('Value', operator, `${value}%`);
108
+ break;
109
+ }
110
+ });
111
+ };
112
+ }
113
+ }
114
+ ];
115
+ let Users = class Users extends http_1.BaseController {
116
+ async list(pagination, order, include, filter) {
117
+ const result = await rbac_1.User.select()
118
+ .leftJoin(rbac_1.UserMetadataBase, function () {
119
+ // TODO: allow to inject custom meta props that need to be selected
120
+ // eg. user:niceName, user:avatar etc.
121
+ // this is used for filtering / sorting by custom meta props
122
+ this.where('Key', 'user:niceName');
123
+ this.select('Value', "user:niceName");
124
+ })
125
+ .populate(include)
126
+ .take(pagination?.limit ?? 10)
127
+ .skip(pagination?.limit * pagination?.page)
128
+ .order(order?.column ?? 'CreatedAt', order?.order ?? orm_1.SortOrder.DESC)
129
+ .filter(filter, USER_FILTER);
130
+ const count = await rbac_1.User.query().filter(filter, USER_FILTER).count();
131
+ return new http_1.Ok(result.map((x) => x.dehydrateWithRelations({
132
+ dateTimeFormat: "iso"
133
+ })), {
134
+ Headers: [
135
+ {
136
+ Name: 'X-Total-Count',
137
+ Value: count,
138
+ },
139
+ ],
140
+ });
141
+ }
142
+ async getSingleUser(user, include) {
143
+ // linter hack, to alow incldue param,it is used by FromModel qery arg
144
+ include;
145
+ return new http_1.Ok(user.dehydrateWithRelations({ dateTimeFormat: 'iso' }));
146
+ }
147
+ async getByLogin(user, include) {
148
+ // linter hack, to alow incldue param,it is used by FromModel qery arg
149
+ include;
150
+ return new http_1.Ok(user.dehydrateWithRelations({ dateTimeFormat: 'iso' }));
151
+ }
152
+ async updateUser(user, data) {
153
+ user.Login = data.Login ?? user.Login;
154
+ user.Email = data.Email ?? user.Email;
155
+ // TODO
156
+ // fix array assign
157
+ user.Role = data.Role ? [data.Role] : user.Role;
158
+ if (data.Metadata) {
159
+ for (const key in data.Metadata) {
160
+ user.Metadata[key] = data.Metadata[key];
161
+ }
162
+ }
163
+ await user.update();
164
+ await user.Metadata.update();
165
+ return new http_1.Ok();
166
+ }
167
+ };
168
+ exports.Users = Users;
169
+ __decorate([
170
+ (0, http_1.Get)("/"),
171
+ (0, rbac_http_1.Permission)(['readAny']),
172
+ __param(0, (0, http_1.Query)()),
173
+ __param(1, (0, http_1.Query)()),
174
+ __param(2, (0, http_1.Query)({
175
+ type: 'array',
176
+ items: {
177
+ type: 'string',
178
+ enum: ['Metadata'],
179
+ },
180
+ })),
181
+ __param(3, (0, orm_http_1.Filter)(USER_FILTER)),
182
+ __metadata("design:type", Function),
183
+ __metadata("design:paramtypes", [orm_http_1.PaginationDTO,
184
+ orm_http_1.OrderDTO, Array, Array]),
185
+ __metadata("design:returntype", Promise)
186
+ ], Users.prototype, "list", null);
187
+ __decorate([
188
+ (0, http_1.Get)(":user"),
189
+ __param(0, (0, orm_http_1.FromModel)({ queryField: "Uuid" })),
190
+ __param(1, (0, http_1.Query)({
191
+ type: 'array',
192
+ items: {
193
+ type: 'string',
194
+ enum: ['Metadata'],
195
+ },
196
+ })),
197
+ __metadata("design:type", Function),
198
+ __metadata("design:paramtypes", [rbac_1.User, Array]),
199
+ __metadata("design:returntype", Promise)
200
+ ], Users.prototype, "getSingleUser", null);
201
+ __decorate([
202
+ (0, http_1.Get)("byLogin/:user"),
203
+ __param(0, (0, orm_http_1.FromModel)({ queryField: "Login" })),
204
+ __param(1, (0, http_1.Query)({
205
+ type: 'array',
206
+ items: {
207
+ type: 'string',
208
+ enum: ['Metadata'],
209
+ },
210
+ })),
211
+ __metadata("design:type", Function),
212
+ __metadata("design:paramtypes", [rbac_1.User, Array]),
213
+ __metadata("design:returntype", Promise)
214
+ ], Users.prototype, "getByLogin", null);
215
+ __decorate([
216
+ (0, http_1.Patch)(":user"),
217
+ (0, rbac_http_1.Permission)(['updateAny']),
218
+ __param(0, (0, orm_http_1.FromModel)({ queryField: "Uuid" })),
219
+ __param(1, (0, http_1.Body)()),
220
+ __metadata("design:type", Function),
221
+ __metadata("design:paramtypes", [rbac_1.User,
222
+ UserDto]),
223
+ __metadata("design:returntype", Promise)
224
+ ], Users.prototype, "updateUser", null);
225
+ exports.Users = Users = __decorate([
226
+ (0, http_1.BasePath)('users'),
227
+ (0, http_1.Policy)(rbac_http_1.AuthorizedPolicy),
228
+ (0, rbac_http_1.Resource)('users')
229
+ ], Users);
230
+ //# sourceMappingURL=Users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Users.js","sourceRoot":"","sources":["../../../../src/controllers/Users/Users.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export * from "./controllers/UserAdminController.js";
1
+ export * from "./controllers/Users/Users.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC"}
package/lib/cjs/index.js CHANGED
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./controllers/UserAdminController.js"), exports);
17
+ __exportStar(require("./controllers/Users/Users.js"), exports);
18
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uEAAqD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C"}
@@ -0,0 +1,7 @@
1
+ import { BaseController, Ok } from '@spinajs/http';
2
+ import { UserProfileProvider } from '@spinajs/rbac';
3
+ export declare class Roles extends BaseController {
4
+ protected ProfileService: UserProfileProvider;
5
+ getUserProfile(login: string): Promise<Ok>;
6
+ }
7
+ //# sourceMappingURL=Profile.d.ts.map
@@ -0,0 +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;IAIjC,cAAc,CAAU,KAAK,EAAE,MAAM;CAGrD"}