@solidstarters/solid-core 1.2.47 → 1.2.49

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 (190) hide show
  1. package/dist/controllers/email-template.controller.d.ts +25 -7
  2. package/dist/controllers/email-template.controller.d.ts.map +1 -1
  3. package/dist/controllers/email-template.controller.js +70 -36
  4. package/dist/controllers/email-template.controller.js.map +1 -1
  5. package/dist/controllers/google-authentication.controller.d.ts +0 -1
  6. package/dist/controllers/google-authentication.controller.d.ts.map +1 -1
  7. package/dist/controllers/security-rule.controller.d.ts +41 -0
  8. package/dist/controllers/security-rule.controller.d.ts.map +1 -0
  9. package/dist/controllers/security-rule.controller.js +179 -0
  10. package/dist/controllers/security-rule.controller.js.map +1 -0
  11. package/dist/controllers/sms-template.controller.d.ts +25 -7
  12. package/dist/controllers/sms-template.controller.d.ts.map +1 -1
  13. package/dist/controllers/sms-template.controller.js +71 -36
  14. package/dist/controllers/sms-template.controller.js.map +1 -1
  15. package/dist/controllers/user-view-metadata.controller.d.ts +2 -1
  16. package/dist/controllers/user-view-metadata.controller.d.ts.map +1 -1
  17. package/dist/controllers/user-view-metadata.controller.js +5 -3
  18. package/dist/controllers/user-view-metadata.controller.js.map +1 -1
  19. package/dist/controllers/view-metadata.controller.d.ts +2 -1
  20. package/dist/controllers/view-metadata.controller.d.ts.map +1 -1
  21. package/dist/controllers/view-metadata.controller.js +5 -3
  22. package/dist/controllers/view-metadata.controller.js.map +1 -1
  23. package/dist/dtos/create-email-attachment.dto.d.ts.map +1 -1
  24. package/dist/dtos/create-email-attachment.dto.js +8 -1
  25. package/dist/dtos/create-email-attachment.dto.js.map +1 -1
  26. package/dist/dtos/create-email-template.dto.d.ts +1 -0
  27. package/dist/dtos/create-email-template.dto.d.ts.map +1 -1
  28. package/dist/dtos/create-email-template.dto.js +26 -3
  29. package/dist/dtos/create-email-template.dto.js.map +1 -1
  30. package/dist/dtos/create-model-metadata.dto.d.ts +3 -0
  31. package/dist/dtos/create-model-metadata.dto.d.ts.map +1 -1
  32. package/dist/dtos/create-model-metadata.dto.js +18 -1
  33. package/dist/dtos/create-model-metadata.dto.js.map +1 -1
  34. package/dist/dtos/create-security-rule.dto.d.ts +10 -0
  35. package/dist/dtos/create-security-rule.dto.d.ts.map +1 -0
  36. package/dist/dtos/create-security-rule.dto.js +65 -0
  37. package/dist/dtos/create-security-rule.dto.js.map +1 -0
  38. package/dist/dtos/create-sms-template.dto.d.ts +1 -0
  39. package/dist/dtos/create-sms-template.dto.d.ts.map +1 -1
  40. package/dist/dtos/create-sms-template.dto.js +29 -2
  41. package/dist/dtos/create-sms-template.dto.js.map +1 -1
  42. package/dist/dtos/security-rule-config.dto.d.ts +4 -0
  43. package/dist/dtos/security-rule-config.dto.d.ts.map +1 -0
  44. package/dist/dtos/security-rule-config.dto.js +4 -0
  45. package/dist/dtos/security-rule-config.dto.js.map +1 -0
  46. package/dist/dtos/update-email-attachment.dto.d.ts +8 -0
  47. package/dist/dtos/update-email-attachment.dto.d.ts.map +1 -0
  48. package/dist/dtos/update-email-attachment.dto.js +58 -0
  49. package/dist/dtos/update-email-attachment.dto.js.map +1 -0
  50. package/dist/dtos/update-email-template.dto.d.ts +7 -0
  51. package/dist/dtos/update-email-template.dto.d.ts.map +1 -1
  52. package/dist/dtos/update-email-template.dto.js +61 -1
  53. package/dist/dtos/update-email-template.dto.js.map +1 -1
  54. package/dist/dtos/update-security-rule.dto.d.ts +11 -0
  55. package/dist/dtos/update-security-rule.dto.d.ts.map +1 -0
  56. package/dist/dtos/update-security-rule.dto.js +72 -0
  57. package/dist/dtos/update-security-rule.dto.js.map +1 -0
  58. package/dist/dtos/update-sms-template.dto.d.ts +7 -0
  59. package/dist/dtos/update-sms-template.dto.d.ts.map +1 -1
  60. package/dist/dtos/update-sms-template.dto.js +57 -1
  61. package/dist/dtos/update-sms-template.dto.js.map +1 -1
  62. package/dist/entities/email-attachment.entity.d.ts.map +1 -1
  63. package/dist/entities/email-attachment.entity.js +6 -5
  64. package/dist/entities/email-attachment.entity.js.map +1 -1
  65. package/dist/entities/email-template.entity.d.ts +1 -0
  66. package/dist/entities/email-template.entity.d.ts.map +1 -1
  67. package/dist/entities/email-template.entity.js +17 -7
  68. package/dist/entities/email-template.entity.js.map +1 -1
  69. package/dist/entities/model-metadata.entity.d.ts +2 -0
  70. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  71. package/dist/entities/model-metadata.entity.js +9 -1
  72. package/dist/entities/model-metadata.entity.js.map +1 -1
  73. package/dist/entities/security-rule.entity.d.ts +11 -0
  74. package/dist/entities/security-rule.entity.d.ts.map +1 -0
  75. package/dist/entities/security-rule.entity.js +53 -0
  76. package/dist/entities/security-rule.entity.js.map +1 -0
  77. package/dist/entities/sms-template.entity.d.ts +1 -0
  78. package/dist/entities/sms-template.entity.d.ts.map +1 -1
  79. package/dist/entities/sms-template.entity.js +16 -7
  80. package/dist/entities/sms-template.entity.js.map +1 -1
  81. package/dist/entities/user.entity.d.ts.map +1 -1
  82. package/dist/entities/user.entity.js +2 -1
  83. package/dist/entities/user.entity.js.map +1 -1
  84. package/dist/helpers/solid-registry.d.ts +22 -1
  85. package/dist/helpers/solid-registry.d.ts.map +1 -1
  86. package/dist/helpers/solid-registry.js +29 -0
  87. package/dist/helpers/solid-registry.js.map +1 -1
  88. package/dist/index.d.ts +7 -0
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +7 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/interfaces.d.ts +2 -0
  93. package/dist/interfaces.d.ts.map +1 -1
  94. package/dist/interfaces.js.map +1 -1
  95. package/dist/repository/security-rule.repository.d.ts +20 -0
  96. package/dist/repository/security-rule.repository.d.ts.map +1 -0
  97. package/dist/repository/security-rule.repository.js +128 -0
  98. package/dist/repository/security-rule.repository.js.map +1 -0
  99. package/dist/repository/solid-base.repository.d.ts +14 -0
  100. package/dist/repository/solid-base.repository.d.ts.map +1 -0
  101. package/dist/repository/solid-base.repository.js +26 -0
  102. package/dist/repository/solid-base.repository.js.map +1 -0
  103. package/dist/seeders/module-metadata-seeder.service.d.ts +5 -1
  104. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  105. package/dist/seeders/module-metadata-seeder.service.js +22 -2
  106. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  107. package/dist/seeders/seed-data/solid-core-metadata.json +1184 -290
  108. package/dist/services/authentication.service.d.ts +0 -1
  109. package/dist/services/authentication.service.d.ts.map +1 -1
  110. package/dist/services/authentication.service.js +0 -1
  111. package/dist/services/authentication.service.js.map +1 -1
  112. package/dist/services/email-template.service.d.ts +22 -12
  113. package/dist/services/email-template.service.d.ts.map +1 -1
  114. package/dist/services/email-template.service.js +37 -46
  115. package/dist/services/email-template.service.js.map +1 -1
  116. package/dist/services/field-metadata.service.d.ts.map +1 -1
  117. package/dist/services/field-metadata.service.js +1 -0
  118. package/dist/services/field-metadata.service.js.map +1 -1
  119. package/dist/services/module-metadata.service.d.ts.map +1 -1
  120. package/dist/services/module-metadata.service.js +1 -0
  121. package/dist/services/module-metadata.service.js.map +1 -1
  122. package/dist/services/request-context.service.d.ts +7 -0
  123. package/dist/services/request-context.service.d.ts.map +1 -0
  124. package/dist/services/request-context.service.js +33 -0
  125. package/dist/services/request-context.service.js.map +1 -0
  126. package/dist/services/security-rule.service.d.ts +27 -0
  127. package/dist/services/security-rule.service.d.ts.map +1 -0
  128. package/dist/services/security-rule.service.js +71 -0
  129. package/dist/services/security-rule.service.js.map +1 -0
  130. package/dist/services/sms-template.service.d.ts +23 -13
  131. package/dist/services/sms-template.service.d.ts.map +1 -1
  132. package/dist/services/sms-template.service.js +41 -49
  133. package/dist/services/sms-template.service.js.map +1 -1
  134. package/dist/services/user-view-metadata.service.d.ts +2 -1
  135. package/dist/services/user-view-metadata.service.d.ts.map +1 -1
  136. package/dist/services/user-view-metadata.service.js +3 -3
  137. package/dist/services/user-view-metadata.service.js.map +1 -1
  138. package/dist/services/view-metadata.service.d.ts +2 -1
  139. package/dist/services/view-metadata.service.d.ts.map +1 -1
  140. package/dist/services/view-metadata.service.js +26 -11
  141. package/dist/services/view-metadata.service.js.map +1 -1
  142. package/dist/solid-core.module.d.ts.map +1 -1
  143. package/dist/solid-core.module.js +15 -1
  144. package/dist/solid-core.module.js.map +1 -1
  145. package/dist/subscribers/security-rule.subscriber.d.ts +16 -0
  146. package/dist/subscribers/security-rule.subscriber.d.ts.map +1 -0
  147. package/dist/subscribers/security-rule.subscriber.js +123 -0
  148. package/dist/subscribers/security-rule.subscriber.js.map +1 -0
  149. package/dist/tsconfig.tsbuildinfo +1 -1
  150. package/package.json +1 -1
  151. package/src/controllers/email-template.controller.ts +57 -38
  152. package/src/controllers/security-rule.controller.ts +93 -0
  153. package/src/controllers/sms-template.controller.ts +58 -37
  154. package/src/controllers/user-view-metadata.controller.ts +4 -2
  155. package/src/controllers/view-metadata.controller.ts +18 -16
  156. package/src/dtos/create-email-attachment.dto.ts +8 -6
  157. package/src/dtos/create-email-template.dto.ts +22 -11
  158. package/src/dtos/create-model-metadata.dto.ts +14 -0
  159. package/src/dtos/create-security-rule.dto.ts +34 -0
  160. package/src/dtos/create-sms-template.dto.ts +22 -8
  161. package/src/dtos/security-rule-config.dto.ts +5 -0
  162. package/src/dtos/update-email-attachment.dto.ts +36 -0
  163. package/src/dtos/update-email-template.dto.ts +40 -2
  164. package/src/dtos/update-security-rule.dto.ts +39 -0
  165. package/src/dtos/update-sms-template.dto.ts +42 -2
  166. package/src/entities/email-attachment.entity.ts +6 -10
  167. package/src/entities/email-template.entity.ts +12 -16
  168. package/src/entities/model-metadata.entity.ts +6 -0
  169. package/src/entities/security-rule.entity.ts +25 -0
  170. package/src/entities/sms-template.entity.ts +11 -14
  171. package/src/entities/user.entity.ts +2 -1
  172. package/src/helpers/solid-registry.ts +34 -0
  173. package/src/index.ts +9 -0
  174. package/src/interfaces.ts +2 -0
  175. package/src/repository/security-rule.repository.ts +135 -0
  176. package/src/repository/solid-base.repository.ts +45 -0
  177. package/src/seeders/module-metadata-seeder.service.ts +28 -1
  178. package/src/seeders/seed-data/solid-core-metadata.json +1189 -294
  179. package/src/seeders/seed-data/solid-core-metadata.json.bkp +6638 -0
  180. package/src/services/authentication.service.ts +1 -1
  181. package/src/services/email-template.service.ts +27 -54
  182. package/src/services/field-metadata.service.ts +1 -0
  183. package/src/services/module-metadata.service.ts +1 -0
  184. package/src/services/request-context.service.ts +16 -0
  185. package/src/services/security-rule.service.ts +54 -0
  186. package/src/services/sms-template.service.ts +32 -55
  187. package/src/services/user-view-metadata.service.ts +4 -3
  188. package/src/services/view-metadata.service.ts +30 -11
  189. package/src/solid-core.module.ts +15 -1
  190. package/src/subscribers/security-rule.subscriber.ts +78 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-rule.repository.d.ts","sourceRoot":"","sources":["../../src/repository/security-rule.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAErE,qBACa,sBAAuB,SAAQ,UAAU,CAAC,YAAY,CAAC;IAG5D,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAJtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;gBAEtD,UAAU,EAAE,UAAU,EACb,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB;IAKzD,kBAAkB,CAAC,CAAC,SAAS,YAAY,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAI,kBAAkB,CAAC,CAAC,CAAC;IAqBpJ,OAAO,CAAC,yBAAyB;IAI3B,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA4BjE,aAAa,CAAC,SAAS,EAAE,qBAAqB;CAyDvD"}
