@solidxai/core 0.1.4 → 0.1.5-beta.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 (209) hide show
  1. package/.claude/settings.local.json +8 -0
  2. package/dist/constants/error-messages.d.ts +1 -0
  3. package/dist/constants/error-messages.d.ts.map +1 -1
  4. package/dist/constants/error-messages.js +1 -0
  5. package/dist/constants/error-messages.js.map +1 -1
  6. package/dist/constants.d.ts +3 -3
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +12 -12
  9. package/dist/constants.js.map +1 -1
  10. package/dist/controllers/otp-authentication.controller.d.ts +1 -4
  11. package/dist/controllers/otp-authentication.controller.d.ts.map +1 -1
  12. package/dist/controllers/otp-authentication.controller.js +1 -1
  13. package/dist/controllers/role-metadata.controller.d.ts +1 -0
  14. package/dist/controllers/role-metadata.controller.d.ts.map +1 -1
  15. package/dist/controllers/role-metadata.controller.js +15 -0
  16. package/dist/controllers/role-metadata.controller.js.map +1 -1
  17. package/dist/dtos/create-email-template.dto.d.ts.map +1 -1
  18. package/dist/dtos/create-email-template.dto.js.map +1 -1
  19. package/dist/dtos/create-list-of-values.dto.d.ts.map +1 -1
  20. package/dist/dtos/create-list-of-values.dto.js.map +1 -1
  21. package/dist/dtos/create-menu-item-metadata.dto.d.ts.map +1 -1
  22. package/dist/dtos/create-menu-item-metadata.dto.js.map +1 -1
  23. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  24. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  25. package/dist/dtos/create-scheduled-job.dto.d.ts.map +1 -1
  26. package/dist/dtos/create-scheduled-job.dto.js.map +1 -1
  27. package/dist/dtos/create-security-rule.dto.d.ts.map +1 -1
  28. package/dist/dtos/create-security-rule.dto.js.map +1 -1
  29. package/dist/dtos/create-sms-template.dto.d.ts.map +1 -1
  30. package/dist/dtos/create-sms-template.dto.js.map +1 -1
  31. package/dist/dtos/create-view-metadata.dto.d.ts.map +1 -1
  32. package/dist/dtos/create-view-metadata.dto.js.map +1 -1
  33. package/dist/dtos/otp-sign-in.dto.d.ts +1 -1
  34. package/dist/dtos/otp-sign-in.dto.d.ts.map +1 -1
  35. package/dist/dtos/otp-sign-in.dto.js +2 -2
  36. package/dist/dtos/otp-sign-in.dto.js.map +1 -1
  37. package/dist/dtos/otp-sign-up.dto.d.ts +2 -2
  38. package/dist/dtos/otp-sign-up.dto.d.ts.map +1 -1
  39. package/dist/dtos/otp-sign-up.dto.js +2 -2
  40. package/dist/dtos/otp-sign-up.dto.js.map +1 -1
  41. package/dist/dtos/resolve-s3-url.dto.d.ts +2 -5
  42. package/dist/dtos/resolve-s3-url.dto.d.ts.map +1 -1
  43. package/dist/dtos/resolve-s3-url.dto.js +1 -13
  44. package/dist/dtos/resolve-s3-url.dto.js.map +1 -1
  45. package/dist/dtos/sign-up.dto.d.ts.map +1 -1
  46. package/dist/dtos/sign-up.dto.js.map +1 -1
  47. package/dist/dtos/update-email-template.dto.d.ts.map +1 -1
  48. package/dist/dtos/update-email-template.dto.js.map +1 -1
  49. package/dist/dtos/update-list-of-values.dto.d.ts.map +1 -1
  50. package/dist/dtos/update-list-of-values.dto.js.map +1 -1
  51. package/dist/dtos/update-menu-item-metadata.dto.d.ts.map +1 -1
  52. package/dist/dtos/update-menu-item-metadata.dto.js.map +1 -1
  53. package/dist/dtos/update-scheduled-job.dto.d.ts.map +1 -1
  54. package/dist/dtos/update-scheduled-job.dto.js.map +1 -1
  55. package/dist/dtos/update-security-rule.dto.d.ts.map +1 -1
  56. package/dist/dtos/update-security-rule.dto.js.map +1 -1
  57. package/dist/dtos/update-sms-template.dto.d.ts.map +1 -1
  58. package/dist/dtos/update-sms-template.dto.js.map +1 -1
  59. package/dist/dtos/update-view-metadata.dto.d.ts.map +1 -1
  60. package/dist/dtos/update-view-metadata.dto.js.map +1 -1
  61. package/dist/entities/user.entity.d.ts +1 -0
  62. package/dist/entities/user.entity.d.ts.map +1 -1
  63. package/dist/entities/user.entity.js +6 -1
  64. package/dist/entities/user.entity.js.map +1 -1
  65. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +2 -0
  66. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts.map +1 -1
  67. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +33 -23
  68. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
  69. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +3 -0
  70. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts.map +1 -1
  71. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +36 -23
  72. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
  73. package/dist/helpers/security.helper.js +1 -0
  74. package/dist/helpers/security.helper.js.map +1 -1
  75. package/dist/index.d.ts +0 -4
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +0 -4
  78. package/dist/index.js.map +1 -1
  79. package/dist/repository/solid-base.repository.d.ts +10 -1
  80. package/dist/repository/solid-base.repository.d.ts.map +1 -1
  81. package/dist/repository/solid-base.repository.js +109 -0
  82. package/dist/repository/solid-base.repository.js.map +1 -1
  83. package/dist/seeders/module-metadata-seeder.service.d.ts +2 -0
  84. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  85. package/dist/seeders/module-metadata-seeder.service.js +141 -71
  86. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  87. package/dist/seeders/permission-metadata-seeder.service.d.ts +1 -1
  88. package/dist/seeders/permission-metadata-seeder.service.d.ts.map +1 -1
  89. package/dist/seeders/permission-metadata-seeder.service.js +1 -1
  90. package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
  91. package/dist/seeders/seed-data/solid-core-metadata.json +12 -25
  92. package/dist/services/authentication.service.d.ts +22 -8
  93. package/dist/services/authentication.service.d.ts.map +1 -1
  94. package/dist/services/authentication.service.js +228 -214
  95. package/dist/services/authentication.service.js.map +1 -1
  96. package/dist/services/crud-helper.service.d.ts +4 -0
  97. package/dist/services/crud-helper.service.d.ts.map +1 -1
  98. package/dist/services/crud-helper.service.js +66 -32
  99. package/dist/services/crud-helper.service.js.map +1 -1
  100. package/dist/services/crud.service.d.ts.map +1 -1
  101. package/dist/services/crud.service.js +7 -4
  102. package/dist/services/crud.service.js.map +1 -1
  103. package/dist/services/field-metadata.service.d.ts.map +1 -1
  104. package/dist/services/field-metadata.service.js.map +1 -1
  105. package/dist/services/file/disk-file.service.d.ts +0 -2
  106. package/dist/services/file/disk-file.service.d.ts.map +1 -1
  107. package/dist/services/file/disk-file.service.js +7 -16
  108. package/dist/services/file/disk-file.service.js.map +1 -1
  109. package/dist/services/file/index.d.ts +1 -0
  110. package/dist/services/file/index.d.ts.map +1 -1
  111. package/dist/services/file/index.js +1 -0
  112. package/dist/services/file/index.js.map +1 -1
  113. package/dist/services/file/storage-path-builder.d.ts +17 -0
  114. package/dist/services/file/storage-path-builder.d.ts.map +1 -0
  115. package/dist/{seeders/sms-template-seeder.service.js → services/file/storage-path-builder.js} +45 -35
  116. package/dist/services/file/storage-path-builder.js.map +1 -0
  117. package/dist/services/media.service.d.ts +1 -1
  118. package/dist/services/media.service.d.ts.map +1 -1
  119. package/dist/services/media.service.js +45 -6
  120. package/dist/services/media.service.js.map +1 -1
  121. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  122. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  123. package/dist/services/mediaStorageProviders/file-storage-provider.js +46 -7
  124. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  125. package/dist/services/module-metadata.service.d.ts +4 -6
  126. package/dist/services/module-metadata.service.d.ts.map +1 -1
  127. package/dist/services/module-metadata.service.js +16 -14
  128. package/dist/services/module-metadata.service.js.map +1 -1
  129. package/dist/services/setting.service.d.ts +3 -2
  130. package/dist/services/setting.service.d.ts.map +1 -1
  131. package/dist/services/setting.service.js +7 -4
  132. package/dist/services/setting.service.js.map +1 -1
  133. package/dist/services/settings/default-settings-provider.service.d.ts +24 -2
  134. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  135. package/dist/services/settings/default-settings-provider.service.js +8 -6
  136. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  137. package/dist/solid-core.module.d.ts +3 -1
  138. package/dist/solid-core.module.d.ts.map +1 -1
  139. package/dist/solid-core.module.js +45 -9
  140. package/dist/solid-core.module.js.map +1 -1
  141. package/dist/testing/adapters/ui/playwright-adapter.d.ts.map +1 -1
  142. package/dist/testing/adapters/ui/playwright-adapter.js +35 -2
  143. package/dist/testing/adapters/ui/playwright-adapter.js.map +1 -1
  144. package/package.json +8 -2
  145. package/src/constants/error-messages.ts +1 -0
  146. package/src/constants.ts +3 -3
  147. package/src/controllers/role-metadata.controller.ts +26 -18
  148. package/src/dtos/create-email-template.dto.ts +7 -0
  149. package/src/dtos/create-list-of-values.dto.ts +7 -0
  150. package/src/dtos/create-menu-item-metadata.dto.ts +12 -1
  151. package/src/dtos/create-role-metadata.dto.ts +9 -0
  152. package/src/dtos/create-scheduled-job.dto.ts +14 -0
  153. package/src/dtos/create-security-rule.dto.ts +6 -0
  154. package/src/dtos/create-sms-template.dto.ts +6 -0
  155. package/src/dtos/create-view-metadata.dto.ts +11 -0
  156. package/src/dtos/otp-sign-in.dto.ts +3 -3
  157. package/src/dtos/otp-sign-up.dto.ts +3 -3
  158. package/src/dtos/resolve-s3-url.dto.ts +2 -12
  159. package/src/dtos/sign-up.dto.ts +0 -2
  160. package/src/dtos/update-email-template.dto.ts +6 -0
  161. package/src/dtos/update-list-of-values.dto.ts +8 -0
  162. package/src/dtos/update-menu-item-metadata.dto.ts +12 -0
  163. package/src/dtos/update-scheduled-job.dto.ts +15 -0
  164. package/src/dtos/update-security-rule.dto.ts +7 -0
  165. package/src/dtos/update-sms-template.dto.ts +32 -32
  166. package/src/dtos/update-view-metadata.dto.ts +12 -0
  167. package/src/entities/user.entity.ts +3 -0
  168. package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +43 -32
  169. package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +45 -33
  170. package/src/helpers/security.helper.ts +1 -1
  171. package/src/index.ts +0 -4
  172. package/src/repository/solid-base.repository.ts +172 -1
  173. package/src/seeders/module-metadata-seeder.service.ts +188 -126
  174. package/src/seeders/permission-metadata-seeder.service.ts +1 -4
  175. package/src/seeders/seed-data/solid-core-metadata.json +12 -25
  176. package/src/services/authentication.service.ts +268 -266
  177. package/src/services/crud-helper.service.ts +79 -36
  178. package/src/services/crud.service.ts +9 -4
  179. package/src/services/field-metadata.service.ts +0 -71
  180. package/src/services/file/disk-file.service.ts +8 -18
  181. package/src/services/file/index.ts +1 -0
  182. package/src/services/file/storage-path-builder.ts +56 -0
  183. package/src/services/media.service.ts +13 -7
  184. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +1 -1
  185. package/src/services/mediaStorageProviders/file-storage-provider.ts +13 -8
  186. package/src/services/module-metadata.service.ts +18 -15
  187. package/src/services/setting.service.ts +5 -3
  188. package/src/services/settings/default-settings-provider.service.ts +5 -3
  189. package/src/solid-core.module.ts +16 -12
  190. package/src/testing/adapters/ui/playwright-adapter.ts +1 -1
  191. package/dist/passport-strategies/local.strategy.d.ts +0 -15
  192. package/dist/passport-strategies/local.strategy.d.ts.map +0 -1
  193. package/dist/passport-strategies/local.strategy.js +0 -44
  194. package/dist/passport-strategies/local.strategy.js.map +0 -1
  195. package/dist/seeders/email-template-seeder.service.d.ts +0 -10
  196. package/dist/seeders/email-template-seeder.service.d.ts.map +0 -1
  197. package/dist/seeders/email-template-seeder.service.js +0 -84
  198. package/dist/seeders/email-template-seeder.service.js.map +0 -1
  199. package/dist/seeders/sms-template-seeder.service.d.ts +0 -10
  200. package/dist/seeders/sms-template-seeder.service.d.ts.map +0 -1
  201. package/dist/seeders/sms-template-seeder.service.js.map +0 -1
  202. package/dist/seeders/user-seeder.service.d.ts +0 -10
  203. package/dist/seeders/user-seeder.service.d.ts.map +0 -1
  204. package/dist/seeders/user-seeder.service.js +0 -44
  205. package/dist/seeders/user-seeder.service.js.map +0 -1
  206. package/src/passport-strategies/local.strategy.ts +0 -28
  207. package/src/seeders/email-template-seeder.service.ts +0 -49
  208. package/src/seeders/sms-template-seeder.service.ts +0 -50
  209. package/src/seeders/user-seeder.service.ts +0 -33
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OneToManyRelationFieldCrudManager = void 0;
4
4
  const strings_1 = require("@angular-devkit/core/src/utils/strings");
