@tc-libs/role 0.9.0

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 (92) hide show
  1. package/README.md +11 -0
  2. package/package.json +11 -0
  3. package/src/constants/role.constant.d.ts +2 -0
  4. package/src/constants/role.constant.js +6 -0
  5. package/src/constants/role.constant.js.map +1 -0
  6. package/src/constants/role.doc.constant.d.ts +23 -0
  7. package/src/constants/role.doc.constant.js +35 -0
  8. package/src/constants/role.doc.constant.js.map +1 -0
  9. package/src/constants/role.list.constant.d.ts +8 -0
  10. package/src/constants/role.list.constant.js +13 -0
  11. package/src/constants/role.list.constant.js.map +1 -0
  12. package/src/constants/role.permissions.constants.d.ts +2 -0
  13. package/src/constants/role.permissions.constants.js +9 -0
  14. package/src/constants/role.permissions.constants.js.map +1 -0
  15. package/src/controllers/role.admin.controller.d.ts +24 -0
  16. package/src/controllers/role.admin.controller.js +281 -0
  17. package/src/controllers/role.admin.controller.js.map +1 -0
  18. package/src/decorators/role.admin.decorator.d.ts +5 -0
  19. package/src/decorators/role.admin.decorator.js +28 -0
  20. package/src/decorators/role.admin.decorator.js.map +1 -0
  21. package/src/decorators/role.decorator.d.ts +1 -0
  22. package/src/decorators/role.decorator.js +9 -0
  23. package/src/decorators/role.decorator.js.map +1 -0
  24. package/src/docs/role.admin.doc.d.ts +8 -0
  25. package/src/docs/role.admin.doc.js +111 -0
  26. package/src/docs/role.admin.doc.js.map +1 -0
  27. package/src/dtos/role.active.dto.d.ts +3 -0
  28. package/src/dtos/role.active.dto.js +21 -0
  29. package/src/dtos/role.active.dto.js.map +1 -0
  30. package/src/dtos/role.create.dto.d.ts +6 -0
  31. package/src/dtos/role.create.dto.js +47 -0
  32. package/src/dtos/role.create.dto.js.map +1 -0
  33. package/src/dtos/role.request.dto.d.ts +3 -0
  34. package/src/dtos/role.request.dto.js +23 -0
  35. package/src/dtos/role.request.dto.js.map +1 -0
  36. package/src/dtos/role.update-name.dto.d.ts +5 -0
  37. package/src/dtos/role.update-name.dto.js +11 -0
  38. package/src/dtos/role.update-name.dto.js.map +1 -0
  39. package/src/dtos/role.update-permission.dto.d.ts +5 -0
  40. package/src/dtos/role.update-permission.dto.js +12 -0
  41. package/src/dtos/role.update-permission.dto.js.map +1 -0
  42. package/src/errors/400/api.role.400.error.d.ts +4 -0
  43. package/src/errors/400/api.role.400.error.js +11 -0
  44. package/src/errors/400/api.role.400.error.js.map +1 -0
  45. package/src/errors/400/index.d.ts +1 -0
  46. package/src/errors/400/index.js +5 -0
  47. package/src/errors/400/index.js.map +1 -0
  48. package/src/errors/index.d.ts +1 -0
  49. package/src/errors/index.js +5 -0
  50. package/src/errors/index.js.map +1 -0
  51. package/src/guards/role.active.guard.d.ts +7 -0
  52. package/src/guards/role.active.guard.js +31 -0
  53. package/src/guards/role.active.guard.js.map +1 -0
  54. package/src/guards/role.not-found.guard.d.ts +4 -0
  55. package/src/guards/role.not-found.guard.js +21 -0
  56. package/src/guards/role.not-found.guard.js.map +1 -0
  57. package/src/guards/role.put-to-request.guard.d.ts +7 -0
  58. package/src/guards/role.put-to-request.guard.js +27 -0
  59. package/src/guards/role.put-to-request.guard.js.map +1 -0
  60. package/src/index.d.ts +8 -0
  61. package/src/index.js +12 -0
  62. package/src/index.js.map +1 -0
  63. package/src/interfaces/role.interface.d.ts +8 -0
  64. package/src/interfaces/role.interface.js +3 -0
  65. package/src/interfaces/role.interface.js.map +1 -0
  66. package/src/repository/entities/role.entity.d.ts +16 -0
  67. package/src/repository/entities/role.entity.js +64 -0
  68. package/src/repository/entities/role.entity.js.map +1 -0
  69. package/src/repository/repositories/role.repository.d.ts +11 -0
  70. package/src/repository/repositories/role.repository.js +34 -0
  71. package/src/repository/repositories/role.repository.js.map +1 -0
  72. package/src/repository/role.repository.module.d.ts +2 -0
  73. package/src/repository/role.repository.module.js +27 -0
  74. package/src/repository/role.repository.module.js.map +1 -0
  75. package/src/role.module.d.ts +2 -0
  76. package/src/role.module.js +20 -0
  77. package/src/role.module.js.map +1 -0
  78. package/src/serializations/index.d.ts +3 -0
  79. package/src/serializations/index.js +7 -0
  80. package/src/serializations/index.js.map +1 -0
  81. package/src/serializations/role.access-for.serialization.d.ts +3 -0
  82. package/src/serializations/role.access-for.serialization.js +18 -0
  83. package/src/serializations/role.access-for.serialization.js.map +1 -0
  84. package/src/serializations/role.get.serialization.d.ts +11 -0
  85. package/src/serializations/role.get.serialization.js +64 -0
  86. package/src/serializations/role.get.serialization.js.map +1 -0
  87. package/src/serializations/role.list.serialization.d.ts +6 -0
  88. package/src/serializations/role.list.serialization.js +23 -0
  89. package/src/serializations/role.list.serialization.js.map +1 -0
  90. package/src/services/role.service.d.ts +24 -0
  91. package/src/services/role.service.js +71 -0
  92. package/src/services/role.service.js.map +1 -0
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleListDoc = RoleListDoc;
4
+ exports.RoleGetDoc = RoleGetDoc;
5
+ exports.RoleCreateDoc = RoleCreateDoc;
6
+ exports.RoleUpdateDoc = RoleUpdateDoc;
7
+ exports.RoleDeleteDoc = RoleDeleteDoc;
8
+ exports.RoleActiveDoc = RoleActiveDoc;
9
+ exports.RoleInactiveDoc = RoleInactiveDoc;
10
+ exports.RoleAccessForDoc = RoleAccessForDoc;
11
+ const doc_1 = require("@tc-libs/doc");
12
+ const response_1 = require("@tc-libs/response");
13
+ const common_1 = require("@nestjs/common");
14
+ const role_doc_constant_1 = require("../constants/role.doc.constant");
15
+ const role_list_constant_1 = require("../constants/role.list.constant");
16
+ const serializations_1 = require("../serializations");
17
+ function RoleListDoc() {
18
+ return (0, common_1.applyDecorators)((0, doc_1.DocPaging)('role.list', {
19
+ auth: {
20
+ jwtAccessToken: true,
21
+ permissionToken: true,
22
+ },
23
+ request: {
24
+ queries: [...role_doc_constant_1.RoleDocQueryactive, ...role_doc_constant_1.RoleDocQueryAccessFor],
25
+ },
26
+ response: {
27
+ serialization: serializations_1.RoleListSerialization,
28
+ availableOrderBy: role_list_constant_1.ROLE_DEFAULT_AVAILABLE_ORDER_BY,
29
+ availableSearch: role_list_constant_1.ROLE_DEFAULT_AVAILABLE_SEARCH,
30
+ },
31
+ }));
32
+ }
33
+ function RoleGetDoc() {
34
+ return (0, common_1.applyDecorators)((0, doc_1.Doc)('role.get', {
35
+ auth: {
36
+ jwtAccessToken: true,
37
+ permissionToken: true,
38
+ },
39
+ request: {
40
+ params: role_doc_constant_1.RoleDocParamsGet,
41
+ },
42
+ response: { serialization: serializations_1.RoleGetSerialization },
43
+ }));
44
+ }
45
+ function RoleCreateDoc() {
46
+ return (0, common_1.applyDecorators)((0, doc_1.Doc)('role.create', {
47
+ auth: {
48
+ jwtAccessToken: true,
49
+ permissionToken: true,
50
+ },
51
+ response: {
52
+ httpStatus: common_1.HttpStatus.CREATED,
53
+ serialization: response_1.ResponseIdSerialization,
54
+ },
55
+ }));
56
+ }
57
+ function RoleUpdateDoc() {
58
+ return (0, common_1.applyDecorators)((0, doc_1.Doc)('role.update', {
59
+ auth: {
60
+ jwtAccessToken: true,
61
+ permissionToken: true,
62
+ },
63
+ request: {
64
+ params: role_doc_constant_1.RoleDocParamsGet,
65
+ },
66
+ response: { serialization: response_1.ResponseIdSerialization },
67
+ }));
68
+ }
69
+ function RoleDeleteDoc() {
70
+ return (0, common_1.applyDecorators)((0, doc_1.Doc)('role.delete', {
71
+ auth: {
72
+ jwtAccessToken: true,
73
+ permissionToken: true,
74
+ },
75
+ request: {
76
+ params: role_doc_constant_1.RoleDocParamsGet,
77
+ },
78
+ }));
79
+ }
80
+ function RoleActiveDoc() {
81
+ return (0, common_1.applyDecorators)((0, doc_1.Doc)('role.active', {
82
+ auth: {
83
+ jwtAccessToken: true,
84
+ permissionToken: true,
85
+ },
86
+ request: {
87
+ params: role_doc_constant_1.RoleDocParamsGet,
88
+ },
89
+ }));
90
+ }
91
+ function RoleInactiveDoc() {
92
+ return (0, common_1.applyDecorators)((0, doc_1.Doc)('role.inactive', {
93
+ auth: {
94
+ jwtAccessToken: true,
95
+ permissionToken: true,
96
+ },
97
+ request: {
98
+ params: role_doc_constant_1.RoleDocParamsGet,
99
+ },
100
+ }));
101
+ }
102
+ function RoleAccessForDoc() {
103
+ return (0, common_1.applyDecorators)((0, doc_1.Doc)('role.accessFor', {
104
+ auth: {
105
+ jwtAccessToken: true,
106
+ permissionToken: true,
107
+ },
108
+ response: { serialization: serializations_1.RoleAccessForSerialization },
109
+ }));
110
+ }
111
+ //# sourceMappingURL=role.admin.doc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.admin.doc.js","sourceRoot":"","sources":["../../../../../packages/role/src/docs/role.admin.doc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare class RoleActiveDto {
2
+ active: boolean;
3
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleActiveDto = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const swagger_1 = require("@nestjs/swagger");
6
+ const class_validator_1 = require("class-validator");
7
+ class RoleActiveDto {
8
+ }
9
+ exports.RoleActiveDto = RoleActiveDto;
10
+ tslib_1.__decorate([
11
+ (0, swagger_1.ApiProperty)({
12
+ name: 'active',
13
+ description: 'is active role',
14
+ required: true,
15
+ nullable: false,
16
+ }),
17
+ (0, class_validator_1.IsBoolean)(),
18
+ (0, class_validator_1.IsNotEmpty)(),
19
+ tslib_1.__metadata("design:type", Boolean)
20
+ ], RoleActiveDto.prototype, "active", void 0);
21
+ //# sourceMappingURL=role.active.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.active.dto.js","sourceRoot":"","sources":["../../../../../packages/role/src/dtos/role.active.dto.ts"],"names":[],"mappings":";;;;AAAA,6CAA8C;AAC9C,qDAAwD;AAExD,MAAa,aAAa;CAUzB;AAVD,sCAUC;AADC;IARC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gBAAgB;QAC7B,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;6CACG"}
@@ -0,0 +1,6 @@
1
+ import { ENUM_AUTH_ACCESS_FOR_DEFAULT } from '@tc-libs/authentication';
2
+ export declare class RoleCreateDto {
3
+ readonly name: string;
4
+ readonly permissions: string[];
5
+ readonly accessFor: ENUM_AUTH_ACCESS_FOR_DEFAULT;
6
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleCreateDto = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const authentication_1 = require("@tc-libs/authentication");
6
+ const faker_1 = require("@faker-js/faker");
7
+ const swagger_1 = require("@nestjs/swagger");
8
+ const class_transformer_1 = require("class-transformer");
9
+ const class_validator_1 = require("class-validator");
10
+ class RoleCreateDto {
11
+ }
12
+ exports.RoleCreateDto = RoleCreateDto;
13
+ tslib_1.__decorate([
14
+ (0, swagger_1.ApiProperty)({
15
+ description: 'Alias name of role',
16
+ example: faker_1.faker.person.jobTitle(),
17
+ required: true,
18
+ }),
19
+ (0, class_validator_1.IsString)(),
20
+ (0, class_validator_1.IsNotEmpty)(),
21
+ (0, class_validator_1.MinLength)(3),
22
+ (0, class_validator_1.MaxLength)(30),
23
+ (0, class_transformer_1.Type)(() => String),
24
+ tslib_1.__metadata("design:type", String)
25
+ ], RoleCreateDto.prototype, "name", void 0);
26
+ tslib_1.__decorate([
27
+ (0, swagger_1.ApiProperty)({
28
+ description: 'List of permission',
29
+ example: [faker_1.faker.string.uuid(), faker_1.faker.string.uuid()],
30
+ required: true,
31
+ }),
32
+ (0, class_validator_1.IsUUID)('4', { each: true }),
33
+ (0, class_validator_1.IsArray)(),
34
+ (0, class_validator_1.IsNotEmpty)(),
35
+ tslib_1.__metadata("design:type", Array)
36
+ ], RoleCreateDto.prototype, "permissions", void 0);
37
+ tslib_1.__decorate([
38
+ (0, swagger_1.ApiProperty)({
39
+ description: 'Representative for role',
40
+ example: 'ADMIN',
41
+ required: true,
42
+ }),
43
+ (0, class_validator_1.IsEnum)(authentication_1.ENUM_AUTH_ACCESS_FOR_DEFAULT),
44
+ (0, class_validator_1.IsNotEmpty)(),
45
+ tslib_1.__metadata("design:type", String)
46
+ ], RoleCreateDto.prototype, "accessFor", void 0);
47
+ //# sourceMappingURL=role.create.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.create.dto.js","sourceRoot":"","sources":["../../../../../packages/role/src/dtos/role.create.dto.ts"],"names":[],"mappings":";;;;AAAA,4DAAuE;AACvE,2CAAwC;AACxC,6CAA8C;AAC9C,yDAAyC;AACzC,qDAQyB;AAEzB,MAAa,aAAa;CA+BzB;AA/BD,sCA+BC;AApBU;IAVR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,aAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,CAAC,CAAC;IACZ,IAAA,2BAAS,EAAC,EAAE,CAAC;IACb,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;2CACG;AAUb;IARR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,CAAC,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnD,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,wBAAM,EAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;kDACkB;AAStB;IAPR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,wBAAM,EAAC,6CAA4B,CAAC;IACpC,IAAA,4BAAU,GAAE;;gDACoC"}
@@ -0,0 +1,3 @@
1
+ export declare class RoleRequestDto {
2
+ role: string;
3
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleRequestDto = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const swagger_1 = require("@nestjs/swagger");
6
+ const class_transformer_1 = require("class-transformer");
7
+ const class_validator_1 = require("class-validator");
8
+ class RoleRequestDto {
9
+ }
10
+ exports.RoleRequestDto = RoleRequestDto;
11
+ tslib_1.__decorate([
12
+ (0, swagger_1.ApiProperty)({
13
+ name: 'role',
14
+ description: 'role id',
15
+ required: true,
16
+ nullable: false,
17
+ }),
18
+ (0, class_validator_1.IsNotEmpty)(),
19
+ (0, class_validator_1.IsMongoId)(),
20
+ (0, class_transformer_1.Type)(() => String),
21
+ tslib_1.__metadata("design:type", String)
22
+ ], RoleRequestDto.prototype, "role", void 0);
23
+ //# sourceMappingURL=role.request.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.request.dto.js","sourceRoot":"","sources":["../../../../../packages/role/src/dtos/role.request.dto.ts"],"names":[],"mappings":";;;;AAAA,6CAA8C;AAC9C,yDAAyC;AACzC,qDAAwD;AAExD,MAAa,cAAc;CAW1B;AAXD,wCAWC;AADC;IATC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;IACX,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;4CACN"}
@@ -0,0 +1,5 @@
1
+ import { RoleCreateDto } from './role.create.dto';
2
+ declare const RoleUpdateNameDto_base: import("@nestjs/common").Type<Pick<RoleCreateDto, "name">>;
3
+ export declare class RoleUpdateNameDto extends RoleUpdateNameDto_base {
4
+ }
5
+ export {};
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleUpdateNameDto = void 0;
4
+ const swagger_1 = require("@nestjs/swagger");
5
+ const role_create_dto_1 = require("./role.create.dto");
6
+ class RoleUpdateNameDto extends (0, swagger_1.PickType)(role_create_dto_1.RoleCreateDto, [
7
+ 'name',
8
+ ]) {
9
+ }
10
+ exports.RoleUpdateNameDto = RoleUpdateNameDto;
11
+ //# sourceMappingURL=role.update-name.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.update-name.dto.js","sourceRoot":"","sources":["../../../../../packages/role/src/dtos/role.update-name.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,uDAAkD;AAElD,MAAa,iBAAkB,SAAQ,IAAA,kBAAQ,EAAC,+BAAa,EAAE;IAC7D,MAAM;CACE,CAAC;CAAG;AAFd,8CAEc"}
@@ -0,0 +1,5 @@
1
+ import { RoleCreateDto } from './role.create.dto';
2
+ declare const RoleUpdatePermissionDto_base: import("@nestjs/common").Type<Pick<RoleCreateDto, "permissions" | "accessFor">>;
3
+ export declare class RoleUpdatePermissionDto extends RoleUpdatePermissionDto_base {
4
+ }
5
+ export {};
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleUpdatePermissionDto = void 0;
4
+ const role_create_dto_1 = require("./role.create.dto");
5
+ const swagger_1 = require("@nestjs/swagger");
6
+ class RoleUpdatePermissionDto extends (0, swagger_1.PickType)(role_create_dto_1.RoleCreateDto, [
7
+ 'accessFor',
8
+ 'permissions',
9
+ ]) {
10
+ }
11
+ exports.RoleUpdatePermissionDto = RoleUpdatePermissionDto;
12
+ //# sourceMappingURL=role.update-permission.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.update-permission.dto.js","sourceRoot":"","sources":["../../../../../packages/role/src/dtos/role.update-permission.dto.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,6CAA2C;AAE3C,MAAa,uBAAwB,SAAQ,IAAA,kBAAQ,EAAC,+BAAa,EAAE;IACnE,WAAW;IACX,aAAa;CACL,CAAC;CAAG;AAHd,0DAGc"}
@@ -0,0 +1,4 @@
1
+ import { Api400Error } from '@tc-libs/errors';
2
+ export declare class Api400RoleUsedError extends Api400Error {
3
+ constructor();
4
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Api400RoleUsedError = void 0;
4
+ const errors_1 = require("@tc-libs/errors");
5
+ class Api400RoleUsedError extends errors_1.Api400Error {
6
+ constructor() {
7
+ super('error.400.role_used', 40421);
8
+ }
9
+ }
10
+ exports.Api400RoleUsedError = Api400RoleUsedError;
11
+ //# sourceMappingURL=api.role.400.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.role.400.error.js","sourceRoot":"","sources":["../../../../../../packages/role/src/errors/400/api.role.400.error.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAE9C,MAAa,mBAAoB,SAAQ,oBAAW;IAClD;QACE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;CACF;AAJD,kDAIC"}
@@ -0,0 +1 @@
1
+ export * from './api.role.400.error';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./api.role.400.error"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/role/src/errors/400/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC"}
@@ -0,0 +1 @@
1
+ export * from './400';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./400"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/role/src/errors/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB"}
@@ -0,0 +1,7 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { Reflector } from '@nestjs/core';
3
+ export declare class RoleActiveGuard implements CanActivate {
4
+ private reflector;
5
+ constructor(reflector: Reflector);
6
+ canActivate(context: ExecutionContext): Promise<boolean>;
7
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleActiveGuard = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const errors_1 = require("@tc-libs/errors");
6
+ const common_1 = require("@nestjs/common");
7
+ const core_1 = require("@nestjs/core");
8
+ const role_entity_1 = require("../repository/entities/role.entity");
9
+ const role_constant_1 = require("../constants/role.constant");
10
+ let RoleActiveGuard = class RoleActiveGuard {
11
+ constructor(reflector) {
12
+ this.reflector = reflector;
13
+ }
14
+ async canActivate(context) {
15
+ const required = this.reflector.getAllAndOverride(role_constant_1.ROLE_ACTIVE_META_KEY, [context.getHandler(), context.getClass()]);
16
+ if (!required) {
17
+ return true;
18
+ }
19
+ const { __role } = context.switchToHttp().getRequest();
20
+ if (!required.includes(__role.active)) {
21
+ throw new errors_1.Api400EntityActiveInvalidError({ entity: role_entity_1.RoleEntity.name });
22
+ }
23
+ return true;
24
+ }
25
+ };
26
+ exports.RoleActiveGuard = RoleActiveGuard;
27
+ exports.RoleActiveGuard = RoleActiveGuard = tslib_1.__decorate([
28
+ (0, common_1.Injectable)(),
29
+ tslib_1.__metadata("design:paramtypes", [core_1.Reflector])
30
+ ], RoleActiveGuard);
31
+ //# sourceMappingURL=role.active.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.active.guard.js","sourceRoot":"","sources":["../../../../../packages/role/src/guards/role.active.guard.ts"],"names":[],"mappings":";;;;AAAA,4CAAiE;AACjE,2CAA2E;AAC3E,uCAAyC;AACzC,oEAAgE;AAChE,8DAAkE;AAG3D,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAE5C,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,QAAQ,GAAc,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAC1D,oCAAoB,EACpB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC3C,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAEvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,uCAA8B,CAAC,EAAE,MAAM,EAAE,wBAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AApBY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;6CAEoB,gBAAS;GAD7B,eAAe,CAoB3B"}
@@ -0,0 +1,4 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ export declare class RoleNotFoundGuard implements CanActivate {
3
+ canActivate(context: ExecutionContext): Promise<boolean>;
4
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleNotFoundGuard = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const errors_1 = require("@tc-libs/errors");
6
+ const common_1 = require("@nestjs/common");
7
+ const role_entity_1 = require("../repository/entities/role.entity");
8
+ let RoleNotFoundGuard = class RoleNotFoundGuard {
9
+ async canActivate(context) {
10
+ const { __role } = context.switchToHttp().getRequest();
11
+ if (!__role) {
12
+ throw new errors_1.Api404EntityNotFoundError({ entity: role_entity_1.RoleEntity.name });
13
+ }
14
+ return true;
15
+ }
16
+ };
17
+ exports.RoleNotFoundGuard = RoleNotFoundGuard;
18
+ exports.RoleNotFoundGuard = RoleNotFoundGuard = tslib_1.__decorate([
19
+ (0, common_1.Injectable)()
20
+ ], RoleNotFoundGuard);
21
+ //# sourceMappingURL=role.not-found.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.not-found.guard.js","sourceRoot":"","sources":["../../../../../packages/role/src/guards/role.not-found.guard.ts"],"names":[],"mappings":";;;;AAAA,4CAA4D;AAC5D,2CAA2E;AAC3E,oEAAgE;AAGzD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAEvD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,kCAAyB,CAAC,EAAE,MAAM,EAAE,wBAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAVY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAU7B"}
@@ -0,0 +1,7 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { RoleService } from '../services/role.service';
3
+ export declare class RolePutToRequestGuard implements CanActivate {
4
+ private readonly roleService;
5
+ constructor(roleService: RoleService);
6
+ canActivate(context: ExecutionContext): Promise<boolean>;
7
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RolePutToRequestGuard = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const role_service_1 = require("../services/role.service");
7
+ let RolePutToRequestGuard = class RolePutToRequestGuard {
8
+ constructor(roleService) {
9
+ this.roleService = roleService;
10
+ }
11
+ async canActivate(context) {
12
+ const request = context.switchToHttp().getRequest();
13
+ const { params } = request;
14
+ const { role } = params;
15
+ const check = await this.roleService.findById(role, {
16
+ join: true,
17
+ });
18
+ request.__role = check;
19
+ return true;
20
+ }
21
+ };
22
+ exports.RolePutToRequestGuard = RolePutToRequestGuard;
23
+ exports.RolePutToRequestGuard = RolePutToRequestGuard = tslib_1.__decorate([
24
+ (0, common_1.Injectable)(),
25
+ tslib_1.__metadata("design:paramtypes", [role_service_1.RoleService])
26
+ ], RolePutToRequestGuard);
27
+ //# sourceMappingURL=role.put-to-request.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.put-to-request.guard.js","sourceRoot":"","sources":["../../../../../packages/role/src/guards/role.put-to-request.guard.ts"],"names":[],"mappings":";;;;AAAA,2CAA2E;AAE3E,2DAAuD;AAGhD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAEzD,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAExB,MAAM,KAAK,GAAY,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC3D,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAfY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;6CAE+B,0BAAW;GAD1C,qBAAqB,CAejC"}
package/src/index.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export * from './role.module';
2
+ export * from './services/role.service';
3
+ export * from './constants/role.constant';
4
+ export * from './constants/role.permissions.constants';
5
+ export * from './serializations';
6
+ export * from './repository/entities/role.entity';
7
+ export * from './controllers/role.admin.controller';
8
+ export * from './dtos/role.create.dto';
package/src/index.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./role.module"), exports);
5
+ tslib_1.__exportStar(require("./services/role.service"), exports);
6
+ tslib_1.__exportStar(require("./constants/role.constant"), exports);
7
+ tslib_1.__exportStar(require("./constants/role.permissions.constants"), exports);
8
+ tslib_1.__exportStar(require("./serializations"), exports);
9
+ tslib_1.__exportStar(require("./repository/entities/role.entity"), exports);
10
+ tslib_1.__exportStar(require("./controllers/role.admin.controller"), exports);
11
+ tslib_1.__exportStar(require("./dtos/role.create.dto"), exports);
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/role/src/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,kEAAwC;AACxC,oEAA0C;AAC1C,iFAAuD;AACvD,2DAAiC;AACjC,4EAAkD;AAClD,8EAAoD;AACpD,iEAAuC"}
@@ -0,0 +1,8 @@
1
+ import { PermissionDoc, PermissionEntity } from '@tc-libs/permission';
2
+ import { RoleEntity, RoleDoc } from '../repository/entities/role.entity';
3
+ export interface IRoleEntity extends Omit<RoleEntity, 'permissions'> {
4
+ permissions: PermissionEntity[];
5
+ }
6
+ export interface IRoleDoc extends Omit<RoleDoc, 'permissions'> {
7
+ permissions: PermissionDoc[];
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=role.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.interface.js","sourceRoot":"","sources":["../../../../../packages/role/src/interfaces/role.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { ENUM_AUTH_ACCESS_FOR } from '@tc-libs/authentication';
2
+ import { DatabaseMongoEntityAbstract } from '@tc-libs/database';
3
+ import { Document } from 'mongoose';
4
+ export declare const RoleDatabaseName = "roles";
5
+ export declare class RoleEntity extends DatabaseMongoEntityAbstract {
6
+ name: string;
7
+ permissions: string[];
8
+ active: boolean;
9
+ accessFor: ENUM_AUTH_ACCESS_FOR;
10
+ }
11
+ export declare const RoleSchema: import("mongoose").Schema<RoleEntity, import("mongoose").Model<RoleEntity, any, any, any, Document<unknown, any, RoleEntity> & RoleEntity & Required<{
12
+ _id: import("mongoose").Types.ObjectId;
13
+ }>, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, RoleEntity, Document<unknown, {}, RoleEntity> & RoleEntity & Required<{
14
+ _id: import("mongoose").Types.ObjectId;
15
+ }>>;
16
+ export type RoleDoc = RoleEntity & Document;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleSchema = exports.RoleEntity = exports.RoleDatabaseName = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const authentication_1 = require("@tc-libs/authentication");
6
+ const database_1 = require("@tc-libs/database");
7
+ const permission_1 = require("@tc-libs/permission");
8
+ const mongoose_1 = require("@nestjs/mongoose");
9
+ const mongoose_2 = require("mongoose");
10
+ exports.RoleDatabaseName = 'roles';
11
+ let RoleEntity = class RoleEntity extends database_1.DatabaseMongoEntityAbstract {
12
+ };
13
+ exports.RoleEntity = RoleEntity;
14
+ tslib_1.__decorate([
15
+ (0, mongoose_1.Prop)({
16
+ required: true,
17
+ index: true,
18
+ unique: true,
19
+ lowercase: true,
20
+ trim: true,
21
+ maxlength: 100,
22
+ type: String,
23
+ }),
24
+ tslib_1.__metadata("design:type", String)
25
+ ], RoleEntity.prototype, "name", void 0);
26
+ tslib_1.__decorate([
27
+ (0, mongoose_1.Prop)({
28
+ required: true,
29
+ default: [],
30
+ _id: false,
31
+ type: [mongoose_2.SchemaTypes.ObjectId],
32
+ ref: permission_1.PermissionEntity.name,
33
+ }),
34
+ tslib_1.__metadata("design:type", Array)
35
+ ], RoleEntity.prototype, "permissions", void 0);
36
+ tslib_1.__decorate([
37
+ (0, mongoose_1.Prop)({
38
+ required: true,
39
+ default: true,
40
+ index: true,
41
+ type: Boolean,
42
+ }),
43
+ tslib_1.__metadata("design:type", Boolean)
44
+ ], RoleEntity.prototype, "active", void 0);
45
+ tslib_1.__decorate([
46
+ (0, mongoose_1.Prop)({
47
+ required: true,
48
+ enum: authentication_1.ENUM_AUTH_ACCESS_FOR,
49
+ index: true,
50
+ type: String,
51
+ }),
52
+ tslib_1.__metadata("design:type", String)
53
+ ], RoleEntity.prototype, "accessFor", void 0);
54
+ exports.RoleEntity = RoleEntity = tslib_1.__decorate([
55
+ (0, database_1.DatabaseEntity)({
56
+ collection: exports.RoleDatabaseName,
57
+ })
58
+ ], RoleEntity);
59
+ exports.RoleSchema = mongoose_1.SchemaFactory.createForClass(RoleEntity);
60
+ exports.RoleSchema.pre('save', function (next) {
61
+ this.name = this.name.toLowerCase();
62
+ next();
63
+ });
64
+ //# sourceMappingURL=role.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.entity.js","sourceRoot":"","sources":["../../../../../../packages/role/src/repository/entities/role.entity.ts"],"names":[],"mappings":";;;;AAAA,4DAA+D;AAC/D,gDAAgF;AAChF,oDAAuD;AACvD,+CAAuD;AACvD,uCAIkB;AAEL,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAKjC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,sCAA2B;CAoC1D,CAAA;AApCY,gCAAU;AAUrB;IATC,IAAA,eAAI,EAAC;QACJ,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,GAAG;QACd,IAAI,EAAE,MAAM;KACb,CAAC;;wCACW;AASb;IAPC,IAAA,eAAI,EAAC;QACJ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,CAAC,sBAAW,CAAC,QAAQ,CAAC;QAC5B,GAAG,EAAE,6BAAgB,CAAC,IAAI;KAC3B,CAAC;;+CACoB;AAQtB;IANC,IAAA,eAAI,EAAC;QACJ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,OAAO;KACd,CAAC;;0CACc;AAQhB;IANC,IAAA,eAAI,EAAC;QACJ,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,qCAAoB;QAC1B,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,MAAM;KACb,CAAC;;6CAC8B;qBAnCrB,UAAU;IAHtB,IAAA,yBAAc,EAAC;QACd,UAAU,EAAE,wBAAgB;KAC7B,CAAC;GACW,UAAU,CAoCtB;AAEY,QAAA,UAAU,GAAG,wBAAa,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AAInE,kBAAU,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,IAA2C;IAC1E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAEpC,IAAI,EAAE,CAAC;AACT,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Logger } from '@nestjs/common';
2
+ import { AppCacheService } from '@tc-libs/app-cache';
3
+ import { DatabaseMongoRepositoryAbstract } from '@tc-libs/database';
4
+ import { Connection, Model } from 'mongoose';
5
+ import { RoleDoc, RoleEntity } from '../entities/role.entity';
6
+ export declare class RoleRepository extends DatabaseMongoRepositoryAbstract<RoleEntity, RoleDoc> {
7
+ private readonly roleModel;
8
+ private readonly connection;
9
+ protected readonly _logger: Logger;
10
+ constructor(roleModel: Model<RoleEntity>, connection: Connection, _cache: AppCacheService);
11
+ }