@@ -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 SecurityRuleRepository_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.SecurityRuleRepository = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const model_metadata_entity_1 = require("../entities/model-metadata.entity");
16
+ const role_metadata_entity_1 = require("../entities/role-metadata.entity");
17
+ const security_rule_entity_1 = require("../entities/security-rule.entity");
18
+ const solid_registry_1 = require("../helpers/solid-registry");
19
+ const crud_helper_service_1 = require("../services/crud-helper.service");
20
+ const typeorm_1 = require("typeorm");
21
+ let SecurityRuleRepository = SecurityRuleRepository_1 = class SecurityRuleRepository extends typeorm_1.Repository {
22
+ constructor(dataSource, solidRegistry, crudHelperService) {
23
+ super(security_rule_entity_1.SecurityRule, dataSource.createEntityManager());
24
+ this.dataSource = dataSource;
25
+ this.solidRegistry = solidRegistry;
26
+ this.crudHelperService = crudHelperService;
27
+ this.logger = new common_1.Logger(SecurityRuleRepository_1.name);
28
+ }
29
+ applySecurityRules(qb, modelSingularName, activeUser) {
30
+ const securityRules = this.solidRegistry.getSecurityRules(modelSingularName, activeUser.roles);
31
+ securityRules.forEach((rule) => {
32
+ try {
33
+ const parsedRule = JSON.parse(this.resolveSecurityRuleConfig(rule.securityRuleConfig, activeUser));
34
+ if (parsedRule && parsedRule.filters) {
35
+ this.crudHelperService.buildFilterQuery(qb, parsedRule, qb.alias);
36
+ }
37
+ }
38
+ catch (error) {
39
+ this.logger.warn(`Error parsing security rule: ${rule.securityRuleConfig}`, error);
40
+ }
41
+ });
42
+ return qb;
43
+ }
44
+ resolveSecurityRuleConfig(configString, activeUser) {
45
+ return configString.replace('$activeUserId', activeUser.sub.toString());
46
+ }
47
+ async toDto(securityRule) {
48
+ let populatedSecurityRule = securityRule;
49
+ if (!securityRule.role || !securityRule.modelMetadata) {
50
+ populatedSecurityRule = await this.findOne({
51
+ where: {
52
+ id: securityRule.id,
53
+ },
54
+ relations: {
55
+ role: true,
56
+ modelMetadata: true,
57
+ },
58
+ });
59
+ }
60
+ return {
61
+ id: populatedSecurityRule.id,
62
+ name: populatedSecurityRule.name,
63
+ description: populatedSecurityRule.description,
64
+ roleId: populatedSecurityRule.role.id,
65
+ roleUserKey: populatedSecurityRule.role.name,
66
+ modelMetadataId: populatedSecurityRule.modelMetadata.id,
67
+ modelMetadataUserKey: populatedSecurityRule.modelMetadata.singularName,
68
+ securityRuleConfig: populatedSecurityRule.securityRuleConfig,
69
+ };
70
+ }
71
+ async upsertWithDto(createDto) {
72
+ const roleRepository = this.dataSource.getRepository(role_metadata_entity_1.RoleMetadata);
73
+ if (!createDto.roleId) {
74
+ const role = await roleRepository.findOne({
75
+ where: {
76
+ id: createDto.roleId,
77
+ },
78
+ });
79
+ createDto['role'] = role;
80
+ }
81
+ if (createDto.roleUserKey) {
82
+ const role = await roleRepository.findOne({
83
+ where: {
84
+ name: createDto.roleUserKey,
85
+ },
86
+ });
87
+ createDto['role'] = role;
88
+ }
89
+ const modelMetadataRepository = this.dataSource.getRepository(model_metadata_entity_1.ModelMetadata);
90
+ if (!createDto.modelMetadataId) {
91
+ const modelMetadata = await modelMetadataRepository.findOne({
92
+ where: {
93
+ id: createDto.modelMetadataId,
94
+ },
95
+ });
96
+ createDto['modelMetadata'] = modelMetadata;
97
+ }
98
+ if (createDto.modelMetadataUserKey) {
99
+ const modelMetadata = await modelMetadataRepository.findOne({
100
+ where: {
101
+ singularName: createDto.modelMetadataUserKey,
102
+ },
103
+ });
104
+ createDto['modelMetadata'] = modelMetadata;
105
+ }
106
+ const existingSecurityRule = await this.findOne({
107
+ where: {
108
+ name: createDto.name,
109
+ },
110
+ });
111
+ if (existingSecurityRule) {
112
+ const updatedSecurityRule = this.merge(existingSecurityRule, createDto);
113
+ return this.save(updatedSecurityRule);
114
+ }
115
+ else {
116
+ const securityRule = this.create(createDto);
117
+ return this.save(securityRule);
118
+ }
119
+ }
120
+ };
121
+ exports.SecurityRuleRepository = SecurityRuleRepository;
122
+ exports.SecurityRuleRepository = SecurityRuleRepository = SecurityRuleRepository_1 = __decorate([
123
+ (0, common_1.Injectable)(),
124
+ __metadata("design:paramtypes", [typeorm_1.DataSource,
125
+ solid_registry_1.SolidRegistry,
126
+ crud_helper_service_1.CrudHelperService])
127
+ ], SecurityRuleRepository);
128
+ //# sourceMappingURL=security-rule.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-rule.repository.js","sourceRoot":"","sources":["../../src/repository/security-rule.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Logger } from '@nestjs/common';
2
+ import { CommonEntity } from 'src/entities/common.entity';
3
+ import { RequestContextService } from 'src/services/request-context.service';
4
+ import { DataSource, EntityTarget, QueryRunner, Repository, SelectQueryBuilder } from 'typeorm';
5
+ import { SecurityRuleRepository } from './security-rule.repository';
6
+ export declare class SolidBaseRepository<T extends CommonEntity> extends Repository<T> {
7
+ protected readonly requestContextService: RequestContextService;
8
+ protected readonly securityRuleRepository: SecurityRuleRepository;
9
+ protected readonly logger: Logger;
10
+ constructor(entity: EntityTarget<T>, dataSource: DataSource, requestContextService: RequestContextService, securityRuleRepository: SecurityRuleRepository);
11
+ modelSingularName(): string;
12
+ createQueryBuilder(alias?: string, queryRunner?: QueryRunner): SelectQueryBuilder<T>;
13
+ }
14
+ //# sourceMappingURL=solid-base.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-base.repository.d.ts","sourceRoot":"","sources":["../../src/repository/solid-base.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EACH,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,kBAAkB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBAAa,mBAAmB,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAMtE,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IAC/D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB;IANrE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAG9B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,UAAU,EAAE,UAAU,EACH,qBAAqB,EAAE,qBAAqB,EAC5C,sBAAsB,EAAE,sBAAsB;IAMrE,iBAAiB,IAAI,MAAM;IAI3B,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC;CAavF"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SolidBaseRepository = void 0;
4
+ const strings_1 = require("@angular-devkit/core/src/utils/strings");
5
+ const common_1 = require("@nestjs/common");
6
+ const typeorm_1 = require("typeorm");
7
+ class SolidBaseRepository extends typeorm_1.Repository {
8
+ constructor(entity, dataSource, requestContextService, securityRuleRepository) {
9
+ super(entity, dataSource.createEntityManager());
10
+ this.requestContextService = requestContextService;
11
+ this.securityRuleRepository = securityRuleRepository;
12
+ this.logger = new common_1.Logger(this.constructor.name);
13
+ }
14
+ modelSingularName() {
15
+ return (0, strings_1.camelize)(this.metadata.name);
16
+ }
17
+ createQueryBuilder(alias, queryRunner) {
18
+ const activeUserOrUndefined = this.requestContextService.getActiveUser();
19
+ const qb = super.createQueryBuilder(alias, queryRunner);
20
+ if (!activeUserOrUndefined)
21
+ return qb;
22
+ return this.securityRuleRepository.applySecurityRules(qb, this.modelSingularName(), activeUserOrUndefined);
23
+ }
24
+ }
25
+ exports.SolidBaseRepository = SolidBaseRepository;
26
+ //# sourceMappingURL=solid-base.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid-base.repository.js","sourceRoot":"","sources":["../../src/repository/solid-base.repository.ts"],"names":[],"mappings":";;;AAAA,oEAAkE;AAClE,2CAAwC;AAIxC,qCAMiB;AAGjB,MAAa,mBAA4C,SAAQ,oBAAa;IAG1E,YACI,MAAuB,EACvB,UAAsB,EACH,qBAA4C,EAC5C,sBAA8C;QAEjE,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAH7B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,2BAAsB,GAAtB,sBAAsB,CAAwB;QAGjE,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB;QACb,OAAO,IAAA,kBAAQ,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB,CAAC,KAAc,EAAE,WAAyB;QACxD,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;QACzE,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,qBAAqB;YAAE,OAAO,EAAE,CAAC;QAEtC,OAAO,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CACjD,EAAE,EACF,IAAI,CAAC,iBAAiB,EAAE,EACxB,qBAAuC,CAC1C,CAAC;IACN,CAAC;CAGJ;AA9BD,kDA8BC"}
@@ -24,6 +24,8 @@ import commonConfig from 'src/config/common.config';
24
24
  import { CreateSettingDto } from 'src/dtos/create-setting.dto';