5
+ const common_1 = require("@nestjs/common");
5
6
  const class_validator_1 = require("class-validator");
6
7
  const create_field_metadata_dto_1 = require("../../dtos/create-field-metadata.dto");
7
8
  const typeorm_1 = require("typeorm");
@@ -9,6 +10,7 @@ const linkCommands = [create_field_metadata_dto_1.RelationFieldsCommand.link, cr
9
10
  class OneToManyRelationFieldCrudManager {
10
11
  constructor(options) {
11
12
  this.options = options;
13
+ this.logger = new common_1.Logger(OneToManyRelationFieldCrudManager.name);
12
14
  this.valueFieldName = this.options.inverseRelationCoModelFieldName ?? `${this.options.relationCoModelSingularName}s`;
13
15
  this.idFieldName = `${this.options.inverseRelationCoModelFieldName ?? this.options.relationCoModelSingularName}Ids`;
14
16
  this.commandFieldName = `${this.options.inverseRelationCoModelFieldName ?? this.options.relationCoModelSingularName}Command`;
@@ -56,7 +58,13 @@ class OneToManyRelationFieldCrudManager {
56
58
  const currentEntityRepository = this.options.entityManager.getRepository(currentEntityName);
57
59
  const relatedEntityName = (0, strings_1.classify)(this.options.relationCoModelSingularName);
58
60
  const relatedEntityRepository = this.options.entityManager.getRepository(relatedEntityName);
59
- dto[this.valueFieldName] = await this.transformByCommand(dto, relatedEntityRepository, currentEntityRepository);
61
+ const result = await this.transformByCommand(dto, relatedEntityRepository, currentEntityRepository);
62
+ if (result !== undefined) {
63
+ dto[this.valueFieldName] = result;
64
+ }
65
+ else {
66
+ delete dto[this.valueFieldName];
67
+ }
60
68
  return dto;
61
69
  }
62
70
  async transformByCommand(dto, relatedEntityRepository, currentEntityRepository) {
@@ -73,50 +81,55 @@ class OneToManyRelationFieldCrudManager {
73
81
  case create_field_metadata_dto_1.RelationFieldsCommand.clear:
74
82
  return this.transformForCommandClear();
75
83
  case create_field_metadata_dto_1.RelationFieldsCommand.set:
76
- return await this.transformForCommandSet(ids, relatedEntityRepository, dto, currentEntityRepository);
84
+ return await this.transformForCommandSet(ids, relatedEntityRepository);
77
85
  case create_field_metadata_dto_1.RelationFieldsCommand.link:
78
- return await this.tranformForCommandLink(ids, relatedEntityRepository, dto, currentEntityRepository);
86
+ return await this.tranformForCommandLink(ids, relatedEntityRepository);
79
87
  case create_field_metadata_dto_1.RelationFieldsCommand.unlink:
80
- return await this.transformForCommandUnLink(ids, relatedEntityRepository, dto, currentEntityRepository);
88
+ return await this.transformForCommandUnLink(ids);
81
89
  default:
90
+ this.logger.log(`Invalid command ${command}`);
82
91
  return null;
83
92
  }
84
93
  }
85
94
  transformForCommandClear() {
86
95
  return [];
87
96
  }
88
- async transformForCommandSet(ids, relatedEntityRepository, dto, currentEntityRepository) {
97
+ async transformForCommandSet(ids, relatedEntityRepository) {
89
98
  const loadedEntities = await relatedEntityRepository.find({
90
99
  where: { id: (0, typeorm_1.In)(ids) }
91
100
  });
92
101
  if (loadedEntities.length !== ids.length) {
93
- throw new Error('Invalid entity ids provided for linking');
102
+ throw new Error('Invalid entity ids provided for set');
94
103
  }
95
104
  return loadedEntities;
96
105
  }
97
- async tranformForCommandLink(ids, relatedEntityRepository, dto, currentEntityRepository) {
98
- const tranformedRelatedFields = [];
99
- const loadedEntities = await relatedEntityRepository.find({
106
+ async tranformForCommandLink(ids, relatedEntityRepository) {
107
+ if (!this.options.isUpdate) {
108
+ throw new Error('Link command is only supported for update operations');
109
+ }
110
+ const count = await relatedEntityRepository.count({
100
111
  where: { id: (0, typeorm_1.In)(ids) }
101
112
  });
102
- if (loadedEntities.length !== ids.length) {
113
+ if (count !== ids.length) {
103
114
  throw new Error('Invalid entity ids provided for linking');
104
115
  }
105
- tranformedRelatedFields.push(...loadedEntities);
106
- return tranformedRelatedFields;
116
+ await this.options.entityManager
117
+ .createQueryBuilder()
118
+ .relation((0, strings_1.classify)(this.options.modelSingularName), this.valueFieldName)
119
+ .of(this.options.entityId)
120
+ .add(ids);
121
+ return undefined;
107
122
  }
108
- async transformForCommandUnLink(ids, relatedEntityRepository, dto, currentEntityRepository) {
109
- if (dto.id == null) {
110
- throw new Error('Entity id is required for unlinking');
123
+ async transformForCommandUnLink(ids) {
124
+ if (!this.options.isUpdate) {
125
+ throw new Error('Unlink command is only supported for update operations');
111
126
  }
112
- const tranformedRelatedFields = [];
113
- const entityInstance = await currentEntityRepository.findOne({
114
- where: { id: dto.id },
115
- relations: [this.valueFieldName]
116
- });
117
- const filteredEntities = entityInstance[this.valueFieldName].filter((entity) => !ids.includes(entity.id));
118
- tranformedRelatedFields.push(...filteredEntities);
119
- return tranformedRelatedFields;
127
+ await this.options.entityManager
128
+ .createQueryBuilder()
129
+ .relation((0, strings_1.classify)(this.options.modelSingularName), this.valueFieldName)
130
+ .of(this.options.entityId)
131
+ .remove(ids);
132
+ return undefined;
120
133
  }
121
134
  async transformForCommandCreate(values, relatedEntityRepository) {
122
135
  const transformedRelatedFields = [];
@@ -1 +1 @@
1
- {"version":3,"file":"OneToManyRelationFieldCrudManager.js","sourceRoot":"","sources":["../../../src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { classify } from \"@angular-devkit/core/src/utils/strings\";\nimport { isEmpty, isEnum, isInt, isNotEmpty } from \"class-validator\";\nimport { RelationFieldsCommand } from \"src/dtos/create-field-metadata.dto\";\nimport { FieldMetadata } from \"src/entities/field-metadata.entity\";\nimport { FieldCrudManager, ValidationError } from \"src/interfaces\";\nimport { EntityManager, In } from \"typeorm\";\n\nexport interface OneToManyRelationFieldOptions {\n // Add options for relation field\n required: boolean | undefined | null;\n relationCoModelSingularName: string | undefined | null;\n inverseRelationCoModelFieldName: string | undefined | null;\n modelSingularName: string | undefined | null;\n inverseFieldName: string | undefined | null;\n entityManager: EntityManager | undefined | null;\n}\n\nconst linkCommands = [RelationFieldsCommand.link, RelationFieldsCommand.unlink, RelationFieldsCommand.set];\n\n// This implementation is meant to be used for many-to-one relation field\nexport class OneToManyRelationFieldCrudManager implements FieldCrudManager {\n\n private readonly valueFieldName: string;\n private readonly idFieldName: string;\n private readonly commandFieldName: string;\n\n constructor(private readonly options: OneToManyRelationFieldOptions) {\n this.valueFieldName = this.options.inverseRelationCoModelFieldName ?? `${this.options.relationCoModelSingularName}s`;\n this.idFieldName = `${this.options.inverseRelationCoModelFieldName ?? this.options.relationCoModelSingularName}Ids`;\n this.commandFieldName = `${this.options.inverseRelationCoModelFieldName ?? this.options.relationCoModelSingularName}Command`;\n }\n\n validate(dto: any) {\n return this.applyValidations(dto);\n }\n\n private applyValidations(dto: any): ValidationError[] { \n const errors: ValidationError[] = [];\n\n const commandFieldName = this.commandFieldName;\n const commandValue = dto[commandFieldName];\n this.isApplyRequiredValidation() && isEmpty(commandValue) ? errors.push({ field: commandFieldName, error: 'Command field is required' }) : \"no errors\";\n if (isNotEmpty(commandValue)) {\n !isEnum(commandValue, RelationFieldsCommand)? errors.push({ field: this.options.inverseFieldName, error: 'Command Field has invalid value' }) : \"no errors\";\n } \n \n var fieldValue = null\n if (commandValue === RelationFieldsCommand.clear) {\n return errors;\n } else if (linkCommands.includes(commandValue)) {\n fieldValue = dto[this.idFieldName];\n } \n else {\n fieldValue = dto[this.valueFieldName];\n }\n\n this.isApplyRequiredValidation() && isEmpty(fieldValue) ? errors.push({ field: this.options.inverseFieldName, error: `Field: ${this.options.inverseFieldName} is required` }) : \"no errors\";\n if (isNotEmpty(fieldValue)) {\n errors.push(...this.applyFormatValidations(fieldValue, commandValue, commandFieldName));\n }\n return errors;\n }\n\n private applyFormatValidations(fieldValue: any[], commandValue: RelationFieldsCommand, commandFieldName: string): ValidationError[] {\n const errors: ValidationError[] = [];\n if (linkCommands.includes(commandValue)) {\n for (const id of fieldValue) {\n if (!isInt(id)) {\n errors.push({ field: this.options.inverseFieldName, error: `Invalid ids in ${commandFieldName}` });\n }\n }\n }\n return errors;\n }\n\n async transformForCreate(dto: any): Promise<any> {\n // const relatedFieldData: any[] = dto[this.fieldName()];\n const currentEntityName = classify(this.options.modelSingularName);\n const currentEntityRepository = this.options.entityManager.getRepository(currentEntityName);\n\n const relatedEntityName = classify(this.options.relationCoModelSingularName);\n const relatedEntityRepository = this.options.entityManager.getRepository(relatedEntityName);\n\n dto[this.valueFieldName] = await this.transformByCommand(dto, relatedEntityRepository, currentEntityRepository);\n return dto;\n }\n\n private async transformByCommand(dto: any, relatedEntityRepository: any, currentEntityRepository: any): Promise<any[]> {\n // TODO : Need to add support for the multiple commands\n const command = dto[this.commandFieldName];\n const values = dto[this.valueFieldName];\n const ids = dto[this.idFieldName];\n \n switch (command) {\n case RelationFieldsCommand.create:\n return await this.transformForCommandCreate(values, relatedEntityRepository);\n case RelationFieldsCommand.update:\n return await this.transformForCommandUpdate(values, relatedEntityRepository, dto, currentEntityRepository);\n case RelationFieldsCommand.delete:\n return await this.transformForCommandDelete(values, relatedEntityRepository);\n case RelationFieldsCommand.clear:\n return this.transformForCommandClear();\n case RelationFieldsCommand.set:\n return await this.transformForCommandSet(ids, relatedEntityRepository, dto, currentEntityRepository); \n case RelationFieldsCommand.link:\n return await this.tranformForCommandLink(ids, relatedEntityRepository, dto, currentEntityRepository);\n case RelationFieldsCommand.unlink:\n return await this.transformForCommandUnLink(ids, relatedEntityRepository, dto, currentEntityRepository);\n default:\n return null; // This is equivalent to no transformation\n }\n }\n\n private transformForCommandClear() {\n return []\n }\n\n private async transformForCommandSet(ids: any[], relatedEntityRepository: any, dto: any, currentEntityRepository: any): Promise<any[]> {\n // Load the entities with the ids passed\n const loadedEntities: any[] = await relatedEntityRepository.find({\n where : {id: In(ids) } \n })\n if (loadedEntities.length !== ids.length) {\n throw new Error('Invalid entity ids provided for linking');\n }\n\n return loadedEntities;\n }\n\n private async tranformForCommandLink(ids: any, relatedEntityRepository: any, dto: any, currentEntityRepository: any) {\n const tranformedRelatedFields = [];\n // Load the entities with the ids passed\n const loadedEntities: any[] = await relatedEntityRepository.find({\n where : {id: In(ids) } \n })\n if (loadedEntities.length !== ids.length) {\n throw new Error('Invalid entity ids provided for linking');\n }\n tranformedRelatedFields.push(...loadedEntities);\n\n return tranformedRelatedFields;\n }\n\n private async transformForCommandUnLink(ids: any, relatedEntityRepository: any, dto: any, currentEntityRepository: any) {\n if (dto.id == null) {\n throw new Error('Entity id is required for unlinking');\n } \n\n const tranformedRelatedFields = [];\n const entityInstance = await currentEntityRepository.findOne({\n where: {id: dto.id},\n relations: [this.valueFieldName]\n });\n const filteredEntities = entityInstance[this.valueFieldName].filter((entity) => !ids.includes(entity.id));\n tranformedRelatedFields.push(...filteredEntities);\n\n return tranformedRelatedFields;\n }\n\n private async transformForCommandCreate(values: any[], relatedEntityRepository: any): Promise<any[]> {\n const transformedRelatedFields = [];\n for (const entity of values) {\n const transformed = relatedEntityRepository.create(entity);\n transformedRelatedFields.push(transformed);\n }\n return transformedRelatedFields;\n }\n\n private async transformForCommandUpdate(values: any[], relatedEntityRepository: any, dto: any, currentEntityRepository: any): Promise<any[]> {\n const transformedRelatedFields = [];\n for (const entity of values) {\n if (entity.id) {\n const transformed = await relatedEntityRepository.preload(entity);\n transformedRelatedFields.push(transformed);\n }\n else {\n const transformed = relatedEntityRepository.create(entity);\n transformedRelatedFields.push(transformed);\n }\n }\n\n return transformedRelatedFields;\n }\n\n private async transformForCommandDelete(values: any[], relatedEntityRepository: any): Promise<any[]> {\n // Map and get the ids from the values\n const ids = values.map((value) => value.id);\n\n // Delete the ids linked to the associated entity\n await relatedEntityRepository.delete(ids);\n return null\n }\n\n private isApplyRequiredValidation(): boolean {\n return this.options.required;\n }\n\n // TODO: We have moved this to SolidRegistry service, refactor to use that service.\n // Returns the entity target class from the entity name\n // private getEntityTarget(entityName: string): any { //TODO Can be refactored to use this function from crud helper service\n // const entityMetadatas = this.options.entityManager.connection.entityMetadatas;\n // const entityMetadata = entityMetadatas.find(em => em.name === entityName);\n // return entityMetadata.target;\n // }\n}"]}
1
+ {"version":3,"file":"OneToManyRelationFieldCrudManager.js","sourceRoot":"","sources":["../../../src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts"],"names":[],"mappings":";;;AAAA,oEAAkE;AAClE,2CAAwC;AACxC,qDAAqE;AACrE,oFAA2E;AAE3E,qCAA4C;AAc5C,MAAM,YAAY,GAAG,CAAC,iDAAqB,CAAC,IAAI,EAAE,iDAAqB,CAAC,MAAM,EAAE,iDAAqB,CAAC,GAAG,CAAC,CAAC;AAG3G,MAAa,iCAAiC;IAO1C,YAA6B,OAAsC;QAAtC,YAAO,GAAP,OAAO,CAA+B;QANlD,WAAM,GAAG,IAAI,eAAM,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC;QAOzE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,+BAA+B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,GAAG,CAAC;QACrH,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,+BAA+B,IAAI,IAAI,CAAC,OAAO,CAAC,2BAA2B,KAAK,CAAC;QACpH,IAAI,CAAC,gBAAgB,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,+BAA+B,IAAI,IAAI,CAAC,OAAO,CAAC,2BAA2B,SAAS,CAAC;IACjI,CAAC;IAED,QAAQ,CAAC,GAAQ;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAEO,gBAAgB,CAAC,GAAQ;QAC7B,MAAM,MAAM,GAAsB,EAAE,CAAC;QAErC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC/C,MAAM,YAAY,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,CAAC,yBAAyB,EAAE,IAAI,IAAA,yBAAO,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACxJ,IAAI,IAAA,4BAAU,EAAC,YAAY,CAAC,EAAE,CAAC;YAC3B,CAAC,IAAA,wBAAM,EAAC,YAAY,EAAE,iDAAqB,CAAC,CAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAChK,CAAC;QAED,IAAI,UAAU,GAAG,IAAI,CAAA;QACrB,IAAI,YAAY,KAAK,iDAAqB,CAAC,KAAK,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;aACI,CAAC;YACF,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,yBAAyB,EAAE,IAAI,IAAA,yBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5L,IAAI,IAAA,4BAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,sBAAsB,CAAC,UAAiB,EAAE,YAAmC,EAAE,gBAAwB;QAC3G,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAA,uBAAK,EAAC,EAAE,CAAC,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBACvG,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAQ;QAC7B,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACnE,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAE5F,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC7E,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAE5F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;QACpG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;QACtC,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,GAAQ,EAAE,uBAA4B,EAAE,uBAA4B;QAEjG,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAElC,QAAQ,OAAO,EAAE,CAAC;YACd,KAAK,iDAAqB,CAAC,MAAM;gBAC7B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;YACjF,KAAK,iDAAqB,CAAC,MAAM;gBAC7B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;YAC/G,KAAK,iDAAqB,CAAC,MAAM;gBAC7B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;YACjF,KAAK,iDAAqB,CAAC,KAAK;gBAC5B,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC3C,KAAK,iDAAqB,CAAC,GAAG;gBAC1B,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;YAC3E,KAAK,iDAAqB,CAAC,IAAI;gBAC3B,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;YAC3E,KAAK,iDAAqB,CAAC,MAAM;gBAC7B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;YACrD;gBACI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC;QACpB,CAAC;IACL,CAAC;IAEO,wBAAwB;QAC5B,OAAO,EAAE,CAAA;IACb,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,GAAU,EAAE,uBAA4B;QACzE,MAAM,cAAc,GAAU,MAAM,uBAAuB,CAAC,IAAI,CAAC;YAC7D,KAAK,EAAG,EAAC,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE;SACzB,CAAC,CAAA;QACF,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,GAAU,EAAE,uBAA4B;QACzE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,KAAK,GAAW,MAAM,uBAAuB,CAAC,KAAK,CAAC;YACtD,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE;SACzB,CAAC,CAAC;QACH,IAAI,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa;aAC3B,kBAAkB,EAAE;aACpB,QAAQ,CAAC,IAAA,kBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC;aACvE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;aACzB,GAAG,CAAC,GAAG,CAAC,CAAC;QAEd,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,GAAU;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa;aAC3B,kBAAkB,EAAE;aACpB,QAAQ,CAAC,IAAA,kBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC;aACvE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;aACzB,MAAM,CAAC,GAAG,CAAC,CAAC;QAEjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,MAAa,EAAE,uBAA4B;QAC/E,MAAM,wBAAwB,GAAG,EAAE,CAAC;QACpC,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3D,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QACA,OAAO,wBAAwB,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,MAAa,EAAE,uBAA4B,EAAE,GAAQ,EAAE,uBAA4B;QACvH,MAAM,wBAAwB,GAAG,EAAE,CAAC;QACpC,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClE,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC;iBACI,CAAC;gBACF,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3D,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;QAED,OAAO,wBAAwB,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,MAAa,EAAE,uBAA4B;QAE/E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAG5C,MAAM,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAA;IACf,CAAC;IAEO,yBAAyB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IACjC,CAAC;CASJ;AAlMD,8EAkMC","sourcesContent":["import { classify } from \"@angular-devkit/core/src/utils/strings\";\nimport { Logger } from \"@nestjs/common\";\nimport { isEmpty, isEnum, isInt, isNotEmpty } from \"class-validator\";\nimport { RelationFieldsCommand } from \"src/dtos/create-field-metadata.dto\";\nimport { FieldCrudManager, ValidationError } from \"src/interfaces\";\nimport { EntityManager, In } from \"typeorm\";\n\nexport interface OneToManyRelationFieldOptions {\n // Add options for relation field\n required: boolean | undefined | null;\n relationCoModelSingularName: string | undefined | null;\n inverseRelationCoModelFieldName: string | undefined | null;\n modelSingularName: string | undefined | null;\n inverseFieldName: string | undefined | null;\n entityManager: EntityManager | undefined | null;\n isUpdate?: boolean;\n entityId?: number;\n}\n\nconst linkCommands = [RelationFieldsCommand.link, RelationFieldsCommand.unlink, RelationFieldsCommand.set];\n\n// This implementation is meant to be used for many-to-one relation field\nexport class OneToManyRelationFieldCrudManager implements FieldCrudManager {\n private readonly logger = new Logger(OneToManyRelationFieldCrudManager.name);\n\n private readonly valueFieldName: string;\n private readonly idFieldName: string;\n private readonly commandFieldName: string;\n\n constructor(private readonly options: OneToManyRelationFieldOptions) {\n this.valueFieldName = this.options.inverseRelationCoModelFieldName ?? `${this.options.relationCoModelSingularName}s`;\n this.idFieldName = `${this.options.inverseRelationCoModelFieldName ?? this.options.relationCoModelSingularName}Ids`;\n this.commandFieldName = `${this.options.inverseRelationCoModelFieldName ?? this.options.relationCoModelSingularName}Command`;\n }\n\n validate(dto: any) {\n return this.applyValidations(dto);\n }\n\n private applyValidations(dto: any): ValidationError[] { \n const errors: ValidationError[] = [];\n\n const commandFieldName = this.commandFieldName;\n const commandValue = dto[commandFieldName];\n this.isApplyRequiredValidation() && isEmpty(commandValue) ? errors.push({ field: commandFieldName, error: 'Command field is required' }) : \"no errors\";\n if (isNotEmpty(commandValue)) {\n !isEnum(commandValue, RelationFieldsCommand)? errors.push({ field: this.options.inverseFieldName, error: 'Command Field has invalid value' }) : \"no errors\";\n } \n \n var fieldValue = null\n if (commandValue === RelationFieldsCommand.clear) {\n return errors;\n } else if (linkCommands.includes(commandValue)) {\n fieldValue = dto[this.idFieldName];\n } \n else {\n fieldValue = dto[this.valueFieldName];\n }\n\n this.isApplyRequiredValidation() && isEmpty(fieldValue) ? errors.push({ field: this.options.inverseFieldName, error: `Field: ${this.options.inverseFieldName} is required` }) : \"no errors\";\n if (isNotEmpty(fieldValue)) {\n errors.push(...this.applyFormatValidations(fieldValue, commandValue, commandFieldName));\n }\n return errors;\n }\n\n private applyFormatValidations(fieldValue: any[], commandValue: RelationFieldsCommand, commandFieldName: string): ValidationError[] {\n const errors: ValidationError[] = [];\n if (linkCommands.includes(commandValue)) {\n for (const id of fieldValue) {\n if (!isInt(id)) {\n errors.push({ field: this.options.inverseFieldName, error: `Invalid ids in ${commandFieldName}` });\n }\n }\n }\n return errors;\n }\n\n async transformForCreate(dto: any): Promise<any> {\n const currentEntityName = classify(this.options.modelSingularName);\n const currentEntityRepository = this.options.entityManager.getRepository(currentEntityName);\n\n const relatedEntityName = classify(this.options.relationCoModelSingularName);\n const relatedEntityRepository = this.options.entityManager.getRepository(relatedEntityName);\n\n const result = await this.transformByCommand(dto, relatedEntityRepository, currentEntityRepository);\n if (result !== undefined) {\n dto[this.valueFieldName] = result;\n } else {\n delete dto[this.valueFieldName];\n }\n return dto;\n }\n\n private async transformByCommand(dto: any, relatedEntityRepository: any, currentEntityRepository: any): Promise<any[] | undefined> {\n // TODO : Need to add support for the multiple commands\n const command = dto[this.commandFieldName];\n const values = dto[this.valueFieldName];\n const ids = dto[this.idFieldName];\n \n switch (command) {\n case RelationFieldsCommand.create:\n return await this.transformForCommandCreate(values, relatedEntityRepository);\n case RelationFieldsCommand.update:\n return await this.transformForCommandUpdate(values, relatedEntityRepository, dto, currentEntityRepository);\n case RelationFieldsCommand.delete:\n return await this.transformForCommandDelete(values, relatedEntityRepository);\n case RelationFieldsCommand.clear:\n return this.transformForCommandClear();\n case RelationFieldsCommand.set:\n return await this.transformForCommandSet(ids, relatedEntityRepository);\n case RelationFieldsCommand.link:\n return await this.tranformForCommandLink(ids, relatedEntityRepository);\n case RelationFieldsCommand.unlink:\n return await this.transformForCommandUnLink(ids);\n default:\n this.logger.log(`Invalid command ${command}`);\n return null;\n }\n }\n\n private transformForCommandClear() {\n return []\n }\n\n private async transformForCommandSet(ids: any[], relatedEntityRepository: any): Promise<any[]> {\n const loadedEntities: any[] = await relatedEntityRepository.find({\n where : {id: In(ids) }\n })\n if (loadedEntities.length !== ids.length) {\n throw new Error('Invalid entity ids provided for set');\n }\n\n return loadedEntities;\n }\n\n private async tranformForCommandLink(ids: any[], relatedEntityRepository: any): Promise<undefined> {\n if (!this.options.isUpdate) {\n throw new Error('Link command is only supported for update operations');\n }\n\n const count: number = await relatedEntityRepository.count({\n where: { id: In(ids) }\n });\n if (count !== ids.length) {\n throw new Error('Invalid entity ids provided for linking');\n }\n\n await this.options.entityManager\n .createQueryBuilder()\n .relation(classify(this.options.modelSingularName), this.valueFieldName)\n .of(this.options.entityId)\n .add(ids);\n\n return undefined;\n }\n\n private async transformForCommandUnLink(ids: any[]): Promise<undefined> {\n if (!this.options.isUpdate) {\n throw new Error('Unlink command is only supported for update operations');\n }\n\n await this.options.entityManager\n .createQueryBuilder()\n .relation(classify(this.options.modelSingularName), this.valueFieldName)\n .of(this.options.entityId)\n .remove(ids);\n\n return undefined;\n }\n\n private async transformForCommandCreate(values: any[], relatedEntityRepository: any): Promise<any[]> {\n const transformedRelatedFields = [];\n for (const entity of values) {\n const transformed = relatedEntityRepository.create(entity);\n transformedRelatedFields.push(transformed);\n }\n return transformedRelatedFields;\n }\n\n private async transformForCommandUpdate(values: any[], relatedEntityRepository: any, dto: any, currentEntityRepository: any): Promise<any[]> {\n const transformedRelatedFields = [];\n for (const entity of values) {\n if (entity.id) {\n const transformed = await relatedEntityRepository.preload(entity);\n transformedRelatedFields.push(transformed);\n }\n else {\n const transformed = relatedEntityRepository.create(entity);\n transformedRelatedFields.push(transformed);\n }\n }\n\n return transformedRelatedFields;\n }\n\n private async transformForCommandDelete(values: any[], relatedEntityRepository: any): Promise<any[]> {\n // Map and get the ids from the values\n const ids = values.map((value) => value.id);\n\n // Delete the ids linked to the associated entity\n await relatedEntityRepository.delete(ids);\n return null\n }\n\n private isApplyRequiredValidation(): boolean {\n return this.options.required;\n }\n\n // TODO: We have moved this to SolidRegistry service, refactor to use that service.\n // Returns the entity target class from the entity name\n // private getEntityTarget(entityName: string): any { //TODO Can be refactored to use this function from crud helper service\n // const entityMetadatas = this.options.entityManager.connection.entityMetadatas;\n // const entityMetadata = entityMetadatas.find(em => em.name === entityName);\n // return entityMetadata.target;\n // }\n}"]}
@@ -12,6 +12,7 @@ function buildDefaultSecurityHeaderOptions() {
12
12
  useDefaults: true,
13
13
  directives: {
14
14
  "frame-ancestors": ["'none'"],
15
+ "style-src": ["'self'"],
15
16
  },
16
17
  },
17
18
  frameguard: { action: "deny" },
@@ -1 +1 @@
1
- {"version":3,"file":"security.helper.js","sourceRoot":"","sources":["../../src/helpers/security.helper.ts"],"names":[],"mappings":";;;AAUA,8EAwCC;AAuBD,oEAOC;AAkBD,wDASC;AA1GD,qGAA8E;AAS9E,SAAgB,iCAAiC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,8CAAW,CAAC,UAAU,CAAC;IAE1D,OAAO;QAEL,qBAAqB,EAAE;YACrB,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE;gBAQV,iBAAiB,EAAE,CAAC,QAAQ,CAAC;aAQ9B;SACF;QAID,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;QAG9B,cAAc,EAAE,EAAE,MAAM,EAAE,iCAAiC,EAAE;QAC7D,yBAAyB,EAAE,KAAK;QAChC,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;QAGlD,IAAI,EAAE,MAAM;YACV,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;YAC9D,CAAC,CAAC,KAAK;KACV,CAAC;AACJ,CAAC;AAQY,QAAA,0BAA0B,GAA4B;IACjE,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,QAAQ,EAAE,MAAM;IAChB,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,MAAM;IACzB,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,MAAM;IACpB,GAAG,EAAE,MAAM;CACZ,CAAC;AAEF,SAAgB,4BAA4B,CAC1C,YAA8C,EAAE;IAEhD,MAAM,MAAM,GAA4B,EAAE,GAAG,kCAA0B,EAAE,GAAG,SAAS,EAAE,CAAC;IACxF,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;SAChE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,CAAkB;IACxC,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,OAAO,IAAI,KAAK,GAAG,CAAC;AACtB,CAAC;AAQY,QAAA,qBAAqB,GAChC,8EAA8E,CAAC;AAEjF,SAAgB,sBAAsB;IACpC,OAAO,SAAS,sBAAsB,CACpC,IAA+B,EAC/B,IAAgC,EAChC,IAAoC;QAEpC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,6BAAqB,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { HelmetOptions } from \"helmet\";\nimport { Environment } from \"src/decorators/disallow-in-production.decorator\";\n\n/**\n * Default security headers for SolidX apps.\n * - HSTS only in prod over HTTPS\n * - CSP with frame-ancestors 'none' (prevents clickjacking)\n * - X-Frame-Options: DENY (legacy fallback)\n * - No X-XSS-Protection (deprecated)\n */\nexport function buildDefaultSecurityHeaderOptions(): Readonly<HelmetOptions> {\n const isProd = process.env.ENV === Environment.Production;\n\n return {\n // Modern CSP. Add more directives as your app needs (script-src, connect-src, etc.)\n contentSecurityPolicy: {\n useDefaults: true,\n directives: {\n // sensible secure defaults\n // \"default-src\": [\"'self'\"],\n // \"base-uri\": [\"'self'\"],\n // \"object-src\": [\"'none'\"],\n // \"form-action\": [\"'self'\"],\n\n // clickjacking defense (modern)\n \"frame-ancestors\": [\"'none'\"],\n\n // add/adjust as needed for your app:\n // \"script-src\": [\"'self'\"], // add hashes/nonces/CSPRO if needed\n // \"style-src\": [\"'self'\", \"'unsafe-inline'\"],\n // \"img-src\": [\"'self'\", \"data:\"],\n // \"connect-src\": [\"'self'\", \"https://api.example.com\"],\n // \"frame-src\": [\"'none'\"], // iframes you intentionally allow\n },\n },\n\n \n // Legacy clickjacking defense (kept for older UAs)\n frameguard: { action: \"deny\" },\n\n // Referrer/cross-origin policies\n referrerPolicy: { policy: \"strict-origin-when-cross-origin\" },\n crossOriginEmbedderPolicy: false,\n crossOriginResourcePolicy: { policy: \"same-site\" },\n\n // HSTS only when you’re on HTTPS in production\n hsts: isProd\n ? { maxAge: 31536000, includeSubDomains: true, preload: true }\n : false,\n };\n}\n\n/* ---------------- Permissions-Policy (formerly Feature-Policy) ---------------- */\n\ntype Source = \"self\" | \"none\" | string;\ntype DirectiveConfig = \"self\" | \"none\" | Source[];\nexport type PermissionsPolicyConfig = Record<string, DirectiveConfig>;\n\nexport const DEFAULT_PERMISSIONS_POLICY: PermissionsPolicyConfig = {\n camera: \"none\",\n microphone: \"none\",\n geolocation: \"none\",\n fullscreen: \"self\",\n payment: \"none\",\n accelerometer: \"none\",\n autoplay: \"none\",\n \"clipboard-read\": \"none\",\n \"clipboard-write\": \"none\",\n gyroscope: \"none\",\n magnetometer: \"none\",\n usb: \"none\",\n};\n\nexport function buildPermissionsPolicyHeader(\n overrides: Partial<PermissionsPolicyConfig> = {}\n): string {\n const merged: PermissionsPolicyConfig = { ...DEFAULT_PERMISSIONS_POLICY, ...overrides };\n return Object.entries(merged)\n .map(([feature, value]) => `${feature}=${serializeValue(value)}`)\n .join(\", \");\n}\n\nfunction serializeValue(v: DirectiveConfig): string {\n if (v === \"none\") return \"()\";\n if (v === \"self\") return \"(self)\";\n const parts = v.map((src) => (src === \"self\" ? \"self\" : src)).join(\" \");\n return `(${parts})`;\n}\n\n/* ---------------- Cache-Control helpers ---------------- */\n\n/**\n * Default: no-store for HTML/API responses unless you have a reason to cache.\n * Attach as a global middleware or on selected routes.\n */\nexport const DEFAULT_CACHE_CONTROL =\n \"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0, s-maxage=0\";\n\nexport function setDefaultCacheControl() {\n return function cacheControlMiddleware(\n _req: import(\"express\").Request,\n _res: import(\"express\").Response,\n next: import(\"express\").NextFunction\n ) {\n _res.setHeader(\"Cache-Control\", DEFAULT_CACHE_CONTROL);\n next();\n };\n}\n\n/* ---------------- Example Express wiring ---------------- */\n// import express from \"express\";\n// const app = express();\n// app.use(helmet(buildDefaultSecurityHeaderOptions()));\n// app.use((req, res, next) => {\n// res.setHeader(\"Permissions-Policy\", buildPermissionsPolicyHeader());\n// next();\n// });\n// app.use(setDefaultCacheControl());"]}
1
+ {"version":3,"file":"security.helper.js","sourceRoot":"","sources":["../../src/helpers/security.helper.ts"],"names":[],"mappings":";;;AAUA,8EAwCC;AAuBD,oEAOC;AAkBD,wDASC;AA1GD,qGAA8E;AAS9E,SAAgB,iCAAiC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,8CAAW,CAAC,UAAU,CAAC;IAE1D,OAAO;QAEL,qBAAqB,EAAE;YACrB,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE;gBAQV,iBAAiB,EAAE,CAAC,QAAQ,CAAC;gBAC7B,WAAW,EAAE,CAAC,QAAQ,CAAC;aAOxB;SACF;QAID,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;QAG9B,cAAc,EAAE,EAAE,MAAM,EAAE,iCAAiC,EAAE;QAC7D,yBAAyB,EAAE,KAAK;QAChC,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;QAGlD,IAAI,EAAE,MAAM;YACV,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;YAC9D,CAAC,CAAC,KAAK;KACV,CAAC;AACJ,CAAC;AAQY,QAAA,0BAA0B,GAA4B;IACjE,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,QAAQ,EAAE,MAAM;IAChB,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,MAAM;IACzB,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,MAAM;IACpB,GAAG,EAAE,MAAM;CACZ,CAAC;AAEF,SAAgB,4BAA4B,CAC1C,YAA8C,EAAE;IAEhD,MAAM,MAAM,GAA4B,EAAE,GAAG,kCAA0B,EAAE,GAAG,SAAS,EAAE,CAAC;IACxF,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;SAChE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,CAAkB;IACxC,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,OAAO,IAAI,KAAK,GAAG,CAAC;AACtB,CAAC;AAQY,QAAA,qBAAqB,GAChC,8EAA8E,CAAC;AAEjF,SAAgB,sBAAsB;IACpC,OAAO,SAAS,sBAAsB,CACpC,IAA+B,EAC/B,IAAgC,EAChC,IAAoC;QAEpC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,6BAAqB,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { HelmetOptions } from \"helmet\";\nimport { Environment } from \"src/decorators/disallow-in-production.decorator\";\n\n/**\n * Default security headers for SolidX apps.\n * - HSTS only in prod over HTTPS\n * - CSP with frame-ancestors 'none' (prevents clickjacking)\n * - X-Frame-Options: DENY (legacy fallback)\n * - No X-XSS-Protection (deprecated)\n */\nexport function buildDefaultSecurityHeaderOptions(): Readonly<HelmetOptions> {\n const isProd = process.env.ENV === Environment.Production;\n\n return {\n // Modern CSP. Add more directives as your app needs (script-src, connect-src, etc.)\n contentSecurityPolicy: {\n useDefaults: true,\n directives: {\n // sensible secure defaults\n // \"default-src\": [\"'self'\"],\n // \"base-uri\": [\"'self'\"],\n // \"object-src\": [\"'none'\"],\n // \"form-action\": [\"'self'\"],\n\n // clickjacking defense (modern)\n \"frame-ancestors\": [\"'none'\"],\n \"style-src\": [\"'self'\"],\n // add/adjust as needed for your app:\n // \"script-src\": [\"'self'\"], // add hashes/nonces/CSPRO if needed\n // \"style-src\": [\"'self'\", \"'unsafe-inline'\"],\n // \"img-src\": [\"'self'\", \"data:\"],\n // \"connect-src\": [\"'self'\", \"https://api.example.com\"],\n // \"frame-src\": [\"'none'\"], // iframes you intentionally allow\n },\n },\n\n \n // Legacy clickjacking defense (kept for older UAs)\n frameguard: { action: \"deny\" },\n\n // Referrer/cross-origin policies\n referrerPolicy: { policy: \"strict-origin-when-cross-origin\" },\n crossOriginEmbedderPolicy: false,\n crossOriginResourcePolicy: { policy: \"same-site\" },\n\n // HSTS only when you’re on HTTPS in production\n hsts: isProd\n ? { maxAge: 31536000, includeSubDomains: true, preload: true }\n : false,\n };\n}\n\n/* ---------------- Permissions-Policy (formerly Feature-Policy) ---------------- */\n\ntype Source = \"self\" | \"none\" | string;\ntype DirectiveConfig = \"self\" | \"none\" | Source[];\nexport type PermissionsPolicyConfig = Record<string, DirectiveConfig>;\n\nexport const DEFAULT_PERMISSIONS_POLICY: PermissionsPolicyConfig = {\n camera: \"none\",\n microphone: \"none\",\n geolocation: \"none\",\n fullscreen: \"self\",\n payment: \"none\",\n accelerometer: \"none\",\n autoplay: \"none\",\n \"clipboard-read\": \"none\",\n \"clipboard-write\": \"none\",\n gyroscope: \"none\",\n magnetometer: \"none\",\n usb: \"none\",\n};\n\nexport function buildPermissionsPolicyHeader(\n overrides: Partial<PermissionsPolicyConfig> = {}\n): string {\n const merged: PermissionsPolicyConfig = { ...DEFAULT_PERMISSIONS_POLICY, ...overrides };\n return Object.entries(merged)\n .map(([feature, value]) => `${feature}=${serializeValue(value)}`)\n .join(\", \");\n}\n\nfunction serializeValue(v: DirectiveConfig): string {\n if (v === \"none\") return \"()\";\n if (v === \"self\") return \"(self)\";\n const parts = v.map((src) => (src === \"self\" ? \"self\" : src)).join(\" \");\n return `(${parts})`;\n}\n\n/* ---------------- Cache-Control helpers ---------------- */\n\n/**\n * Default: no-store for HTML/API responses unless you have a reason to cache.\n * Attach as a global middleware or on selected routes.\n */\nexport const DEFAULT_CACHE_CONTROL =\n \"no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0, s-maxage=0\";\n\nexport function setDefaultCacheControl() {\n return function cacheControlMiddleware(\n _req: import(\"express\").Request,\n _res: import(\"express\").Response,\n next: import(\"express\").NextFunction\n ) {\n _res.setHeader(\"Cache-Control\", DEFAULT_CACHE_CONTROL);\n next();\n };\n}\n\n/* ---------------- Example Express wiring ---------------- */\n// import express from \"express\";\n// const app = express();\n// app.use(helmet(buildDefaultSecurityHeaderOptions()));\n// app.use((req, res, next) => {\n// res.setHeader(\"Permissions-Policy\", buildPermissionsPolicyHeader());\n// next();\n// });\n// app.use(setDefaultCacheControl());"]}
package/dist/index.d.ts CHANGED
@@ -199,13 +199,9 @@ export * from './jobs/msg91-whatsapp-queue-options';
199
199
  export * from './jobs/msg91-whatsapp-subscriber.service';
200
200
  export * from './listeners/user-registration.listener';
201
201
  export * from './passport-strategies/google-oauth.strategy';
202
- export * from './passport-strategies/local.strategy';
203
202
  export * from './services/selection-providers/list-of-values-selection-providers.service';
204
- export * from './seeders/email-template-seeder.service';
205
203
  export * from './seeders/permission-metadata-seeder.service';
206
- export * from './seeders/sms-template-seeder.service';
207
204
  export * from './seeders/module-metadata-seeder.service';
208
- export * from './seeders/user-seeder.service';
209
205
  export * from './services/action-metadata.service';
210
206
  export * from './services/authentication.service';
211
207
  export * from './services/bcrypt.service';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -223,13 +223,9 @@ __exportStar(require("./jobs/msg91-whatsapp-queue-options"), exports);
223
223
  __exportStar(require("./jobs/msg91-whatsapp-subscriber.service"), exports);
224
224
  __exportStar(require("./listeners/user-registration.listener"), exports);
225
225
  __exportStar(require("./passport-strategies/google-oauth.strategy"), exports);
226
- __exportStar(require("./passport-strategies/local.strategy"), exports);
227
226
  __exportStar(require("./services/selection-providers/list-of-values-selection-providers.service"), exports);
228
- __exportStar(require("./seeders/email-template-seeder.service"), exports);
229
227
  __exportStar(require("./seeders/permission-metadata-seeder.service"), exports);
230
- __exportStar(require("./seeders/sms-template-seeder.service"), exports);
231
228
  __exportStar(require("./seeders/module-metadata-seeder.service"), exports);
232
- __exportStar(require("./seeders/user-seeder.service"), exports);
233
229
  __exportStar(require("./services/action-metadata.service"), exports);
234
230
  __exportStar(require("./services/authentication.service"), exports);
235
231
  __exportStar(require("./services/bcrypt.service"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export * from './commands/helper'\nexport * from './commands/refresh-model.command'\nexport * from './commands/refresh-module.command'\nexport * from './commands/remove-fields.command'\nexport * from './commands/seed.command'\nexport * from './commands/test-data.command'\nexport * from './commands/run-tests.command'\nexport * from './commands/test.command'\n\nexport * from './config/cache.options'\n\nexport * from './decorators/active-user.decorator'\nexport * from './decorators/solid-request-context.decorator'\nexport * from './decorators/auth.decorator'\nexport * from './decorators/computed-field-provider.decorator'\nexport * from './decorators/scheduled-job-provider.decorator'\nexport * from './decorators/is-not-in-enum.decorator'\nexport * from './decorators/protocol.decorator'\nexport * from './decorators/public.decorator'\nexport * from './decorators/roles.decorator'\nexport * from './decorators/selection-provider.decorator'\nexport * from './decorators/error-codes-provider.decorator'\nexport * from './decorators/solid-database-module.decorator'\nexport * from './decorators/solid-service.decorator'\nexport * from './decorators/mail-provider.decorator'\nexport * from './decorators/security-rule-config-provider.decorator'\nexport * from './decorators/sms-provider.decorator'\nexport * from './decorators/settings-provider.decorator'\n\nexport * from './dtos/post-chatter-message.dto'\nexport * from './dtos/security-rule-config.dto'\nexport * from './dtos/basic-filters.dto'\nexport * from './dtos/solid-request-context.dto'\nexport * from './dtos/change-password.dto'\nexport * from './dtos/confirm-forgot-password.dto'\nexport * from './dtos/create-action-metadata.dto'\nexport * from './dtos/create-email-attachment.dto'\nexport * from './dtos/create-email-template.dto'\nexport * from './dtos/create-field-metadata.dto'\nexport * from './dtos/create-list-of-values.dto'\nexport * from './dtos/create-media-storage-provider-metadata.dto'\nexport * from './dtos/create-media.dto'\nexport * from './dtos/create-menu-item-metadata.dto'\nexport * from './dtos/create-message.dto'\nexport * from './dtos/create-model-metadata.dto'\nexport * from './dtos/create-module-metadata.dto'\nexport * from './dtos/create-mq-message-queue.dto'\nexport * from './dtos/create-mq-message.dto'\nexport * from './dtos/create-scheduled-job.dto'\nexport * from './dtos/create-permission-metadata.dto'\nexport * from './dtos/create-role-metadata.dto'\nexport * from './dtos/create-short-url.dto'\nexport * from './dtos/create-sms-template.dto'\nexport * from './dtos/create-user.dto'\nexport * from './dtos/create-view-metadata.dto'\nexport * from './dtos/create-chatter-message.dto'\nexport * from './dtos/create-chatter-message-details.dto'\nexport * from './dtos/create-locale.dto'\nexport * from './dtos/fetch-roles.dto'\nexport * from './dtos/initiate-forgot-password.dto'\nexport * from './dtos/mutate-role-permissions.dto'\nexport * from './dtos/mutate-user-roles-list.dto'\nexport * from './dtos/mutate-user-roles.dto'\nexport * from './dtos/oauth-user-dto'\nexport * from './dtos/otp-confirm-otp.dto'\nexport * from './dtos/otp-sign-in.dto'\nexport * from './dtos/otp-sign-up.dto'\nexport * from './dtos/pagination-query.dto'\nexport * from './dtos/query.dto'\nexport * from './dtos/refresh-token.dto'\nexport * from './dtos/register-private.dto'\nexport * from './dtos/selection-dynamic-query.dto'\nexport * from './dtos/sign-in.dto'\nexport * from './dtos/sign-up.dto'\nexport * from './dtos/sort-filter.dto'\nexport * from './dtos/update-action-metadata.dto'\nexport * from './dtos/update-email-template.dto'\nexport * from './dtos/update-field-metadata.dto'\nexport * from './dtos/update-media-storage-provider.dto'\nexport * from './dtos/update-media.dto'\nexport * from './dtos/update-menu-item-metadata.dto'\nexport * from './dtos/update-message.dto'\nexport * from './dtos/update-model-metadata.dto'\nexport * from './dtos/update-module-metadata.dto'\nexport * from './dtos/update-mq-message-queue.dto'\nexport * from './dtos/update-mq-message.dto'\nexport * from './dtos/update-scheduled-job.dto'\nexport * from './dtos/update-permission-metadata.dto'\nexport * from './dtos/update-role-metadata.dto'\nexport * from './dtos/update-sms-template.dto'\nexport * from './dtos/update-user.dto'\nexport * from './dtos/update-view-metadata.dto'\nexport * from './dtos/create-setting.dto'\nexport * from './dtos/update-setting.dto'\nexport * from './dtos/create-security-rule.dto'\nexport * from './dtos/update-security-rule.dto'\nexport * from './dtos/update-chatter-message.dto'\nexport * from './dtos/update-chatter-message-details.dto'\nexport * from './dtos/update-locale.dto'\nexport * from './dtos/create-user-activity-history.dto'\nexport * from './dtos/update-user-activity-history.dto'\n\nexport * from './entities/action-metadata.entity'\nexport * from './entities/common.entity'\nexport * from './entities/legacy-common.entity'\nexport * from './entities/legacy-common-with-id.entity'\nexport * from './entities/email-attachment.entity'\nexport * from './entities/email-template.entity'\nexport * from './entities/field-metadata.entity'\nexport * from './entities/list-of-values.entity'\nexport * from './entities/media.entity'\nexport * from './entities/media-storage-provider-metadata.entity'\nexport * from './entities/menu-item-metadata.entity'\nexport * from './entities/model-metadata.entity'\nexport * from './entities/module-metadata.entity'\nexport * from './entities/mq-message-queue.entity'\nexport * from './entities/mq-message.entity'\nexport * from './entities/scheduled-job.entity'\nexport * from './entities/permission-metadata.entity'\nexport * from './entities/role-metadata.entity'\nexport * from './entities/sms-template.entity'\nexport * from './entities/user.entity'\nexport * from './entities/view-metadata.entity'\nexport * from './entities/setting.entity'\nexport * from './entities/saved-filters.entity'\nexport * from './entities/user-view-metadata.entity'\nexport * from './entities/security-rule.entity'\nexport * from './entities/saved-filters.entity'\nexport * from './entities/chatter-message.entity'\nexport * from './entities/chatter-message-details.entity'\nexport * from './entities/export-template.entity'\nexport * from './entities/export-transaction.entity'\nexport * from './entities/import-transaction.entity'\nexport * from './entities/import-transaction-error-log.entity'\nexport * from './entities/locale.entity'\nexport * from './entities/user-activity-history.entity'\nexport * from './entities/dashboard.entity'\nexport * from './entities/dashboard-variable.entity'\nexport * from './entities/dashboard-question.entity'\nexport * from './entities/dashboard-question-sql-dataset-config.entity'\nexport * from './entities/ai-interaction.entity'\nexport * from './entities/model-sequence.entity'\n\nexport * from './enums/auth-type.enum'\nexport * from './decorators/disallow-in-production.decorator'\n\nexport * from './filters/http-exception.filter'\n\nexport * from './guards/access-token.guard'\nexport * from './guards/authentication.guard'\nexport * from './guards/permissions.guard'\nexport * from './guards/roles.guard'\n\nexport * from './helpers/command.service'\nexport * from './helpers/module.helper'\nexport * from './helpers/schematic.service'\nexport * from './helpers/solid-registry'\nexport * from './helpers/field-crud-managers/BigIntFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/BooleanFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/ComputedFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/DateFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/DecimalFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/EmailFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/IntFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/JsonFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/LongTextFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/ManyToManyRelationFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/ManyToOneRelationFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/MediaFieldCrudManager' // Need to resolve ambiguity\nexport * from './helpers/field-crud-managers/NoOpsFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/OneToManyRelationFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/PasswordFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/RichTextFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/SelectionDynamicFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/SelectionStaticFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/ShortTextFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/UUIDFieldCrudManager' //rename\nexport * from './helpers/environment.helper'\nexport * from './helpers/cors.helper'\nexport * from './helpers/security.helper'\nexport * from './helpers/model-metadata-helper.service'\nexport * from './helpers/image-encoding.helper'\nexport * from './helpers/solid-microservice-adapter.service'\nexport * from './helpers/typeorm-db-helper';\n\nexport * from './services/crud.service'\nexport * from './interceptors/logging.interceptor'\nexport * from './interceptors/wrap-response.interceptor'\n\nexport * from './interfaces/active-user-data.interface'\nexport * from './interfaces/mq'\nexport * from './services/scheduled-jobs/scheduled-job.interface';\nexport * from './services/scheduled-jobs/scheduler.interface';\nexport * from './services/scheduled-jobs/scheduler.service';\n\nexport * from './jobs/api-email-publisher.service'\nexport * from './jobs/api-email-queue-options'\nexport * from './jobs/api-email-subscriber.service'\nexport { SmtpEmailQueuePublisherRabbitmq, SmtpEmailQueuePublisherRabbitmq as EmailQueuePublisher } from './jobs/smtp-email-publisher.service' // alias for backward compatibility\nexport * from './jobs/smtp-email-queue-options'\nexport { SmtpEmailQueueSubscriberRabbitmq, SmtpEmailQueueSubscriberRabbitmq as EmailQueueSubscriber } from './jobs/smtp-email-subscriber.service' // alias for backward compatibility\nexport * from './jobs/msg91-otp-publisher.service'\nexport * from './jobs/msg91-otp-queue-options'\nexport * from './jobs/msg91-otp-subscriber.service'\nexport * from './jobs/msg91-sms-publisher.service'\nexport * from './jobs/msg91-sms-queue-options'\nexport * from './jobs/msg91-sms-subscriber.service'\nexport * from './jobs/msg91-whatsapp-publisher.service'\nexport * from './jobs/msg91-whatsapp-queue-options'\nexport * from './jobs/msg91-whatsapp-subscriber.service'\n\nexport * from './listeners/user-registration.listener'\n\nexport * from './passport-strategies/google-oauth.strategy'\nexport * from './passport-strategies/local.strategy'\n\nexport * from './services/selection-providers/list-of-values-selection-providers.service'\n\n// seed-data\nexport * from './seeders/email-template-seeder.service'\nexport * from './seeders/permission-metadata-seeder.service'\nexport * from './seeders/sms-template-seeder.service'\nexport * from './seeders/module-metadata-seeder.service'\nexport * from './seeders/user-seeder.service'\n\n// export * from './services/access-token-storage.service'\nexport * from './services/action-metadata.service'\nexport * from './services/authentication.service'\nexport * from './services/bcrypt.service'\nexport * from './services/computed-fields/uuid-external-id-computed-field-provider.service'\nexport * from './services/crud-helper.service'\nexport * from './services/crud.service'\nexport * from './services/email-template.service'\nexport * from './services/field-metadata.service'\nexport * from './services/file'\nexport * from './services/textract.service'\nexport * from './services/hashing.service'\nexport * from './services/list-of-values.service'\nexport * from './services/mail/elastic-email.service'\nexport * from './services/mail/smtp-email.service'\nexport * from './services/media-storage-provider-metadata.service'\nexport * from './services/media.service'\nexport * from './services/mediaStorageProviders/file-s3-storage-provider'\nexport * from './services/mediaStorageProviders/file-storage-provider'\nexport * from './services/mediaStorageProviders/index'\nexport * from './services/menu-item-metadata.service'\nexport * from './services/model-metadata.service'\nexport * from './services/module-metadata.service'\nexport * from './services/mq-message-queue.service'\nexport * from './services/mq-message.service'\nexport * from './services/scheduled-job.service'\nexport * from './services/pdf.service'\nexport * from './services/permission-metadata.service'\nexport * from './services/queues/rabbitmq-publisher.service'\nexport * from './services/queues/rabbitmq-subscriber.service'\nexport * from './services/refresh-token-ids-storage.service'\nexport * from './services/role-metadata.service'\nexport * from './services/selection-providers/list-of-models-selection-provider.service'\nexport * from './services/short-url/tiny-url.service'\nexport * from './services/sms/Msg91BaseSMSService' //rename\nexport * from './services/sms/Msg91OTPService' //rename\nexport * from './services/sms/Msg91SMSService' //rename\nexport * from './services/sms/TwilioSMSService' //rename\nexport * from './services/poller.service'\nexport * from './services/sms-template.service'\nexport * from './services/solid-introspect.service'\nexport * from './services/user.service'\nexport * from './services/view-metadata.service'\nexport * from './services/whatsapp/Msg91WhatsappService' //rename\nexport * from './services/setting.service'\nexport * from './services/settings/default-settings-provider.service'\nexport * from './services/security-rule.service'\nexport * from './services/request-context.service'\nexport * from './services/chatter-message.service'\nexport * from './services/chatter-message-details.service'\nexport * from './services/locale.service'\nexport * from './services/user-activity-history.service'\nexport * from './services/import-transaction.service'\nexport * from './services/import-transaction-error-log.service'\nexport * from './services/excel.service'\nexport * from './services/csv.service'\nexport * from './services/queues/publisher-factory.service'\nexport * from './services/queues/database-publisher.service'\nexport * from './services/queues/database-subscriber.service'\nexport * from './services/ai-interaction.service'\n\n// Factories\nexport * from './factories/mail.factory'\nexport * from './factories/sms.factory'\nexport * from './factories/whatsapp.factory'\n\n// Repositories\nexport * from './repository/solid-base.repository'\nexport * from './repository/security-rule.repository'\nexport * from './repository/chatter-message.repository'\nexport * from './repository/chatter-message-details.repository'\n\n\n//softDeleteAwareEventSubscriber.subscriber.ts\nexport * from './subscribers/model-metadata.subscriber'\nexport * from './subscribers/soft-delete-aware-event.subscriber' //rename\nexport * from './subscribers/view-metadata.subscriber' //rename\nexport * from './subscribers/audit.subscriber'\n\n\n\nexport * from './transformers/array-transformer'\nexport * from './transformers/boolean-transformer'\nexport * from './transformers/integer-transformer'\nexport { default as datetimeTransformer } from './transformers/datetime-transformer'\nexport * from './transformers/typeorm/local-date-time-transformer'\n\nexport * from './validators/is-parsable-int'\n\nexport * from './constants'\nexport * from './interfaces'\nexport * from './solid-core.module'\n\nexport * from './winston.logger'\n\nexport { ERROR_MESSAGES } from './constants/error-messages'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export * from './commands/helper'\nexport * from './commands/refresh-model.command'\nexport * from './commands/refresh-module.command'\nexport * from './commands/remove-fields.command'\nexport * from './commands/seed.command'\nexport * from './commands/test-data.command'\nexport * from './commands/run-tests.command'\nexport * from './commands/test.command'\n\nexport * from './config/cache.options'\n\nexport * from './decorators/active-user.decorator'\nexport * from './decorators/solid-request-context.decorator'\nexport * from './decorators/auth.decorator'\nexport * from './decorators/computed-field-provider.decorator'\nexport * from './decorators/scheduled-job-provider.decorator'\nexport * from './decorators/is-not-in-enum.decorator'\nexport * from './decorators/protocol.decorator'\nexport * from './decorators/public.decorator'\nexport * from './decorators/roles.decorator'\nexport * from './decorators/selection-provider.decorator'\nexport * from './decorators/error-codes-provider.decorator'\nexport * from './decorators/solid-database-module.decorator'\nexport * from './decorators/solid-service.decorator'\nexport * from './decorators/mail-provider.decorator'\nexport * from './decorators/security-rule-config-provider.decorator'\nexport * from './decorators/sms-provider.decorator'\nexport * from './decorators/settings-provider.decorator'\n\nexport * from './dtos/post-chatter-message.dto'\nexport * from './dtos/security-rule-config.dto'\nexport * from './dtos/basic-filters.dto'\nexport * from './dtos/solid-request-context.dto'\nexport * from './dtos/change-password.dto'\nexport * from './dtos/confirm-forgot-password.dto'\nexport * from './dtos/create-action-metadata.dto'\nexport * from './dtos/create-email-attachment.dto'\nexport * from './dtos/create-email-template.dto'\nexport * from './dtos/create-field-metadata.dto'\nexport * from './dtos/create-list-of-values.dto'\nexport * from './dtos/create-media-storage-provider-metadata.dto'\nexport * from './dtos/create-media.dto'\nexport * from './dtos/create-menu-item-metadata.dto'\nexport * from './dtos/create-message.dto'\nexport * from './dtos/create-model-metadata.dto'\nexport * from './dtos/create-module-metadata.dto'\nexport * from './dtos/create-mq-message-queue.dto'\nexport * from './dtos/create-mq-message.dto'\nexport * from './dtos/create-scheduled-job.dto'\nexport * from './dtos/create-permission-metadata.dto'\nexport * from './dtos/create-role-metadata.dto'\nexport * from './dtos/create-short-url.dto'\nexport * from './dtos/create-sms-template.dto'\nexport * from './dtos/create-user.dto'\nexport * from './dtos/create-view-metadata.dto'\nexport * from './dtos/create-chatter-message.dto'\nexport * from './dtos/create-chatter-message-details.dto'\nexport * from './dtos/create-locale.dto'\nexport * from './dtos/fetch-roles.dto'\nexport * from './dtos/initiate-forgot-password.dto'\nexport * from './dtos/mutate-role-permissions.dto'\nexport * from './dtos/mutate-user-roles-list.dto'\nexport * from './dtos/mutate-user-roles.dto'\nexport * from './dtos/oauth-user-dto'\nexport * from './dtos/otp-confirm-otp.dto'\nexport * from './dtos/otp-sign-in.dto'\nexport * from './dtos/otp-sign-up.dto'\nexport * from './dtos/pagination-query.dto'\nexport * from './dtos/query.dto'\nexport * from './dtos/refresh-token.dto'\nexport * from './dtos/register-private.dto'\nexport * from './dtos/selection-dynamic-query.dto'\nexport * from './dtos/sign-in.dto'\nexport * from './dtos/sign-up.dto'\nexport * from './dtos/sort-filter.dto'\nexport * from './dtos/update-action-metadata.dto'\nexport * from './dtos/update-email-template.dto'\nexport * from './dtos/update-field-metadata.dto'\nexport * from './dtos/update-media-storage-provider.dto'\nexport * from './dtos/update-media.dto'\nexport * from './dtos/update-menu-item-metadata.dto'\nexport * from './dtos/update-message.dto'\nexport * from './dtos/update-model-metadata.dto'\nexport * from './dtos/update-module-metadata.dto'\nexport * from './dtos/update-mq-message-queue.dto'\nexport * from './dtos/update-mq-message.dto'\nexport * from './dtos/update-scheduled-job.dto'\nexport * from './dtos/update-permission-metadata.dto'\nexport * from './dtos/update-role-metadata.dto'\nexport * from './dtos/update-sms-template.dto'\nexport * from './dtos/update-user.dto'\nexport * from './dtos/update-view-metadata.dto'\nexport * from './dtos/create-setting.dto'\nexport * from './dtos/update-setting.dto'\nexport * from './dtos/create-security-rule.dto'\nexport * from './dtos/update-security-rule.dto'\nexport * from './dtos/update-chatter-message.dto'\nexport * from './dtos/update-chatter-message-details.dto'\nexport * from './dtos/update-locale.dto'\nexport * from './dtos/create-user-activity-history.dto'\nexport * from './dtos/update-user-activity-history.dto'\n\nexport * from './entities/action-metadata.entity'\nexport * from './entities/common.entity'\nexport * from './entities/legacy-common.entity'\nexport * from './entities/legacy-common-with-id.entity'\nexport * from './entities/email-attachment.entity'\nexport * from './entities/email-template.entity'\nexport * from './entities/field-metadata.entity'\nexport * from './entities/list-of-values.entity'\nexport * from './entities/media.entity'\nexport * from './entities/media-storage-provider-metadata.entity'\nexport * from './entities/menu-item-metadata.entity'\nexport * from './entities/model-metadata.entity'\nexport * from './entities/module-metadata.entity'\nexport * from './entities/mq-message-queue.entity'\nexport * from './entities/mq-message.entity'\nexport * from './entities/scheduled-job.entity'\nexport * from './entities/permission-metadata.entity'\nexport * from './entities/role-metadata.entity'\nexport * from './entities/sms-template.entity'\nexport * from './entities/user.entity'\nexport * from './entities/view-metadata.entity'\nexport * from './entities/setting.entity'\nexport * from './entities/saved-filters.entity'\nexport * from './entities/user-view-metadata.entity'\nexport * from './entities/security-rule.entity'\nexport * from './entities/saved-filters.entity'\nexport * from './entities/chatter-message.entity'\nexport * from './entities/chatter-message-details.entity'\nexport * from './entities/export-template.entity'\nexport * from './entities/export-transaction.entity'\nexport * from './entities/import-transaction.entity'\nexport * from './entities/import-transaction-error-log.entity'\nexport * from './entities/locale.entity'\nexport * from './entities/user-activity-history.entity'\nexport * from './entities/dashboard.entity'\nexport * from './entities/dashboard-variable.entity'\nexport * from './entities/dashboard-question.entity'\nexport * from './entities/dashboard-question-sql-dataset-config.entity'\nexport * from './entities/ai-interaction.entity'\nexport * from './entities/model-sequence.entity'\n\nexport * from './enums/auth-type.enum'\nexport * from './decorators/disallow-in-production.decorator'\n\nexport * from './filters/http-exception.filter'\n\nexport * from './guards/access-token.guard'\nexport * from './guards/authentication.guard'\nexport * from './guards/permissions.guard'\nexport * from './guards/roles.guard'\n\nexport * from './helpers/command.service'\nexport * from './helpers/module.helper'\nexport * from './helpers/schematic.service'\nexport * from './helpers/solid-registry'\nexport * from './helpers/field-crud-managers/BigIntFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/BooleanFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/ComputedFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/DateFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/DecimalFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/EmailFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/IntFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/JsonFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/LongTextFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/ManyToManyRelationFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/ManyToOneRelationFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/MediaFieldCrudManager' // Need to resolve ambiguity\nexport * from './helpers/field-crud-managers/NoOpsFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/OneToManyRelationFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/PasswordFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/RichTextFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/SelectionDynamicFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/SelectionStaticFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/ShortTextFieldCrudManager' //rename\nexport * from './helpers/field-crud-managers/UUIDFieldCrudManager' //rename\nexport * from './helpers/environment.helper'\nexport * from './helpers/cors.helper'\nexport * from './helpers/security.helper'\nexport * from './helpers/model-metadata-helper.service'\nexport * from './helpers/image-encoding.helper'\nexport * from './helpers/solid-microservice-adapter.service'\nexport * from './helpers/typeorm-db-helper';\n\nexport * from './services/crud.service'\nexport * from './interceptors/logging.interceptor'\nexport * from './interceptors/wrap-response.interceptor'\n\nexport * from './interfaces/active-user-data.interface'\nexport * from './interfaces/mq'\nexport * from './services/scheduled-jobs/scheduled-job.interface';\nexport * from './services/scheduled-jobs/scheduler.interface';\nexport * from './services/scheduled-jobs/scheduler.service';\n\nexport * from './jobs/api-email-publisher.service'\nexport * from './jobs/api-email-queue-options'\nexport * from './jobs/api-email-subscriber.service'\nexport { SmtpEmailQueuePublisherRabbitmq, SmtpEmailQueuePublisherRabbitmq as EmailQueuePublisher } from './jobs/smtp-email-publisher.service' // alias for backward compatibility\nexport * from './jobs/smtp-email-queue-options'\nexport { SmtpEmailQueueSubscriberRabbitmq, SmtpEmailQueueSubscriberRabbitmq as EmailQueueSubscriber } from './jobs/smtp-email-subscriber.service' // alias for backward compatibility\nexport * from './jobs/msg91-otp-publisher.service'\nexport * from './jobs/msg91-otp-queue-options'\nexport * from './jobs/msg91-otp-subscriber.service'\nexport * from './jobs/msg91-sms-publisher.service'\nexport * from './jobs/msg91-sms-queue-options'\nexport * from './jobs/msg91-sms-subscriber.service'\nexport * from './jobs/msg91-whatsapp-publisher.service'\nexport * from './jobs/msg91-whatsapp-queue-options'\nexport * from './jobs/msg91-whatsapp-subscriber.service'\n\nexport * from './listeners/user-registration.listener'\n\nexport * from './passport-strategies/google-oauth.strategy'\n\nexport * from './services/selection-providers/list-of-values-selection-providers.service'\n\n// seed-data\nexport * from './seeders/permission-metadata-seeder.service'\nexport * from './seeders/module-metadata-seeder.service'\n\n// export * from './services/access-token-storage.service'\nexport * from './services/action-metadata.service'\nexport * from './services/authentication.service'\nexport * from './services/bcrypt.service'\nexport * from './services/computed-fields/uuid-external-id-computed-field-provider.service'\nexport * from './services/crud-helper.service'\nexport * from './services/crud.service'\nexport * from './services/email-template.service'\nexport * from './services/field-metadata.service'\nexport * from './services/file'\nexport * from './services/textract.service'\nexport * from './services/hashing.service'\nexport * from './services/list-of-values.service'\nexport * from './services/mail/elastic-email.service'\nexport * from './services/mail/smtp-email.service'\nexport * from './services/media-storage-provider-metadata.service'\nexport * from './services/media.service'\nexport * from './services/mediaStorageProviders/file-s3-storage-provider'\nexport * from './services/mediaStorageProviders/file-storage-provider'\nexport * from './services/mediaStorageProviders/index'\nexport * from './services/menu-item-metadata.service'\nexport * from './services/model-metadata.service'\nexport * from './services/module-metadata.service'\nexport * from './services/mq-message-queue.service'\nexport * from './services/mq-message.service'\nexport * from './services/scheduled-job.service'\nexport * from './services/pdf.service'\nexport * from './services/permission-metadata.service'\nexport * from './services/queues/rabbitmq-publisher.service'\nexport * from './services/queues/rabbitmq-subscriber.service'\nexport * from './services/refresh-token-ids-storage.service'\nexport * from './services/role-metadata.service'\nexport * from './services/selection-providers/list-of-models-selection-provider.service'\nexport * from './services/short-url/tiny-url.service'\nexport * from './services/sms/Msg91BaseSMSService' //rename\nexport * from './services/sms/Msg91OTPService' //rename\nexport * from './services/sms/Msg91SMSService' //rename\nexport * from './services/sms/TwilioSMSService' //rename\nexport * from './services/poller.service'\nexport * from './services/sms-template.service'\nexport * from './services/solid-introspect.service'\nexport * from './services/user.service'\nexport * from './services/view-metadata.service'\nexport * from './services/whatsapp/Msg91WhatsappService' //rename\nexport * from './services/setting.service'\nexport * from './services/settings/default-settings-provider.service'\nexport * from './services/security-rule.service'\nexport * from './services/request-context.service'\nexport * from './services/chatter-message.service'\nexport * from './services/chatter-message-details.service'\nexport * from './services/locale.service'\nexport * from './services/user-activity-history.service'\nexport * from './services/import-transaction.service'\nexport * from './services/import-transaction-error-log.service'\nexport * from './services/excel.service'\nexport * from './services/csv.service'\nexport * from './services/queues/publisher-factory.service'\nexport * from './services/queues/database-publisher.service'\nexport * from './services/queues/database-subscriber.service'\nexport * from './services/ai-interaction.service'\n\n// Factories\nexport * from './factories/mail.factory'\nexport * from './factories/sms.factory'\nexport * from './factories/whatsapp.factory'\n\n// Repositories\nexport * from './repository/solid-base.repository'\nexport * from './repository/security-rule.repository'\nexport * from './repository/chatter-message.repository'\nexport * from './repository/chatter-message-details.repository'\n\n\n//softDeleteAwareEventSubscriber.subscriber.ts\nexport * from './subscribers/model-metadata.subscriber'\nexport * from './subscribers/soft-delete-aware-event.subscriber' //rename\nexport * from './subscribers/view-metadata.subscriber' //rename\nexport * from './subscribers/audit.subscriber'\n\n\n\nexport * from './transformers/array-transformer'\nexport * from './transformers/boolean-transformer'\nexport * from './transformers/integer-transformer'\nexport { default as datetimeTransformer } from './transformers/datetime-transformer'\nexport * from './transformers/typeorm/local-date-time-transformer'\n\nexport * from './validators/is-parsable-int'\n\nexport * from './constants'\nexport * from './interfaces'\nexport * from './solid-core.module'\n\nexport * from './winston.logger'\n\nexport { ERROR_MESSAGES } from './constants/error-messages'\n"]}
@@ -1,8 +1,9 @@
1
1
  import { Logger } from '@nestjs/common';
2
2
  import { CommonEntity } from 'src/entities/common.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
- import { DataSource, EntityTarget, FindManyOptions, FindOneOptions, FindOptionsWhere, QueryRunner, Repository, SelectQueryBuilder } from 'typeorm';
4
+ import { DataSource, EntityTarget, FindManyOptions, FindOneOptions, FindOptionsWhere, QueryRunner, Repository, SelectQueryBuilder, UpdateResult } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
6
+ import { PickKeysByType } from 'typeorm/common/PickKeysByType';
6
7
  export declare class SolidBaseRepository<T extends CommonEntity> extends Repository<T> {
7
8
  protected readonly requestContextService: RequestContextService | null;
8
9
  protected readonly securityRuleRepository: SecurityRuleRepository | null;
@@ -17,5 +18,13 @@ export declare class SolidBaseRepository<T extends CommonEntity> extends Reposit
17
18
  findOneOrFail(options?: FindOneOptions<T>): Promise<T>;
18
19
  find(options?: FindManyOptions<T>): Promise<T[]>;
19
20
  findAndCount(options?: FindManyOptions<T>): Promise<[T[], number]>;
21
+ count(options?: FindManyOptions<T>): Promise<number>;
22
+ countBy(where: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<number>;
23
+ average(columnName: PickKeysByType<T, number>, where?: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<number | null>;
24
+ sum(columnName: PickKeysByType<T, number>, where?: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<number | null>;
25
+ minimum(columnName: PickKeysByType<T, number>, where?: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<number | null>;
26
+ maximum(columnName: PickKeysByType<T, number>, where?: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<number | null>;
27
+ increment(where: FindOptionsWhere<T>, propertyPath: string, value: string | number): Promise<UpdateResult>;
28
+ decrement(where: FindOptionsWhere<T>, propertyPath: string, value: string | number): Promise<UpdateResult>;
20
29
  }
21
30
  //# sourceMappingURL=solid-base.repository.d.ts.map
@@ -1 +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;AAG1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EACH,UAAU,EAEV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,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,GAAG,IAAI;IACtE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,IAAI;IAN5E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAG9B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,UAAU,EAAE,UAAU,EACH,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,EACnD,sBAAsB,EAAE,sBAAsB,GAAG,IAAI;IAM5E,iBAAiB,IAAI,MAAM;IAIrB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAe/D,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAIvF,mCAAmC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAoBrG,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAevD,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAOhF,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAYtD,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAehD,YAAY,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;CAUpF"}
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;AAG1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EACH,UAAU,EAEV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,YAAY,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,qBAAa,mBAAmB,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAMtE,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI;IACtE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,IAAI;IAN5E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAG9B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,UAAU,EAAE,UAAU,EACH,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,EACnD,sBAAsB,EAAE,sBAAsB,GAAG,IAAI;IAM5E,iBAAiB,IAAI,MAAM;IAIrB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAe/D,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAIvF,mCAAmC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAoBrG,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAevD,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAOhF,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAYtD,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAehD,YAAY,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAclE,KAAK,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAcpD,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5E,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAwB3H,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAwBvH,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAwB3H,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyB3H,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAI,OAAO,CAAC,YAAY,CAAC;IA0B3G,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAI,OAAO,CAAC,YAAY,CAAC;CAqB7H"}
@@ -76,6 +76,115 @@ class SolidBaseRepository extends typeorm_1.Repository {
76
76
  }
77
77
  return qb.getManyAndCount();
78
78
  }
79
+ async count(options) {
80
+ const alias = this.modelSingularName();
81
+ const qb = await this.createSecurityRuleAwareQueryBuilder(alias);
82
+ if (options) {
83
+ qb.setFindOptions(options);
84
+ }
85
+ return qb.getCount();
86
+ }
87
+ async countBy(where) {
88
+ return this.count({ where });
89
+ }
90
+ async average(columnName, where) {
91
+ const alias = this.modelSingularName();
92
+ const qb = await this.createSecurityRuleAwareQueryBuilder(alias);
93
+ if (where) {
94
+ qb.setFindOptions({ where });
95
+ }
96
+ const result = await qb
97
+ .select(`AVG(CAST(${alias}.${String(columnName)} AS FLOAT))`, 'avg')
98
+ .getRawOne();
99
+ if (result?.avg === null || result?.avg === undefined) {
100
+ return null;
101
+ }
102
+ return typeof result.avg === 'number'
103
+ ? result.avg
104
+ : parseFloat(result.avg);
105
+ }
106
+ async sum(columnName, where) {
107
+ const alias = this.modelSingularName();
108
+ const qb = await this.createSecurityRuleAwareQueryBuilder(alias);
109
+ if (where) {
110
+ qb.setFindOptions({ where });
111
+ }
112
+ const result = await qb
113
+ .select(`SUM(CAST(${alias}.${String(columnName)} AS FLOAT))`, 'sum')
114
+ .getRawOne();
115
+ if (result?.sum === null || result?.sum === undefined) {
116
+ return null;
117
+ }
118
+ return typeof result.sum === 'number'
119
+ ? result.sum
120
+ : parseFloat(result.sum);
121
+ }
122
+ async minimum(columnName, where) {
123
+ const alias = this.modelSingularName();
124
+ const qb = await this.createSecurityRuleAwareQueryBuilder(alias);
125
+ if (where) {
126
+ qb.setFindOptions({ where });
127
+ }
128
+ const result = await qb
129
+ .select(`MIN(CAST(${alias}.${String(columnName)} AS FLOAT))`, 'min')
130
+ .getRawOne();
131
+ if (result?.min === null || result?.min === undefined) {
132
+ return null;
133
+ }
134
+ return typeof result.min === 'number'
135
+ ? result.min
136
+ : parseFloat(result.min);
137
+ }
138
+ async maximum(columnName, where) {
139
+ const alias = this.modelSingularName();
140
+ const qb = await this.createSecurityRuleAwareQueryBuilder(alias);
141
+ if (where) {
142
+ qb.setFindOptions({ where });
143
+ }
144
+ const result = await qb
145
+ .select(`MAX(CAST(${alias}.${String(columnName)} AS FLOAT))`, 'max')
146
+ .getRawOne();
147
+ if (result?.max === null || result?.max === undefined) {
148
+ return null;
149
+ }
150
+ return typeof result.max === 'number'
151
+ ? result.max
152
+ : parseFloat(result.max);
153
+ }
154
+ async increment(where, propertyPath, value) {
155
+ const alias = this.modelSingularName();
156
+ const qb = await this.createSecurityRuleAwareQueryBuilder(alias);
157
+ qb.setFindOptions({ where });
158
+ const rows = await qb.select(`${alias}.id`).getMany();
159
+ const ids = rows.map((r) => r.id);
160
+ if (ids.length === 0) {
161
+ return { raw: [], affected: 0, generatedMaps: [] };
162
+ }
163
+ return this.manager
164
+ .createQueryBuilder()
165
+ .update(this.metadata.target)
166
+ .set({ [propertyPath]: () => `${propertyPath} + :value` })
167
+ .whereInIds(ids)
168
+ .setParameter('value', value)
169
+ .execute();
170
+ }
171
+ async decrement(where, propertyPath, value) {
172
+ const alias = this.modelSingularName();
173
+ const qb = await this.createSecurityRuleAwareQueryBuilder(alias);
174
+ qb.setFindOptions({ where });
175
+ const rows = await qb.select(`${alias}.id`).getMany();
176
+ const ids = rows.map((r) => r.id);
177
+ if (ids.length === 0) {
178
+ return { raw: [], affected: 0, generatedMaps: [] };
179
+ }
180
+ return this.manager
181
+ .createQueryBuilder()
182
+ .update(this.metadata.target)
183
+ .set({ [propertyPath]: () => `${propertyPath} - :value` })
184
+ .whereInIds(ids)
185
+ .setParameter('value', value)
186
+ .execute();
187
+ }
79
188
  }
80
189
  exports.SolidBaseRepository = SolidBaseRepository;
81
190
  //# sourceMappingURL=solid-base.repository.js.map