@solidxai/core 0.1.2 → 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 (469) hide show
  1. package/.claude/settings.local.json +8 -0
  2. package/dist/commands/run-tests.command.d.ts +37 -0
  3. package/dist/commands/run-tests.command.d.ts.map +1 -0
  4. package/dist/commands/run-tests.command.js +345 -0
  5. package/dist/commands/run-tests.command.js.map +1 -0
  6. package/dist/commands/test-data.command.d.ts +6 -6
  7. package/dist/commands/test-data.command.d.ts.map +1 -1
  8. package/dist/commands/test-data.command.js +25 -25
  9. package/dist/commands/test-data.command.js.map +1 -1
  10. package/dist/commands/test.command.d.ts +5 -0
  11. package/dist/commands/test.command.d.ts.map +1 -0
  12. package/dist/commands/test.command.js +26 -0
  13. package/dist/commands/test.command.js.map +1 -0
  14. package/dist/constants/error-messages.d.ts +1 -0
  15. package/dist/constants/error-messages.d.ts.map +1 -1
  16. package/dist/constants/error-messages.js +1 -0
  17. package/dist/constants/error-messages.js.map +1 -1
  18. package/dist/constants.d.ts +3 -3
  19. package/dist/constants.d.ts.map +1 -1
  20. package/dist/constants.js +12 -12
  21. package/dist/constants.js.map +1 -1
  22. package/dist/controllers/otp-authentication.controller.d.ts +1 -4
  23. package/dist/controllers/otp-authentication.controller.d.ts.map +1 -1
  24. package/dist/controllers/otp-authentication.controller.js +1 -1
  25. package/dist/controllers/role-metadata.controller.d.ts +1 -0
  26. package/dist/controllers/role-metadata.controller.d.ts.map +1 -1
  27. package/dist/controllers/role-metadata.controller.js +15 -0
  28. package/dist/controllers/role-metadata.controller.js.map +1 -1
  29. package/dist/controllers/service.controller.d.ts +0 -9
  30. package/dist/controllers/service.controller.d.ts.map +1 -1
  31. package/dist/controllers/service.controller.js +0 -45
  32. package/dist/controllers/service.controller.js.map +1 -1
  33. package/dist/dtos/basic-filters.dto.d.ts.map +1 -1
  34. package/dist/dtos/basic-filters.dto.js.map +1 -1
  35. package/dist/dtos/create-email-template.dto.d.ts.map +1 -1
  36. package/dist/dtos/create-email-template.dto.js.map +1 -1
  37. package/dist/dtos/create-list-of-values.dto.d.ts.map +1 -1
  38. package/dist/dtos/create-list-of-values.dto.js.map +1 -1
  39. package/dist/dtos/create-menu-item-metadata.dto.d.ts.map +1 -1
  40. package/dist/dtos/create-menu-item-metadata.dto.js.map +1 -1
  41. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  42. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  43. package/dist/dtos/create-scheduled-job.dto.d.ts.map +1 -1
  44. package/dist/dtos/create-scheduled-job.dto.js.map +1 -1
  45. package/dist/dtos/create-security-rule.dto.d.ts.map +1 -1
  46. package/dist/dtos/create-security-rule.dto.js.map +1 -1
  47. package/dist/dtos/create-sms-template.dto.d.ts.map +1 -1
  48. package/dist/dtos/create-sms-template.dto.js.map +1 -1
  49. package/dist/dtos/create-user.dto.d.ts +1 -0
  50. package/dist/dtos/create-user.dto.d.ts.map +1 -1
  51. package/dist/dtos/create-user.dto.js +2 -1
  52. package/dist/dtos/create-user.dto.js.map +1 -1
  53. package/dist/dtos/create-view-metadata.dto.d.ts.map +1 -1
  54. package/dist/dtos/create-view-metadata.dto.js.map +1 -1
  55. package/dist/dtos/otp-sign-in.dto.d.ts +1 -1
  56. package/dist/dtos/otp-sign-in.dto.d.ts.map +1 -1
  57. package/dist/dtos/otp-sign-in.dto.js +2 -2
  58. package/dist/dtos/otp-sign-in.dto.js.map +1 -1
  59. package/dist/dtos/otp-sign-up.dto.d.ts +2 -2
  60. package/dist/dtos/otp-sign-up.dto.d.ts.map +1 -1
  61. package/dist/dtos/otp-sign-up.dto.js +2 -2
  62. package/dist/dtos/otp-sign-up.dto.js.map +1 -1
  63. package/dist/dtos/resolve-s3-url.dto.d.ts +2 -5
  64. package/dist/dtos/resolve-s3-url.dto.d.ts.map +1 -1
  65. package/dist/dtos/resolve-s3-url.dto.js +1 -13
  66. package/dist/dtos/resolve-s3-url.dto.js.map +1 -1
  67. package/dist/dtos/sign-up.dto.d.ts.map +1 -1
  68. package/dist/dtos/sign-up.dto.js.map +1 -1
  69. package/dist/dtos/update-email-template.dto.d.ts.map +1 -1
  70. package/dist/dtos/update-email-template.dto.js.map +1 -1
  71. package/dist/dtos/update-list-of-values.dto.d.ts.map +1 -1
  72. package/dist/dtos/update-list-of-values.dto.js.map +1 -1
  73. package/dist/dtos/update-menu-item-metadata.dto.d.ts.map +1 -1
  74. package/dist/dtos/update-menu-item-metadata.dto.js.map +1 -1
  75. package/dist/dtos/update-scheduled-job.dto.d.ts.map +1 -1
  76. package/dist/dtos/update-scheduled-job.dto.js.map +1 -1
  77. package/dist/dtos/update-security-rule.dto.d.ts.map +1 -1
  78. package/dist/dtos/update-security-rule.dto.js.map +1 -1
  79. package/dist/dtos/update-sms-template.dto.d.ts.map +1 -1
  80. package/dist/dtos/update-sms-template.dto.js.map +1 -1
  81. package/dist/dtos/update-view-metadata.dto.d.ts.map +1 -1
  82. package/dist/dtos/update-view-metadata.dto.js.map +1 -1
  83. package/dist/entities/user.entity.d.ts +1 -0
  84. package/dist/entities/user.entity.d.ts.map +1 -1
  85. package/dist/entities/user.entity.js +6 -1
  86. package/dist/entities/user.entity.js.map +1 -1
  87. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +2 -0
  88. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts.map +1 -1
  89. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +33 -23
  90. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
  91. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +3 -0
  92. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts.map +1 -1
  93. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +36 -23
  94. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
  95. package/dist/helpers/security.helper.js +1 -0
  96. package/dist/helpers/security.helper.js.map +1 -1
  97. package/dist/index.d.ts +3 -4
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +3 -4
  100. package/dist/index.js.map +1 -1
  101. package/dist/repository/solid-base.repository.d.ts +10 -1
  102. package/dist/repository/solid-base.repository.d.ts.map +1 -1
  103. package/dist/repository/solid-base.repository.js +109 -0
  104. package/dist/repository/solid-base.repository.js.map +1 -1
  105. package/dist/seeders/module-metadata-seeder.service.d.ts +2 -0
  106. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  107. package/dist/seeders/module-metadata-seeder.service.js +142 -91
  108. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  109. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  110. package/dist/seeders/module-test-data.service.js +3 -3
  111. package/dist/seeders/module-test-data.service.js.map +1 -1
  112. package/dist/seeders/permission-metadata-seeder.service.d.ts +1 -1
  113. package/dist/seeders/permission-metadata-seeder.service.d.ts.map +1 -1
  114. package/dist/seeders/permission-metadata-seeder.service.js +1 -1
  115. package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
  116. package/dist/seeders/seed-data/solid-core-metadata.json +12 -25
  117. package/dist/services/authentication.service.d.ts +22 -8
  118. package/dist/services/authentication.service.d.ts.map +1 -1
  119. package/dist/services/authentication.service.js +228 -214
  120. package/dist/services/authentication.service.js.map +1 -1
  121. package/dist/services/chatter-message.service.d.ts +2 -0
  122. package/dist/services/chatter-message.service.d.ts.map +1 -1
  123. package/dist/services/chatter-message.service.js +18 -2
  124. package/dist/services/chatter-message.service.js.map +1 -1
  125. package/dist/services/crud-helper.service.d.ts +4 -0
  126. package/dist/services/crud-helper.service.d.ts.map +1 -1
  127. package/dist/services/crud-helper.service.js +66 -32
  128. package/dist/services/crud-helper.service.js.map +1 -1
  129. package/dist/services/crud.service.d.ts.map +1 -1
  130. package/dist/services/crud.service.js +7 -4
  131. package/dist/services/crud.service.js.map +1 -1
  132. package/dist/services/field-metadata.service.d.ts.map +1 -1
  133. package/dist/services/field-metadata.service.js.map +1 -1
  134. package/dist/services/file/disk-file.service.d.ts +0 -2
  135. package/dist/services/file/disk-file.service.d.ts.map +1 -1
  136. package/dist/services/file/disk-file.service.js +7 -16
  137. package/dist/services/file/disk-file.service.js.map +1 -1
  138. package/dist/services/file/index.d.ts +1 -0
  139. package/dist/services/file/index.d.ts.map +1 -1
  140. package/dist/services/file/index.js +1 -0
  141. package/dist/services/file/index.js.map +1 -1
  142. package/dist/services/file/storage-path-builder.d.ts +17 -0
  143. package/dist/services/file/storage-path-builder.d.ts.map +1 -0
  144. package/dist/{seeders/sms-template-seeder.service.js → services/file/storage-path-builder.js} +45 -35
  145. package/dist/services/file/storage-path-builder.js.map +1 -0
  146. package/dist/services/media.service.d.ts +1 -1
  147. package/dist/services/media.service.d.ts.map +1 -1
  148. package/dist/services/media.service.js +45 -6
  149. package/dist/services/media.service.js.map +1 -1
  150. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  151. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  152. package/dist/services/mediaStorageProviders/file-storage-provider.js +46 -7
  153. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  154. package/dist/services/module-metadata.service.d.ts +4 -6
  155. package/dist/services/module-metadata.service.d.ts.map +1 -1
  156. package/dist/services/module-metadata.service.js +16 -14
  157. package/dist/services/module-metadata.service.js.map +1 -1
  158. package/dist/services/queues/common.d.ts +3 -0
  159. package/dist/services/queues/common.d.ts.map +1 -0
  160. package/dist/services/queues/common.js +39 -0
  161. package/dist/services/queues/common.js.map +1 -0
  162. package/dist/services/queues/database-publisher.service.d.ts.map +1 -1
  163. package/dist/services/queues/database-publisher.service.js +3 -1
  164. package/dist/services/queues/database-publisher.service.js.map +1 -1
  165. package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
  166. package/dist/services/queues/database-subscriber.service.js +5 -2
  167. package/dist/services/queues/database-subscriber.service.js.map +1 -1
  168. package/dist/services/queues/rabbitmq-publisher.service.d.ts.map +1 -1
  169. package/dist/services/queues/rabbitmq-publisher.service.js +13 -6
  170. package/dist/services/queues/rabbitmq-publisher.service.js.map +1 -1
  171. package/dist/services/queues/rabbitmq-subscriber.service.d.ts.map +1 -1
  172. package/dist/services/queues/rabbitmq-subscriber.service.js +9 -5
  173. package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
  174. package/dist/services/setting.service.d.ts +3 -2
  175. package/dist/services/setting.service.d.ts.map +1 -1
  176. package/dist/services/setting.service.js +7 -4
  177. package/dist/services/setting.service.js.map +1 -1
  178. package/dist/services/settings/default-settings-provider.service.d.ts +24 -2
  179. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  180. package/dist/services/settings/default-settings-provider.service.js +8 -6
  181. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  182. package/dist/solid-core.module.d.ts +3 -1
  183. package/dist/solid-core.module.d.ts.map +1 -1
  184. package/dist/solid-core.module.js +49 -9
  185. package/dist/solid-core.module.js.map +1 -1
  186. package/dist/testing/__examples__/register-example-specs.d.ts +3 -0
  187. package/dist/testing/__examples__/register-example-specs.d.ts.map +1 -0
  188. package/dist/testing/__examples__/register-example-specs.js +8 -0
  189. package/dist/testing/__examples__/register-example-specs.js.map +1 -0
  190. package/dist/testing/__examples__/specs/custom-health.spec.d.ts +17 -0
  191. package/dist/testing/__examples__/specs/custom-health.spec.d.ts.map +1 -0
  192. package/dist/testing/__examples__/specs/custom-health.spec.js +30 -0
  193. package/dist/testing/__examples__/specs/custom-health.spec.js.map +1 -0
  194. package/dist/testing/adapters/api/api-adapter.d.ts +9 -0
  195. package/dist/testing/adapters/api/api-adapter.d.ts.map +1 -0
  196. package/dist/testing/adapters/api/api-adapter.js +76 -0
  197. package/dist/testing/adapters/api/api-adapter.js.map +1 -0
  198. package/dist/testing/adapters/api/api.types.d.ts +14 -0
  199. package/dist/testing/adapters/api/api.types.d.ts.map +1 -0
  200. package/dist/testing/adapters/api/api.types.js +3 -0
  201. package/dist/testing/adapters/api/api.types.js.map +1 -0
  202. package/dist/testing/adapters/ui/playwright-adapter.d.ts +14 -0
  203. package/dist/testing/adapters/ui/playwright-adapter.d.ts.map +1 -0
  204. package/dist/testing/adapters/ui/playwright-adapter.js +80 -0
  205. package/dist/testing/adapters/ui/playwright-adapter.js.map +1 -0
  206. package/dist/testing/adapters/ui/ui.types.d.ts +5 -0
  207. package/dist/testing/adapters/ui/ui.types.d.ts.map +1 -0
  208. package/dist/testing/adapters/ui/ui.types.js +3 -0
  209. package/dist/testing/adapters/ui/ui.types.js.map +1 -0
  210. package/dist/testing/contracts/runtime-context.types.d.ts +35 -0
  211. package/dist/testing/contracts/runtime-context.types.d.ts.map +1 -0
  212. package/dist/testing/contracts/runtime-context.types.js +3 -0
  213. package/dist/testing/contracts/runtime-context.types.js.map +1 -0
  214. package/dist/testing/contracts/test-spec.types.d.ts +21 -0
  215. package/dist/testing/contracts/test-spec.types.d.ts.map +1 -0
  216. package/dist/testing/contracts/test-spec.types.js +3 -0
  217. package/dist/testing/contracts/test-spec.types.js.map +1 -0
  218. package/dist/testing/contracts/testing-metadata.types.d.ts +41 -0
  219. package/dist/testing/contracts/testing-metadata.types.d.ts.map +1 -0
  220. package/dist/testing/contracts/testing-metadata.types.js +3 -0
  221. package/dist/testing/contracts/testing-metadata.types.js.map +1 -0
  222. package/dist/testing/core/interpolation.d.ts +4 -0
  223. package/dist/testing/core/interpolation.d.ts.map +1 -0
  224. package/dist/testing/core/interpolation.js +180 -0
  225. package/dist/testing/core/interpolation.js.map +1 -0
  226. package/dist/testing/core/normalize-steps.d.ts +7 -0
  227. package/dist/testing/core/normalize-steps.d.ts.map +1 -0
  228. package/dist/testing/core/normalize-steps.js +20 -0
  229. package/dist/testing/core/normalize-steps.js.map +1 -0
  230. package/dist/testing/core/resource-store.d.ts +8 -0
  231. package/dist/testing/core/resource-store.d.ts.map +1 -0
  232. package/dist/testing/core/resource-store.js +41 -0
  233. package/dist/testing/core/resource-store.js.map +1 -0
  234. package/dist/testing/core/spec-registry.d.ts +10 -0
  235. package/dist/testing/core/spec-registry.d.ts.map +1 -0
  236. package/dist/testing/core/spec-registry.js +32 -0
  237. package/dist/testing/core/spec-registry.js.map +1 -0
  238. package/dist/testing/core/step-registry.d.ts +10 -0
  239. package/dist/testing/core/step-registry.d.ts.map +1 -0
  240. package/dist/testing/core/step-registry.js +26 -0
  241. package/dist/testing/core/step-registry.js.map +1 -0
  242. package/dist/testing/core/testing-engine.d.ts +14 -0
  243. package/dist/testing/core/testing-engine.d.ts.map +1 -0
  244. package/dist/testing/core/testing-engine.js +97 -0
  245. package/dist/testing/core/testing-engine.js.map +1 -0
  246. package/dist/testing/core/timeout.d.ts +2 -0
  247. package/dist/testing/core/timeout.d.ts.map +1 -0
  248. package/dist/testing/core/timeout.js +18 -0
  249. package/dist/testing/core/timeout.js.map +1 -0
  250. package/dist/testing/reporter/attachments.d.ts +4 -0
  251. package/dist/testing/reporter/attachments.d.ts.map +1 -0
  252. package/dist/testing/reporter/attachments.js +25 -0
  253. package/dist/testing/reporter/attachments.js.map +1 -0
  254. package/dist/testing/reporter/console-reporter.d.ts +45 -0
  255. package/dist/testing/reporter/console-reporter.d.ts.map +1 -0
  256. package/dist/testing/reporter/console-reporter.js +189 -0
  257. package/dist/testing/reporter/console-reporter.js.map +1 -0
  258. package/dist/testing/reporter/reporter.types.d.ts +37 -0
  259. package/dist/testing/reporter/reporter.types.d.ts.map +1 -0
  260. package/dist/testing/reporter/reporter.types.js +3 -0
  261. package/dist/testing/reporter/reporter.types.js.map +1 -0
  262. package/dist/testing/runner/lifecycle.d.ts +9 -0
  263. package/dist/testing/runner/lifecycle.d.ts.map +1 -0
  264. package/dist/testing/runner/lifecycle.js +33 -0
  265. package/dist/testing/runner/lifecycle.js.map +1 -0
  266. package/dist/testing/runner/run-from-metadata.d.ts +24 -0
  267. package/dist/testing/runner/run-from-metadata.d.ts.map +1 -0
  268. package/dist/testing/runner/run-from-metadata.js +70 -0
  269. package/dist/testing/runner/run-from-metadata.js.map +1 -0
  270. package/dist/testing/runner/scenario-filter.d.ts +9 -0
  271. package/dist/testing/runner/scenario-filter.d.ts.map +1 -0
  272. package/dist/testing/runner/scenario-filter.js +22 -0
  273. package/dist/testing/runner/scenario-filter.js.map +1 -0
  274. package/dist/testing/steps/api/auth.step.d.ts +3 -0
  275. package/dist/testing/steps/api/auth.step.d.ts.map +1 -0
  276. package/dist/testing/steps/api/auth.step.js +38 -0
  277. package/dist/testing/steps/api/auth.step.js.map +1 -0
  278. package/dist/testing/steps/api/index.d.ts +3 -0
  279. package/dist/testing/steps/api/index.d.ts.map +1 -0
  280. package/dist/testing/steps/api/index.js +10 -0
  281. package/dist/testing/steps/api/index.js.map +1 -0
  282. package/dist/testing/steps/api/request.step.d.ts +3 -0
  283. package/dist/testing/steps/api/request.step.d.ts.map +1 -0
  284. package/dist/testing/steps/api/request.step.js +281 -0
  285. package/dist/testing/steps/api/request.step.js.map +1 -0
  286. package/dist/testing/steps/assert/http.step.d.ts +3 -0
  287. package/dist/testing/steps/assert/http.step.d.ts.map +1 -0
  288. package/dist/testing/steps/assert/http.step.js +27 -0
  289. package/dist/testing/steps/assert/http.step.js.map +1 -0
  290. package/dist/testing/steps/assert/index.d.ts +3 -0
  291. package/dist/testing/steps/assert/index.d.ts.map +1 -0
  292. package/dist/testing/steps/assert/index.js +12 -0
  293. package/dist/testing/steps/assert/index.js.map +1 -0
  294. package/dist/testing/steps/assert/jsonpath.step.d.ts +3 -0
  295. package/dist/testing/steps/assert/jsonpath.step.d.ts.map +1 -0
  296. package/dist/testing/steps/assert/jsonpath.step.js +40 -0
  297. package/dist/testing/steps/assert/jsonpath.step.js.map +1 -0
  298. package/dist/testing/steps/assert/primitives.step.d.ts +3 -0
  299. package/dist/testing/steps/assert/primitives.step.d.ts.map +1 -0
  300. package/dist/testing/steps/assert/primitives.step.js +43 -0
  301. package/dist/testing/steps/assert/primitives.step.js.map +1 -0
  302. package/dist/testing/steps/test/index.d.ts +3 -0
  303. package/dist/testing/steps/test/index.d.ts.map +1 -0
  304. package/dist/testing/steps/test/index.js +8 -0
  305. package/dist/testing/steps/test/index.js.map +1 -0
  306. package/dist/testing/steps/test/test-spec.step.d.ts +3 -0
  307. package/dist/testing/steps/test/test-spec.step.d.ts.map +1 -0
  308. package/dist/testing/steps/test/test-spec.step.js +41 -0
  309. package/dist/testing/steps/test/test-spec.step.js.map +1 -0
  310. package/dist/testing/steps/ui/actions.step.d.ts +3 -0
  311. package/dist/testing/steps/ui/actions.step.d.ts.map +1 -0
  312. package/dist/testing/steps/ui/actions.step.js +31 -0
  313. package/dist/testing/steps/ui/actions.step.js.map +1 -0
  314. package/dist/testing/steps/ui/assertions.step.d.ts +3 -0
  315. package/dist/testing/steps/ui/assertions.step.d.ts.map +1 -0
  316. package/dist/testing/steps/ui/assertions.step.js +41 -0
  317. package/dist/testing/steps/ui/assertions.step.js.map +1 -0
  318. package/dist/testing/steps/ui/form.step.d.ts +3 -0
  319. package/dist/testing/steps/ui/form.step.d.ts.map +1 -0
  320. package/dist/testing/steps/ui/form.step.js +34 -0
  321. package/dist/testing/steps/ui/form.step.js.map +1 -0
  322. package/dist/testing/steps/ui/index.d.ts +3 -0
  323. package/dist/testing/steps/ui/index.d.ts.map +1 -0
  324. package/dist/testing/steps/ui/index.js +14 -0
  325. package/dist/testing/steps/ui/index.js.map +1 -0
  326. package/dist/testing/steps/ui/navigation.step.d.ts +3 -0
  327. package/dist/testing/steps/ui/navigation.step.d.ts.map +1 -0
  328. package/dist/testing/steps/ui/navigation.step.js +39 -0
  329. package/dist/testing/steps/ui/navigation.step.js.map +1 -0
  330. package/dist/testing/steps/util/index.d.ts +3 -0
  331. package/dist/testing/steps/util/index.d.ts.map +1 -0
  332. package/dist/testing/steps/util/index.js +12 -0
  333. package/dist/testing/steps/util/index.js.map +1 -0
  334. package/dist/testing/steps/util/log.step.d.ts +3 -0
  335. package/dist/testing/steps/util/log.step.d.ts.map +1 -0
  336. package/dist/testing/steps/util/log.step.js +18 -0
  337. package/dist/testing/steps/util/log.step.js.map +1 -0
  338. package/dist/testing/steps/util/require.step.d.ts +3 -0
  339. package/dist/testing/steps/util/require.step.d.ts.map +1 -0
  340. package/dist/testing/steps/util/require.step.js +16 -0
  341. package/dist/testing/steps/util/require.step.js.map +1 -0
  342. package/dist/testing/steps/util/sleep.step.d.ts +3 -0
  343. package/dist/testing/steps/util/sleep.step.d.ts.map +1 -0
  344. package/dist/testing/steps/util/sleep.step.js +13 -0
  345. package/dist/testing/steps/util/sleep.step.js.map +1 -0
  346. package/docs/test-data-workflow.md +51 -11
  347. package/package.json +10 -2
  348. package/src/commands/run-tests.command.ts +278 -0
  349. package/src/commands/test-data.command.ts +26 -26
  350. package/src/commands/test.command.ts +14 -0
  351. package/src/constants/error-messages.ts +1 -0
  352. package/src/constants.ts +3 -3
  353. package/src/controllers/role-metadata.controller.ts +26 -18
  354. package/src/controllers/service.controller.ts +58 -59
  355. package/src/dtos/basic-filters.dto.ts +0 -2
  356. package/src/dtos/create-email-template.dto.ts +7 -0
  357. package/src/dtos/create-list-of-values.dto.ts +7 -0
  358. package/src/dtos/create-menu-item-metadata.dto.ts +12 -1
  359. package/src/dtos/create-role-metadata.dto.ts +9 -0
  360. package/src/dtos/create-scheduled-job.dto.ts +14 -0
  361. package/src/dtos/create-security-rule.dto.ts +6 -0
  362. package/src/dtos/create-sms-template.dto.ts +6 -0
  363. package/src/dtos/create-user.dto.ts +1 -0
  364. package/src/dtos/create-view-metadata.dto.ts +11 -0
  365. package/src/dtos/otp-sign-in.dto.ts +3 -3
  366. package/src/dtos/otp-sign-up.dto.ts +3 -3
  367. package/src/dtos/resolve-s3-url.dto.ts +2 -12
  368. package/src/dtos/sign-up.dto.ts +0 -2
  369. package/src/dtos/update-email-template.dto.ts +6 -0
  370. package/src/dtos/update-list-of-values.dto.ts +8 -0
  371. package/src/dtos/update-menu-item-metadata.dto.ts +12 -0
  372. package/src/dtos/update-scheduled-job.dto.ts +15 -0
  373. package/src/dtos/update-security-rule.dto.ts +7 -0
  374. package/src/dtos/update-sms-template.dto.ts +32 -32
  375. package/src/dtos/update-view-metadata.dto.ts +12 -0
  376. package/src/entities/user.entity.ts +3 -0
  377. package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +43 -32
  378. package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +45 -33
  379. package/src/helpers/security.helper.ts +1 -1
  380. package/src/index.ts +3 -4
  381. package/src/repository/solid-base.repository.ts +172 -1
  382. package/src/seeders/module-metadata-seeder.service.ts +191 -150
  383. package/src/seeders/module-test-data.service.ts +5 -3
  384. package/src/seeders/permission-metadata-seeder.service.ts +1 -4
  385. package/src/seeders/seed-data/solid-core-metadata.json +12 -25
  386. package/src/services/authentication.service.ts +268 -266
  387. package/src/services/chatter-message.service.ts +18 -1
  388. package/src/services/crud-helper.service.ts +79 -36
  389. package/src/services/crud.service.ts +10 -4
  390. package/src/services/field-metadata.service.ts +0 -71
  391. package/src/services/file/disk-file.service.ts +8 -18
  392. package/src/services/file/index.ts +1 -0
  393. package/src/services/file/storage-path-builder.ts +56 -0
  394. package/src/services/media.service.ts +13 -7
  395. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +1 -1
  396. package/src/services/mediaStorageProviders/file-storage-provider.ts +13 -8
  397. package/src/services/module-metadata.service.ts +18 -15
  398. package/src/services/queues/common.ts +75 -0
  399. package/src/services/queues/database-publisher.service.ts +4 -1
  400. package/src/services/queues/database-subscriber.service.ts +5 -3
  401. package/src/services/queues/rabbitmq-publisher.service.ts +17 -7
  402. package/src/services/queues/rabbitmq-subscriber.service.ts +9 -5
  403. package/src/services/setting.service.ts +5 -3
  404. package/src/services/settings/default-settings-provider.service.ts +5 -3
  405. package/src/solid-core.module.ts +20 -12
  406. package/src/testing/README.md +364 -0
  407. package/src/testing/__examples__/register-example-specs.ts +6 -0
  408. package/src/testing/__examples__/specs/custom-health.spec.ts +29 -0
  409. package/src/testing/__examples__/testing.sample.json +82 -0
  410. package/src/testing/adapters/api/api-adapter.ts +85 -0
  411. package/src/testing/adapters/api/api.types.ts +15 -0
  412. package/src/testing/adapters/ui/playwright-adapter.ts +54 -0
  413. package/src/testing/adapters/ui/ui.types.ts +4 -0
  414. package/src/testing/contracts/runtime-context.types.ts +36 -0
  415. package/src/testing/contracts/test-spec.types.ts +24 -0
  416. package/src/testing/contracts/testing-metadata.types.ts +46 -0
  417. package/src/testing/core/interpolation.ts +189 -0
  418. package/src/testing/core/normalize-steps.ts +21 -0
  419. package/src/testing/core/resource-store.ts +38 -0
  420. package/src/testing/core/spec-registry.ts +33 -0
  421. package/src/testing/core/step-registry.ts +27 -0
  422. package/src/testing/core/testing-engine.ts +127 -0
  423. package/src/testing/core/timeout.ts +19 -0
  424. package/src/testing/reporter/attachments.ts +25 -0
  425. package/src/testing/reporter/console-reporter.ts +229 -0
  426. package/src/testing/reporter/reporter.types.ts +36 -0
  427. package/src/testing/runner/lifecycle.ts +31 -0
  428. package/src/testing/runner/run-from-metadata.ts +87 -0
  429. package/src/testing/runner/scenario-filter.ts +33 -0
  430. package/src/testing/steps/api/auth.step.ts +66 -0
  431. package/src/testing/steps/api/index.ts +10 -0
  432. package/src/testing/steps/api/request.step.ts +358 -0
  433. package/src/testing/steps/assert/http.step.ts +33 -0
  434. package/src/testing/steps/assert/index.ts +12 -0
  435. package/src/testing/steps/assert/jsonpath.step.ts +50 -0
  436. package/src/testing/steps/assert/primitives.step.ts +69 -0
  437. package/src/testing/steps/test/index.ts +8 -0
  438. package/src/testing/steps/test/test-spec.step.ts +52 -0
  439. package/src/testing/steps/ui/actions.step.ts +36 -0
  440. package/src/testing/steps/ui/assertions.step.ts +54 -0
  441. package/src/testing/steps/ui/form.step.ts +39 -0
  442. package/src/testing/steps/ui/index.ts +12 -0
  443. package/src/testing/steps/ui/navigation.step.ts +53 -0
  444. package/src/testing/steps/util/index.ts +10 -0
  445. package/src/testing/steps/util/log.step.ts +19 -0
  446. package/src/testing/steps/util/require.step.ts +16 -0
  447. package/src/testing/steps/util/sleep.step.ts +15 -0
  448. package/tsconfig.json +35 -25
  449. package/tsconfig.tests.json +14 -0
  450. package/dist/passport-strategies/local.strategy.d.ts +0 -15
  451. package/dist/passport-strategies/local.strategy.d.ts.map +0 -1
  452. package/dist/passport-strategies/local.strategy.js +0 -44
  453. package/dist/passport-strategies/local.strategy.js.map +0 -1
  454. package/dist/seeders/email-template-seeder.service.d.ts +0 -10
  455. package/dist/seeders/email-template-seeder.service.d.ts.map +0 -1
  456. package/dist/seeders/email-template-seeder.service.js +0 -84
  457. package/dist/seeders/email-template-seeder.service.js.map +0 -1
  458. package/dist/seeders/sms-template-seeder.service.d.ts +0 -10
  459. package/dist/seeders/sms-template-seeder.service.d.ts.map +0 -1
  460. package/dist/seeders/sms-template-seeder.service.js.map +0 -1
  461. package/dist/seeders/user-seeder.service.d.ts +0 -10
  462. package/dist/seeders/user-seeder.service.d.ts.map +0 -1
  463. package/dist/seeders/user-seeder.service.js +0 -44
  464. package/dist/seeders/user-seeder.service.js.map +0 -1
  465. package/dist/tsconfig.tsbuildinfo +0 -1
  466. package/src/passport-strategies/local.strategy.ts +0 -28
  467. package/src/seeders/email-template-seeder.service.ts +0 -49
  468. package/src/seeders/sms-template-seeder.service.ts +0 -50
  469. package/src/seeders/user-seeder.service.ts +0 -33
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'\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'\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":"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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"solid-base.repository.js","sourceRoot":"","sources":["../../src/repository/solid-base.repository.ts"],"names":[],"mappings":";;;AAAA,oEAAkE;AAClE,2CAAwC;AAExC,6EAAmE;AAGnE,qCAUiB;AAGjB,MAAa,mBAA4C,SAAQ,oBAAa;IAG1E,YACI,MAAuB,EACvB,UAAsB,EACH,qBAAmD,EACnD,sBAAqD;QAExE,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAH7B,0BAAqB,GAArB,qBAAqB,CAA8B;QACnD,2BAAsB,GAAtB,sBAAsB,CAA+B;QAGxE,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB;QACb,OAAO,IAAA,kBAAQ,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,YAA6B;QAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qCAAa,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE;YAC1C,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sCAAsC,iBAAiB,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,EAAyB,CAAC,CAAC;IAClG,CAAC;IAEQ,kBAAkB,CAAC,KAAc,EAAE,WAAyB;QACjE,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,mCAAmC,CAAC,KAAc,EAAE,WAAyB;QAC/E,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAExD,IAAI,CAAC,IAAI,CAAC,sBAAsB;YAAE,OAAO,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,qBAAqB;YAAE,OAAO,EAAE,CAAC;QAE3C,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;QACzE,IAAI,CAAC,qBAAqB;YAAE,OAAO,EAAE,CAAC;QAEtC,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CACvD,EAAE,EACF,IAAI,CAAC,iBAAiB,EAAE,EACxB,qBAAuC,CAC1C,CAAC;IACN,CAAC;IAMQ,KAAK,CAAC,OAAO,CAAC,OAA2B;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC;QAEjE,IAAI,OAAO,EAAE,CAAC;YAEV,IAAI,OAAO;gBAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAKQ,KAAK,CAAC,SAAS,CAAC,KAAkD;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACnC,CAAC;IAKQ,KAAK,CAAC,aAAa,CAAC,OAA2B;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,6BAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAMQ,KAAK,CAAC,IAAI,CAAC,OAA4B;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC;QAEjE,IAAI,OAAO,EAAE,CAAC;YACV,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAMQ,KAAK,CAAC,YAAY,CAAC,OAA4B;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC;QAEjE,IAAI,OAAO,EAAE,CAAC;YACV,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;CACJ;AAnHD,kDAmHC","sourcesContent":["import { camelize } from '@angular-devkit/core/src/utils/strings';\nimport { Logger } from '@nestjs/common';\nimport { CommonEntity } from 'src/entities/common.entity';\nimport { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { ActiveUserData } from 'src/interfaces/active-user-data.interface';\nimport { RequestContextService } from 'src/services/request-context.service';\nimport {\n DataSource,\n EntityNotFoundError,\n EntityTarget,\n FindManyOptions,\n FindOneOptions,\n FindOptionsWhere,\n QueryRunner,\n Repository,\n SelectQueryBuilder\n} from 'typeorm';\nimport { SecurityRuleRepository } from './security-rule.repository';\n\nexport class SolidBaseRepository<T extends CommonEntity> extends Repository<T> {\n protected readonly logger: Logger;\n\n constructor(\n entity: EntityTarget<T>,\n dataSource: DataSource,\n protected readonly requestContextService: RequestContextService | null,\n protected readonly securityRuleRepository: SecurityRuleRepository | null,\n ) {\n super(entity, dataSource.createEntityManager());\n this.logger = new Logger(this.constructor.name);\n }\n\n modelSingularName(): string {\n return camelize(this.metadata.name);\n }\n\n async findOneByUserKey(userKeyValue: string | number): Promise<T | null> {\n const modelSingularName = this.modelSingularName();\n const modelMetaRepo = this.manager.getRepository(ModelMetadata);\n const modelMeta = await modelMetaRepo.findOne({\n where: { singularName: modelSingularName },\n relations: { userKeyField: true },\n });\n\n if (!modelMeta?.userKeyField?.name) {\n throw new Error(`User key field not found for model ${modelSingularName}`);\n }\n\n return this.findOneBy({ [modelMeta.userKeyField.name]: userKeyValue } as FindOptionsWhere<T>);\n }\n\n override createQueryBuilder(alias?: string, queryRunner?: QueryRunner): SelectQueryBuilder<T> {\n throw new Error('createQueryBuilder() is disabled. Use createSecurityRuleAwareQueryBuilder instead');\n }\n\n async createSecurityRuleAwareQueryBuilder(alias?: string, queryRunner?: QueryRunner): Promise<SelectQueryBuilder<T>> {\n const qb = super.createQueryBuilder(alias, queryRunner);\n\n if (!this.securityRuleRepository) return qb;\n if (!this.requestContextService) return qb;\n\n const activeUserOrUndefined = this.requestContextService.getActiveUser();\n if (!activeUserOrUndefined) return qb;\n\n return await this.securityRuleRepository.applySecurityRules(\n qb,\n this.modelSingularName(),\n activeUserOrUndefined as ActiveUserData\n );\n }\n\n /**\n * Security-aware findOne: applies FindOneOptions via FindOptionsUtils,\n * but builds from our security-wrapped QueryBuilder.\n */\n override async findOne(options?: FindOneOptions<T>): Promise<T | null> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n if (options) {\n // Apply all standard find options (relations, selects, order, where, etc.)\n if (options) qb.setFindOptions(options); // <- applies where, relations, select, order, etc.\n }\n\n return qb.getOne();\n }\n\n /**\n * Convenience: route findOneBy through the same path so rules apply.\n */\n override async findOneBy(where: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<T | null> {\n return this.findOne({ where });\n }\n\n /**\n * Optional: an OrFail that still honors security rules.\n */\n override async findOneOrFail(options?: FindOneOptions<T>): Promise<T> {\n const entity = await this.findOne(options);\n if (!entity) {\n throw new EntityNotFoundError(this.metadata.target, options?.where ?? {});\n }\n return entity;\n }\n\n /**\n * Security-aware find(): builds from our secured QB and preserves all FindManyOptions\n * (where, relations, select, order, take/skip, withDeleted, etc.).\n */\n override async find(options?: FindManyOptions<T>): Promise<T[]> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n if (options) {\n qb.setFindOptions(options);\n }\n\n return qb.getMany();\n }\n\n /**\n * (Optional) Security-aware findAndCount(): same as find(), plus a total count.\n * Mirrors Repository.findAndCount semantics.\n */\n override async findAndCount(options?: FindManyOptions<T>): Promise<[T[], number]> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n if (options) {\n qb.setFindOptions(options);\n }\n\n return qb.getManyAndCount();\n }\n}\n"]}
1
+ {"version":3,"file":"solid-base.repository.js","sourceRoot":"","sources":["../../src/repository/solid-base.repository.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelize } from '@angular-devkit/core/src/utils/strings';\nimport { Logger } from '@nestjs/common';\nimport { CommonEntity } from 'src/entities/common.entity';\nimport { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { ActiveUserData } from 'src/interfaces/active-user-data.interface';\nimport { RequestContextService } from 'src/services/request-context.service';\nimport {\n DataSource,\n EntityNotFoundError,\n EntityTarget,\n FindManyOptions,\n FindOneOptions,\n FindOptionsWhere,\n QueryRunner,\n Repository,\n SelectQueryBuilder,\n UpdateResult\n} from 'typeorm';\nimport { SecurityRuleRepository } from './security-rule.repository';\nimport { PickKeysByType } from 'typeorm/common/PickKeysByType';\n\nexport class SolidBaseRepository<T extends CommonEntity> extends Repository<T> {\n protected readonly logger: Logger;\n\n constructor(\n entity: EntityTarget<T>,\n dataSource: DataSource,\n protected readonly requestContextService: RequestContextService | null,\n protected readonly securityRuleRepository: SecurityRuleRepository | null,\n ) {\n super(entity, dataSource.createEntityManager());\n this.logger = new Logger(this.constructor.name);\n }\n\n modelSingularName(): string {\n return camelize(this.metadata.name);\n }\n\n async findOneByUserKey(userKeyValue: string | number): Promise<T | null> {\n const modelSingularName = this.modelSingularName();\n const modelMetaRepo = this.manager.getRepository(ModelMetadata);\n const modelMeta = await modelMetaRepo.findOne({\n where: { singularName: modelSingularName },\n relations: { userKeyField: true },\n });\n\n if (!modelMeta?.userKeyField?.name) {\n throw new Error(`User key field not found for model ${modelSingularName}`);\n }\n\n return this.findOneBy({ [modelMeta.userKeyField.name]: userKeyValue } as FindOptionsWhere<T>);\n }\n\n override createQueryBuilder(alias?: string, queryRunner?: QueryRunner): SelectQueryBuilder<T> {\n throw new Error('createQueryBuilder() is disabled. Use createSecurityRuleAwareQueryBuilder instead');\n }\n\n async createSecurityRuleAwareQueryBuilder(alias?: string, queryRunner?: QueryRunner): Promise<SelectQueryBuilder<T>> {\n const qb = super.createQueryBuilder(alias, queryRunner);\n\n if (!this.securityRuleRepository) return qb;\n if (!this.requestContextService) return qb;\n\n const activeUserOrUndefined = this.requestContextService.getActiveUser();\n if (!activeUserOrUndefined) return qb;\n\n return await this.securityRuleRepository.applySecurityRules(\n qb,\n this.modelSingularName(),\n activeUserOrUndefined as ActiveUserData\n );\n }\n\n /**\n * Security-aware findOne: applies FindOneOptions via FindOptionsUtils,\n * but builds from our security-wrapped QueryBuilder.\n */\n override async findOne(options?: FindOneOptions<T>): Promise<T | null> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n if (options) {\n // Apply all standard find options (relations, selects, order, where, etc.)\n if (options) qb.setFindOptions(options); // <- applies where, relations, select, order, etc.\n }\n\n return qb.getOne();\n }\n\n /**\n * Convenience: route findOneBy through the same path so rules apply.\n */\n override async findOneBy(where: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<T | null> {\n return this.findOne({ where });\n }\n\n /**\n * Optional: an OrFail that still honors security rules.\n */\n override async findOneOrFail(options?: FindOneOptions<T>): Promise<T> {\n const entity = await this.findOne(options);\n if (!entity) {\n throw new EntityNotFoundError(this.metadata.target, options?.where ?? {});\n }\n return entity;\n }\n\n /**\n * Security-aware find(): builds from our secured QB and preserves all FindManyOptions\n * (where, relations, select, order, take/skip, withDeleted, etc.).\n */\n override async find(options?: FindManyOptions<T>): Promise<T[]> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n if (options) {\n qb.setFindOptions(options);\n }\n\n return qb.getMany();\n }\n\n /**\n * (Optional) Security-aware findAndCount(): same as find(), plus a total count.\n * Mirrors Repository.findAndCount semantics.\n */\n override async findAndCount(options?: FindManyOptions<T>): Promise<[T[], number]> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n if (options) {\n qb.setFindOptions(options);\n }\n\n return qb.getManyAndCount();\n }\n\n /**\n * Security-aware count(): applies security rules before counting.\n */\n override async count(options?: FindManyOptions<T>): Promise<number> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n if (options) {\n qb.setFindOptions(options);\n }\n\n return qb.getCount();\n }\n\n /**\n * Security-aware countBy(): convenience wrapper routed through count().\n */\n override async countBy(where: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<number> {\n return this.count({ where });\n }\n\n /**\n * Security-aware average(): applies security rules before computing the average.\n */\n override async average(columnName: PickKeysByType<T, number>, where?: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<number | null> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n if (where) {\n qb.setFindOptions({ where });\n }\n\n const result = await qb\n .select(`AVG(CAST(${alias}.${String(columnName)} AS FLOAT))`, 'avg')\n .getRawOne<{ avg: string | number | null }>();\n\n if (result?.avg === null || result?.avg === undefined) {\n return null;\n }\n\n return typeof result.avg === 'number'\n ? result.avg\n : parseFloat(result.avg);\n }\n\n /**\n * Security-aware sum(): applies security rules before computing the sum.\n */\n override async sum(columnName: PickKeysByType<T, number>, where?: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<number | null> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n if (where) {\n qb.setFindOptions({ where });\n }\n\n const result = await qb\n .select(`SUM(CAST(${alias}.${String(columnName)} AS FLOAT))`, 'sum')\n .getRawOne<{ sum: string | number | null }>();\n\n if (result?.sum === null || result?.sum === undefined) {\n return null;\n }\n\n return typeof result.sum === 'number'\n ? result.sum\n : parseFloat(result.sum);\n }\n\n /**\n * Security-aware minimum(): applies security rules before computing the minimum.\n */\n override async minimum(columnName: PickKeysByType<T, number>, where?: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<number | null> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n if (where) {\n qb.setFindOptions({ where });\n }\n\n const result = await qb\n .select(`MIN(CAST(${alias}.${String(columnName)} AS FLOAT))`, 'min')\n .getRawOne<{ min: string | number | null }>();\n\n if (result?.min === null || result?.min === undefined) {\n return null;\n }\n\n return typeof result.min === 'number'\n ? result.min\n : parseFloat(result.min);\n }\n\n /**\n * Security-aware maximum(): applies security rules before computing the maximum.\n */\n override async maximum(columnName: PickKeysByType<T, number>, where?: FindOptionsWhere<T> | FindOptionsWhere<T>[]): Promise<number | null> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n if (where) {\n qb.setFindOptions({ where });\n }\n\n const result = await qb\n .select(`MAX(CAST(${alias}.${String(columnName)} AS FLOAT))`, 'max')\n .getRawOne<{ max: string | number | null }>();\n\n if (result?.max === null || result?.max === undefined) {\n return null;\n }\n\n return typeof result.max === 'number'\n ? result.max\n : parseFloat(result.max);\n }\n\n /**\n * Security-aware increment(): increments a column by a given value for all matching rows.\n * Security rules are applied to determine which rows the user is allowed to modify.\n */\n override async increment(where: FindOptionsWhere<T>, propertyPath: string, value: string | number,): Promise<UpdateResult> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n qb.setFindOptions({ where });\n\n const rows = await qb.select(`${alias}.id`).getMany();\n const ids = rows.map((r) => (r as any).id);\n\n if (ids.length === 0) {\n return { raw: [], affected: 0, generatedMaps: [] };\n }\n\n return this.manager\n .createQueryBuilder()\n .update(this.metadata.target)\n .set({ [propertyPath]: () => `${propertyPath} + :value` } as any)\n .whereInIds(ids)\n .setParameter('value', value)\n .execute();\n }\n\n /**\n * Security-aware decrement(): decrements a column by a given value for all matching rows.\n * Security rules are applied to determine which rows the user is allowed to modify.\n */\n override async decrement(where: FindOptionsWhere<T>, propertyPath: string, value: string | number,): Promise<UpdateResult> {\n const alias = this.modelSingularName();\n const qb = await this.createSecurityRuleAwareQueryBuilder(alias);\n\n qb.setFindOptions({ where });\n\n const rows = await qb.select(`${alias}.id`).getMany();\n const ids = rows.map((r) => (r as any).id);\n\n if (ids.length === 0) {\n return { raw: [], affected: 0, generatedMaps: [] };\n }\n\n return this.manager\n .createQueryBuilder()\n .update(this.metadata.target)\n .set({ [propertyPath]: () => `${propertyPath} - :value` } as any)\n .whereInIds(ids)\n .setParameter('value', value)\n .execute();\n }\n}\n"]}
@@ -81,6 +81,7 @@ export declare class ModuleMetadataSeederService {
81
81
  private handleSeedDashboards;
82
82
  private handleSeedScheduledJobs;
83
83
  private handleSeedSavedFilters;
84
+ private validateSavedFilterQueryJsonWrapper;
84
85
  private handleSeedModelSequences;
85
86
  private pruneModelSequences;
86
87
  private pruneSavedFilters;
@@ -95,6 +96,7 @@ export declare class ModuleMetadataSeederService {
95
96
  private pruneModels;
96
97
  private getRolePermissionJoinInfo;
97
98
  private prunePermissions;
99
+ private logSeedFailureForCli;
98
100
  private formatSeedResult;
99
101
  }
100
102
  //# sourceMappingURL=module-metadata-seeder.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/module-metadata-seeder.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/module-metadata-seeder.service.ts"],"names":[],"mappings":"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"}