25
25
  import { SettingService } from 'src/services/setting.service';
26
26
  import { Setting } from 'src/entities/setting.entity';
27
+ import { CreateSecurityRuleDto } from 'src/dtos/create-security-rule.dto';
28
+ import { SecurityRuleRepository } from 'src/repository/security-rule.repository';
27
29
  export declare class ModuleMetadataSeederService {
28
30
  private readonly moduleMetadataService;
29
31
  private readonly modelMetadataService;
@@ -45,8 +47,9 @@ export declare class ModuleMetadataSeederService {
45
47
  private readonly commonConfiguration;
46
48
  private readonly service;
47
49
  readonly settingsRepo: Repository<Setting>;
50
+ readonly securityRuleRepo: SecurityRuleRepository;
48
51
  private readonly logger;
49
- constructor(moduleMetadataService: ModuleMetadataService, modelMetadataService: ModelMetadataService, fieldMetadataService: FieldMetadataService, mediaStorageProviderMetadataService: MediaStorageProviderMetadataService, roleService: RoleMetadataService, userService: UserService, authenticationService: AuthenticationService, solidActionService: ActionMetadataService, solidMenuItemService: MenuItemMetadataService, solidViewService: ViewMetadataService, mediaStorageProviderSeederService: MediaStorageProviderMetadataSeederService, emailTemplateService: EmailTemplateService, smsTemplateService: SmsTemplateService, permissionRepo: Repository<PermissionMetadata>, solidRegistry: SolidRegistry, appBuilderConfiguration: ConfigType<typeof appBuilderConfig>, iamConfiguration: ConfigType<typeof iamConfig>, commonConfiguration: ConfigType<typeof commonConfig>, service: SettingService, settingsRepo: Repository<Setting>);
52
+ constructor(moduleMetadataService: ModuleMetadataService, modelMetadataService: ModelMetadataService, fieldMetadataService: FieldMetadataService, mediaStorageProviderMetadataService: MediaStorageProviderMetadataService, roleService: RoleMetadataService, userService: UserService, authenticationService: AuthenticationService, solidActionService: ActionMetadataService, solidMenuItemService: MenuItemMetadataService, solidViewService: ViewMetadataService, mediaStorageProviderSeederService: MediaStorageProviderMetadataSeederService, emailTemplateService: EmailTemplateService, smsTemplateService: SmsTemplateService, permissionRepo: Repository<PermissionMetadata>, solidRegistry: SolidRegistry, appBuilderConfiguration: ConfigType<typeof appBuilderConfig>, iamConfiguration: ConfigType<typeof iamConfig>, commonConfiguration: ConfigType<typeof commonConfig>, service: SettingService, settingsRepo: Repository<Setting>, securityRuleRepo: SecurityRuleRepository);
50
53
  seed(): Promise<void>;
51
54
  seedPermissions(): Promise<void>;
52
55
  seedMediaStorageProviders(mediaStorageProviders: any): Promise<void>;
@@ -58,5 +61,6 @@ export declare class ModuleMetadataSeederService {
58
61
  seedUsers(users: any): Promise<void>;
59
62
  seedModuleModelFields(moduleMetadata: CreateModuleMetadataDto): Promise<void>;
60
63
  seedSettings(createDto: CreateSettingDto): Promise<void>;
64
+ seedSecurityRules(rulesDto: CreateSecurityRuleDto[]): Promise<void>;
61
65
  }
62
66
  //# sourceMappingURL=module-metadata-seeder.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/module-metadata-seeder.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/module-metadata-seeder.service.ts"],"names":[],"mappings":"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"}
@@ -77,8 +77,9 @@ const iam_config_1 = require("../config/iam.config");
77
77
  const common_config_1 = __importDefault(require("../config/common.config"));
78
78
  const setting_service_1 = require("../services/setting.service");
79
79
  const setting_entity_1 = require("../entities/setting.entity");
80
+ const security_rule_repository_1 = require("../repository/security-rule.repository");
80
81
  let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMetadataSeederService {
81
- constructor(moduleMetadataService, modelMetadataService, fieldMetadataService, mediaStorageProviderMetadataService, roleService, userService, authenticationService, solidActionService, solidMenuItemService, solidViewService, mediaStorageProviderSeederService, emailTemplateService, smsTemplateService, permissionRepo, solidRegistry, appBuilderConfiguration, iamConfiguration, commonConfiguration, service, settingsRepo) {
82
+ constructor(moduleMetadataService, modelMetadataService, fieldMetadataService, mediaStorageProviderMetadataService, roleService, userService, authenticationService, solidActionService, solidMenuItemService, solidViewService, mediaStorageProviderSeederService, emailTemplateService, smsTemplateService, permissionRepo, solidRegistry, appBuilderConfiguration, iamConfiguration, commonConfiguration, service, settingsRepo, securityRuleRepo) {
82
83
  this.moduleMetadataService = moduleMetadataService;
83
84
  this.modelMetadataService = modelMetadataService;
84
85
  this.fieldMetadataService = fieldMetadataService;
@@ -99,6 +100,7 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
99
100
  this.commonConfiguration = commonConfiguration;
100
101
  this.service = service;
101
102
  this.settingsRepo = settingsRepo;
103
+ this.securityRuleRepo = securityRuleRepo;
102
104
  this.logger = new common_1.Logger(ModuleMetadataSeederService_1.name);
103
105
  }
104
106
  async seed() {
@@ -184,6 +186,10 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
184
186
  this.logger.debug(`[Start] Processing settings for ${moduleMetadata.name}`);
185
187
  await this.seedSettings(settingsSeederData);
186
188
  this.logger.debug(`[End] Processing settings for ${moduleMetadata.name}`);
189
+ this.logger.debug(`[Start] Processing security rules for ${moduleMetadata.name}`);
190
+ const securityRules = overallMetadata.securityRules;
191
+ await this.seedSecurityRules(securityRules);
192
+ this.logger.debug(`[End] Processing security rules for ${moduleMetadata.name}`);
187
193
  this.logger.debug(`[End] module seed data: ${overallMetadata}`);
188
194
  }
189
195
  this.logger.debug(`About to add all permissions to the Admin role`);
@@ -348,6 +354,10 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
348
354
  const modelMetadata = modelsMetadata[j];
349
355
  modelMetadata['module'] = module;
350
356
  const { fields: fieldsMetadata, ...modelMetaDataWithoutFields } = modelMetadata;
357
+ if (modelMetadata.isChild && modelMetadata.parentModelUserKey) {
358
+ const parentModel = await this.modelMetadataService.findOneByUserKey(modelMetadata.parentModelUserKey);
359
+ modelMetaDataWithoutFields['parentModel'] = parentModel;
360
+ }
351
361
  await this.modelMetadataService.upsert(modelMetaDataWithoutFields);
352
362
  const model = await this.modelMetadataService.findOneBySingularName(modelMetadata.singularName);
353
363
  let userKeyField = null;
@@ -376,6 +386,15 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
376
386
  this.service.create(createDto);
377
387
  }
378
388
  }
389
+ async seedSecurityRules(rulesDto) {
390
+ if (!rulesDto || rulesDto.length === 0) {
391
+ this.logger.debug(`No security rules found to seed`);
392
+ return;
393
+ }
394
+ for (const dto of rulesDto) {
395
+ await this.securityRuleRepo.upsertWithDto({ ...dto, securityRuleConfig: JSON.stringify(dto.securityRuleConfig) });
396
+ }
397
+ }
379
398
  };
380
399
  exports.ModuleMetadataSeederService = ModuleMetadataSeederService;
381
400
  exports.ModuleMetadataSeederService = ModuleMetadataSeederService = ModuleMetadataSeederService_1 = __decorate([
@@ -400,6 +419,7 @@ exports.ModuleMetadataSeederService = ModuleMetadataSeederService = ModuleMetada
400
419
  sms_template_service_1.SmsTemplateService,
401
420
  typeorm_2.Repository,
402
421
  solid_registry_1.SolidRegistry, void 0, void 0, void 0, setting_service_1.SettingService,
403
- typeorm_2.Repository])
422
+ typeorm_2.Repository,
423
+ security_rule_repository_1.SecurityRuleRepository])
404
424
  ], ModuleMetadataSeederService);
405
425
  //# sourceMappingURL=module-metadata-seeder.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-metadata-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/module-metadata-seeder.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-metadata-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/module-metadata-seeder.service.ts"],"names":[],"mappings":"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"}