@solidxai/core 0.1.13-beta.0 → 0.1.13-beta.10

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 (670) hide show
  1. package/CHANGELOG.md +3786 -0
  2. package/dist/commands/run-tests.command.d.ts +7 -1
  3. package/dist/commands/run-tests.command.d.ts.map +1 -1
  4. package/dist/commands/run-tests.command.js +49 -3
  5. package/dist/commands/run-tests.command.js.map +1 -1
  6. package/dist/commands/seed.command.d.ts +2 -0
  7. package/dist/commands/seed.command.d.ts.map +1 -1
  8. package/dist/commands/seed.command.js +21 -0
  9. package/dist/commands/seed.command.js.map +1 -1
  10. package/dist/constants/chatter-message.constants.d.ts +1 -0
  11. package/dist/constants/chatter-message.constants.d.ts.map +1 -1
  12. package/dist/constants/chatter-message.constants.js +3 -1
  13. package/dist/constants/chatter-message.constants.js.map +1 -1
  14. package/dist/constants/draft-publish-fields.d.ts +2 -0
  15. package/dist/constants/draft-publish-fields.d.ts.map +1 -0
  16. package/dist/constants/draft-publish-fields.js +5 -0
  17. package/dist/constants/draft-publish-fields.js.map +1 -0
  18. package/dist/constants/media-file-types.d.ts +9 -0
  19. package/dist/constants/media-file-types.d.ts.map +1 -1
  20. package/dist/constants/media-file-types.js +27 -1
  21. package/dist/constants/media-file-types.js.map +1 -1
  22. package/dist/constants/user.constants.d.ts +2 -0
  23. package/dist/constants/user.constants.d.ts.map +1 -0
  24. package/dist/constants/user.constants.js +5 -0
  25. package/dist/constants/user.constants.js.map +1 -0
  26. package/dist/controllers/action-metadata.controller.d.ts +1 -1
  27. package/dist/controllers/action-metadata.controller.js +1 -1
  28. package/dist/controllers/agent-event.controller.d.ts +1 -1
  29. package/dist/controllers/agent-event.controller.js +1 -1
  30. package/dist/controllers/agent-session.controller.d.ts +1 -1
  31. package/dist/controllers/agent-session.controller.js +1 -1
  32. package/dist/controllers/chatter-message.controller.d.ts +5 -0
  33. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  34. package/dist/controllers/chatter-message.controller.js +14 -0
  35. package/dist/controllers/chatter-message.controller.js.map +1 -1
  36. package/dist/controllers/dashboard-user-layout.controller.d.ts +1 -1
  37. package/dist/controllers/dashboard-user-layout.controller.js +1 -1
  38. package/dist/controllers/email-template.controller.d.ts +1 -1
  39. package/dist/controllers/email-template.controller.js +1 -1
  40. package/dist/controllers/export-template.controller.d.ts +1 -1
  41. package/dist/controllers/export-template.controller.d.ts.map +1 -1
  42. package/dist/controllers/export-template.controller.js +6 -4
  43. package/dist/controllers/export-template.controller.js.map +1 -1
  44. package/dist/controllers/export-transaction.controller.d.ts +1 -1
  45. package/dist/controllers/export-transaction.controller.js +1 -1
  46. package/dist/controllers/import-transaction-error-log.controller.d.ts +1 -1
  47. package/dist/controllers/import-transaction-error-log.controller.js +1 -1
  48. package/dist/controllers/import-transaction.controller.d.ts +1 -1
  49. package/dist/controllers/import-transaction.controller.d.ts.map +1 -1
  50. package/dist/controllers/import-transaction.controller.js +7 -7
  51. package/dist/controllers/import-transaction.controller.js.map +1 -1
  52. package/dist/controllers/list-of-values.controller.d.ts +1 -1
  53. package/dist/controllers/list-of-values.controller.js +1 -1
  54. package/dist/controllers/locale.controller.d.ts +1 -1
  55. package/dist/controllers/locale.controller.js +1 -1
  56. package/dist/controllers/mcp-audit-log.controller.d.ts +1 -1
  57. package/dist/controllers/mcp-audit-log.controller.js +1 -1
  58. package/dist/controllers/media.controller.d.ts +2 -2
  59. package/dist/controllers/media.controller.d.ts.map +1 -1
  60. package/dist/controllers/media.controller.js +13 -8
  61. package/dist/controllers/media.controller.js.map +1 -1
  62. package/dist/controllers/menu-item-metadata.controller.d.ts +1 -1
  63. package/dist/controllers/menu-item-metadata.controller.js +1 -1
  64. package/dist/controllers/model-sequence.controller.d.ts +1 -1
  65. package/dist/controllers/model-sequence.controller.js +1 -1
  66. package/dist/controllers/module-package.controller.d.ts.map +1 -1
  67. package/dist/controllers/module-package.controller.js +2 -3
  68. package/dist/controllers/module-package.controller.js.map +1 -1
  69. package/dist/controllers/mq-message-queue.controller.d.ts +1 -1
  70. package/dist/controllers/mq-message-queue.controller.js +1 -1
  71. package/dist/controllers/mq-message.controller.d.ts +1 -1
  72. package/dist/controllers/mq-message.controller.js +1 -1
  73. package/dist/controllers/permission-metadata.controller.d.ts +1 -1
  74. package/dist/controllers/permission-metadata.controller.js +1 -1
  75. package/dist/controllers/role-metadata.controller.d.ts +1 -1
  76. package/dist/controllers/role-metadata.controller.js +1 -1
  77. package/dist/controllers/saved-filters.controller.d.ts +1 -1
  78. package/dist/controllers/saved-filters.controller.js +1 -1
  79. package/dist/controllers/scheduled-job.controller.d.ts +1 -1
  80. package/dist/controllers/scheduled-job.controller.js +1 -1
  81. package/dist/controllers/security-rule.controller.d.ts +1 -1
  82. package/dist/controllers/security-rule.controller.js +1 -1
  83. package/dist/controllers/sms-template.controller.d.ts +1 -1
  84. package/dist/controllers/sms-template.controller.js +1 -1
  85. package/dist/controllers/user-activity-history.controller.d.ts +1 -1
  86. package/dist/controllers/user-activity-history.controller.js +1 -1
  87. package/dist/controllers/user-view-metadata.controller.d.ts +1 -1
  88. package/dist/controllers/user-view-metadata.controller.js +1 -1
  89. package/dist/controllers/user.controller.d.ts +2 -2
  90. package/dist/controllers/user.controller.js +2 -2
  91. package/dist/controllers/view-metadata.controller.d.ts +2 -2
  92. package/dist/controllers/view-metadata.controller.js +1 -1
  93. package/dist/controllers/workflow-definition.controller.d.ts +38 -0
  94. package/dist/controllers/workflow-definition.controller.d.ts.map +1 -0
  95. package/dist/controllers/workflow-definition.controller.js +272 -0
  96. package/dist/controllers/workflow-definition.controller.js.map +1 -0
  97. package/dist/controllers/workflow-execution-artifact.controller.d.ts +24 -0
  98. package/dist/controllers/workflow-execution-artifact.controller.d.ts.map +1 -0
  99. package/dist/controllers/workflow-execution-artifact.controller.js +179 -0
  100. package/dist/controllers/workflow-execution-artifact.controller.js.map +1 -0
  101. package/dist/controllers/workflow-execution-log.controller.d.ts +24 -0
  102. package/dist/controllers/workflow-execution-log.controller.d.ts.map +1 -0
  103. package/dist/controllers/workflow-execution-log.controller.js +179 -0
  104. package/dist/controllers/workflow-execution-log.controller.js.map +1 -0
  105. package/dist/controllers/workflow-execution.controller.d.ts +29 -0
  106. package/dist/controllers/workflow-execution.controller.d.ts.map +1 -0
  107. package/dist/controllers/workflow-execution.controller.js +227 -0
  108. package/dist/controllers/workflow-execution.controller.js.map +1 -0
  109. package/dist/controllers/workflow-secret.controller.d.ts +24 -0
  110. package/dist/controllers/workflow-secret.controller.d.ts.map +1 -0
  111. package/dist/controllers/workflow-secret.controller.js +179 -0
  112. package/dist/controllers/workflow-secret.controller.js.map +1 -0
  113. package/dist/controllers/workflow-step-execution.controller.d.ts +24 -0
  114. package/dist/controllers/workflow-step-execution.controller.d.ts.map +1 -0
  115. package/dist/controllers/workflow-step-execution.controller.js +179 -0
  116. package/dist/controllers/workflow-step-execution.controller.js.map +1 -0
  117. package/dist/controllers/workflow-trigger-execution.controller.d.ts +24 -0
  118. package/dist/controllers/workflow-trigger-execution.controller.d.ts.map +1 -0
  119. package/dist/controllers/workflow-trigger-execution.controller.js +179 -0
  120. package/dist/controllers/workflow-trigger-execution.controller.js.map +1 -0
  121. package/dist/decorators/workflow-node-provider.decorator.d.ts +4 -0
  122. package/dist/decorators/workflow-node-provider.decorator.d.ts.map +1 -0
  123. package/dist/decorators/workflow-node-provider.decorator.js +13 -0
  124. package/dist/decorators/workflow-node-provider.decorator.js.map +1 -0
  125. package/dist/dtos/basic-filters.dto.d.ts +0 -1
  126. package/dist/dtos/basic-filters.dto.d.ts.map +1 -1
  127. package/dist/dtos/basic-filters.dto.js +1 -6
  128. package/dist/dtos/basic-filters.dto.js.map +1 -1
  129. package/dist/dtos/create-workflow-definition.dto.d.ts +14 -0
  130. package/dist/dtos/create-workflow-definition.dto.d.ts.map +1 -0
  131. package/dist/dtos/create-workflow-definition.dto.js +92 -0
  132. package/dist/dtos/create-workflow-definition.dto.js.map +1 -0
  133. package/dist/dtos/create-workflow-execution-artifact.dto.d.ts +22 -0
  134. package/dist/dtos/create-workflow-execution-artifact.dto.d.ts.map +1 -0
  135. package/dist/dtos/create-workflow-execution-artifact.dto.js +139 -0
  136. package/dist/dtos/create-workflow-execution-artifact.dto.js.map +1 -0
  137. package/dist/dtos/create-workflow-execution-log.dto.d.ts +18 -0
  138. package/dist/dtos/create-workflow-execution-log.dto.d.ts.map +1 -0
  139. package/dist/dtos/create-workflow-execution-log.dto.js +116 -0
  140. package/dist/dtos/create-workflow-execution-log.dto.js.map +1 -0
  141. package/dist/dtos/create-workflow-execution.dto.d.ts +33 -0
  142. package/dist/dtos/create-workflow-execution.dto.d.ts.map +1 -0
  143. package/dist/dtos/create-workflow-execution.dto.js +186 -0
  144. package/dist/dtos/create-workflow-execution.dto.js.map +1 -0
  145. package/dist/dtos/create-workflow-secret.dto.d.ts +11 -0
  146. package/dist/dtos/create-workflow-secret.dto.d.ts.map +1 -0
  147. package/dist/dtos/create-workflow-secret.dto.js +74 -0
  148. package/dist/dtos/create-workflow-secret.dto.js.map +1 -0
  149. package/dist/dtos/create-workflow-step-execution.dto.d.ts +27 -0
  150. package/dist/dtos/create-workflow-step-execution.dto.d.ts.map +1 -0
  151. package/dist/dtos/create-workflow-step-execution.dto.js +171 -0
  152. package/dist/dtos/create-workflow-step-execution.dto.js.map +1 -0
  153. package/dist/dtos/create-workflow-trigger-execution.dto.d.ts +25 -0
  154. package/dist/dtos/create-workflow-trigger-execution.dto.d.ts.map +1 -0
  155. package/dist/dtos/create-workflow-trigger-execution.dto.js +158 -0
  156. package/dist/dtos/create-workflow-trigger-execution.dto.js.map +1 -0
  157. package/dist/dtos/execute-workflow.dto.d.ts +7 -0
  158. package/dist/dtos/execute-workflow.dto.d.ts.map +1 -0
  159. package/dist/dtos/execute-workflow.dto.js +11 -0
  160. package/dist/dtos/execute-workflow.dto.js.map +1 -0
  161. package/dist/dtos/update-workflow-definition.dto.d.ts +15 -0
  162. package/dist/dtos/update-workflow-definition.dto.d.ts.map +1 -0
  163. package/dist/dtos/update-workflow-definition.dto.js +97 -0
  164. package/dist/dtos/update-workflow-definition.dto.js.map +1 -0
  165. package/dist/dtos/update-workflow-execution-artifact.dto.d.ts +23 -0
  166. package/dist/dtos/update-workflow-execution-artifact.dto.d.ts.map +1 -0
  167. package/dist/dtos/update-workflow-execution-artifact.dto.js +143 -0
  168. package/dist/dtos/update-workflow-execution-artifact.dto.js.map +1 -0
  169. package/dist/dtos/update-workflow-execution-log.dto.d.ts +19 -0
  170. package/dist/dtos/update-workflow-execution-log.dto.d.ts.map +1 -0
  171. package/dist/dtos/update-workflow-execution-log.dto.js +121 -0
  172. package/dist/dtos/update-workflow-execution-log.dto.js.map +1 -0
  173. package/dist/dtos/update-workflow-execution.dto.d.ts +34 -0
  174. package/dist/dtos/update-workflow-execution.dto.d.ts.map +1 -0
  175. package/dist/dtos/update-workflow-execution.dto.js +190 -0
  176. package/dist/dtos/update-workflow-execution.dto.js.map +1 -0
  177. package/dist/dtos/update-workflow-secret.dto.d.ts +12 -0
  178. package/dist/dtos/update-workflow-secret.dto.d.ts.map +1 -0
  179. package/dist/dtos/update-workflow-secret.dto.js +80 -0
  180. package/dist/dtos/update-workflow-secret.dto.js.map +1 -0
  181. package/dist/dtos/update-workflow-step-execution.dto.d.ts +28 -0
  182. package/dist/dtos/update-workflow-step-execution.dto.d.ts.map +1 -0
  183. package/dist/dtos/update-workflow-step-execution.dto.js +175 -0
  184. package/dist/dtos/update-workflow-step-execution.dto.js.map +1 -0
  185. package/dist/dtos/update-workflow-trigger-execution.dto.d.ts +26 -0
  186. package/dist/dtos/update-workflow-trigger-execution.dto.d.ts.map +1 -0
  187. package/dist/dtos/update-workflow-trigger-execution.dto.js +163 -0
  188. package/dist/dtos/update-workflow-trigger-execution.dto.js.map +1 -0
  189. package/dist/dtos/validate-workflow-definition.dto.d.ts +4 -0
  190. package/dist/dtos/validate-workflow-definition.dto.d.ts.map +1 -0
  191. package/dist/dtos/validate-workflow-definition.dto.js +11 -0
  192. package/dist/dtos/validate-workflow-definition.dto.js.map +1 -0
  193. package/dist/entities/common.entity.d.ts +4 -0
  194. package/dist/entities/common.entity.d.ts.map +1 -1
  195. package/dist/entities/common.entity.js +25 -1
  196. package/dist/entities/common.entity.js.map +1 -1
  197. package/dist/entities/user.entity.d.ts.map +1 -1
  198. package/dist/entities/user.entity.js +36 -0
  199. package/dist/entities/user.entity.js.map +1 -1
  200. package/dist/entities/workflow-definition.entity.d.ts +15 -0
  201. package/dist/entities/workflow-definition.entity.d.ts.map +1 -0
  202. package/dist/entities/workflow-definition.entity.js +77 -0
  203. package/dist/entities/workflow-definition.entity.js.map +1 -0
  204. package/dist/entities/workflow-execution-artifact.entity.d.ts +23 -0
  205. package/dist/entities/workflow-execution-artifact.entity.d.ts.map +1 -0
  206. package/dist/entities/workflow-execution-artifact.entity.js +113 -0
  207. package/dist/entities/workflow-execution-artifact.entity.js.map +1 -0
  208. package/dist/entities/workflow-execution-log.entity.d.ts +19 -0
  209. package/dist/entities/workflow-execution-log.entity.d.ts.map +1 -0
  210. package/dist/entities/workflow-execution-log.entity.js +95 -0
  211. package/dist/entities/workflow-execution-log.entity.js.map +1 -0
  212. package/dist/entities/workflow-execution.entity.d.ts +28 -0
  213. package/dist/entities/workflow-execution.entity.d.ts.map +1 -0
  214. package/dist/entities/workflow-execution.entity.js +124 -0
  215. package/dist/entities/workflow-execution.entity.js.map +1 -0
  216. package/dist/entities/workflow-secret.entity.d.ts +12 -0
  217. package/dist/entities/workflow-secret.entity.d.ts.map +1 -0
  218. package/dist/entities/workflow-secret.entity.js +66 -0
  219. package/dist/entities/workflow-secret.entity.js.map +1 -0
  220. package/dist/entities/workflow-step-execution.entity.d.ts +28 -0
  221. package/dist/entities/workflow-step-execution.entity.d.ts.map +1 -0
  222. package/dist/entities/workflow-step-execution.entity.js +138 -0
  223. package/dist/entities/workflow-step-execution.entity.js.map +1 -0
  224. package/dist/entities/workflow-trigger-execution.entity.d.ts +26 -0
  225. package/dist/entities/workflow-trigger-execution.entity.d.ts.map +1 -0
  226. package/dist/entities/workflow-trigger-execution.entity.js +127 -0
  227. package/dist/entities/workflow-trigger-execution.entity.js.map +1 -0
  228. package/dist/factories/mail.factory.d.ts.map +1 -1
  229. package/dist/factories/mail.factory.js +4 -0
  230. package/dist/factories/mail.factory.js.map +1 -1
  231. package/dist/factories/sms.factory.d.ts.map +1 -1
  232. package/dist/factories/sms.factory.js +4 -1
  233. package/dist/factories/sms.factory.js.map +1 -1
  234. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +1 -0
  235. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
  236. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +18 -11
  237. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
  238. package/dist/helpers/file-download.helper.d.ts +9 -0
  239. package/dist/helpers/file-download.helper.d.ts.map +1 -0
  240. package/dist/helpers/file-download.helper.js +14 -0
  241. package/dist/helpers/file-download.helper.js.map +1 -0
  242. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  243. package/dist/helpers/model-metadata-helper.service.js +30 -1
  244. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  245. package/dist/helpers/solid-registry.js +1 -1
  246. package/dist/helpers/solid-registry.js.map +1 -1
  247. package/dist/index.d.ts +58 -0
  248. package/dist/index.d.ts.map +1 -1
  249. package/dist/index.js +58 -0
  250. package/dist/index.js.map +1 -1
  251. package/dist/interfaces/workflow-node-handler.interface.d.ts +5 -0
  252. package/dist/interfaces/workflow-node-handler.interface.d.ts.map +1 -0
  253. package/dist/interfaces/workflow-node-handler.interface.js +3 -0
  254. package/dist/interfaces/workflow-node-handler.interface.js.map +1 -0
  255. package/dist/interfaces.d.ts +1 -0
  256. package/dist/interfaces.d.ts.map +1 -1
  257. package/dist/interfaces.js.map +1 -1
  258. package/dist/jobs/database/workflow-execution-publisher-database.service.d.ts +12 -0
  259. package/dist/jobs/database/workflow-execution-publisher-database.service.d.ts.map +1 -0
  260. package/dist/jobs/database/workflow-execution-publisher-database.service.js +39 -0
  261. package/dist/jobs/database/workflow-execution-publisher-database.service.js.map +1 -0
  262. package/dist/jobs/database/workflow-execution-queue-options-database.d.ts +8 -0
  263. package/dist/jobs/database/workflow-execution-queue-options-database.d.ts.map +1 -0
  264. package/dist/jobs/database/workflow-execution-queue-options-database.js +10 -0
  265. package/dist/jobs/database/workflow-execution-queue-options-database.js.map +1 -0
  266. package/dist/jobs/database/workflow-execution-subscriber-database.service.d.ts +19 -0
  267. package/dist/jobs/database/workflow-execution-subscriber-database.service.d.ts.map +1 -0
  268. package/dist/jobs/database/workflow-execution-subscriber-database.service.js +55 -0
  269. package/dist/jobs/database/workflow-execution-subscriber-database.service.js.map +1 -0
  270. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.d.ts +12 -0
  271. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.d.ts.map +1 -0
  272. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.js +39 -0
  273. package/dist/jobs/rabbitmq/workflow-execution-publisher.service.js.map +1 -0
  274. package/dist/jobs/rabbitmq/workflow-execution-queue-options.d.ts +8 -0
  275. package/dist/jobs/rabbitmq/workflow-execution-queue-options.d.ts.map +1 -0
  276. package/dist/jobs/rabbitmq/workflow-execution-queue-options.js +10 -0
  277. package/dist/jobs/rabbitmq/workflow-execution-queue-options.js.map +1 -0
  278. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.d.ts +17 -0
  279. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.d.ts.map +1 -0
  280. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.js +52 -0
  281. package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.js.map +1 -0
  282. package/dist/jobs/redis/workflow-execution-publisher-redis.service.d.ts +12 -0
  283. package/dist/jobs/redis/workflow-execution-publisher-redis.service.d.ts.map +1 -0
  284. package/dist/jobs/redis/workflow-execution-publisher-redis.service.js +39 -0
  285. package/dist/jobs/redis/workflow-execution-publisher-redis.service.js.map +1 -0
  286. package/dist/jobs/redis/workflow-execution-queue-options-redis.d.ts +8 -0
  287. package/dist/jobs/redis/workflow-execution-queue-options-redis.d.ts.map +1 -0
  288. package/dist/jobs/redis/workflow-execution-queue-options-redis.js +10 -0
  289. package/dist/jobs/redis/workflow-execution-queue-options-redis.js.map +1 -0
  290. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.d.ts +17 -0
  291. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.d.ts.map +1 -0
  292. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.js +52 -0
  293. package/dist/jobs/redis/workflow-execution-subscriber-redis.service.js.map +1 -0
  294. package/dist/repository/workflow-definition.repository.d.ts +12 -0
  295. package/dist/repository/workflow-definition.repository.d.ts.map +1 -0
  296. package/dist/repository/workflow-definition.repository.js +39 -0
  297. package/dist/repository/workflow-definition.repository.js.map +1 -0
  298. package/dist/repository/workflow-execution-artifact.repository.d.ts +12 -0
  299. package/dist/repository/workflow-execution-artifact.repository.d.ts.map +1 -0
  300. package/dist/repository/workflow-execution-artifact.repository.js +39 -0
  301. package/dist/repository/workflow-execution-artifact.repository.js.map +1 -0
  302. package/dist/repository/workflow-execution-log.repository.d.ts +12 -0
  303. package/dist/repository/workflow-execution-log.repository.d.ts.map +1 -0
  304. package/dist/repository/workflow-execution-log.repository.js +39 -0
  305. package/dist/repository/workflow-execution-log.repository.js.map +1 -0
  306. package/dist/repository/workflow-execution.repository.d.ts +12 -0
  307. package/dist/repository/workflow-execution.repository.d.ts.map +1 -0
  308. package/dist/repository/workflow-execution.repository.js +39 -0
  309. package/dist/repository/workflow-execution.repository.js.map +1 -0
  310. package/dist/repository/workflow-secret.repository.d.ts +12 -0
  311. package/dist/repository/workflow-secret.repository.d.ts.map +1 -0
  312. package/dist/repository/workflow-secret.repository.js +39 -0
  313. package/dist/repository/workflow-secret.repository.js.map +1 -0
  314. package/dist/repository/workflow-step-execution.repository.d.ts +12 -0
  315. package/dist/repository/workflow-step-execution.repository.d.ts.map +1 -0
  316. package/dist/repository/workflow-step-execution.repository.js +39 -0
  317. package/dist/repository/workflow-step-execution.repository.js.map +1 -0
  318. package/dist/repository/workflow-trigger-execution.repository.d.ts +12 -0
  319. package/dist/repository/workflow-trigger-execution.repository.d.ts.map +1 -0
  320. package/dist/repository/workflow-trigger-execution.repository.js +39 -0
  321. package/dist/repository/workflow-trigger-execution.repository.js.map +1 -0
  322. package/dist/seeders/module-metadata-seeder.service.d.ts +6 -0
  323. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  324. package/dist/seeders/module-metadata-seeder.service.js +185 -27
  325. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  326. package/dist/seeders/module-test-data.service.d.ts +3 -1
  327. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  328. package/dist/seeders/module-test-data.service.js +8 -2
  329. package/dist/seeders/module-test-data.service.js.map +1 -1
  330. package/dist/seeders/seed-data/solid-core-metadata.json +11494 -5570
  331. package/dist/services/authentication.service.d.ts +4 -1
  332. package/dist/services/authentication.service.d.ts.map +1 -1
  333. package/dist/services/authentication.service.js +52 -4
  334. package/dist/services/authentication.service.js.map +1 -1
  335. package/dist/services/chatter-message.service.d.ts +11 -0
  336. package/dist/services/chatter-message.service.d.ts.map +1 -1
  337. package/dist/services/chatter-message.service.js +52 -3
  338. package/dist/services/chatter-message.service.js.map +1 -1
  339. package/dist/services/crud-helper.service.d.ts +5 -2
  340. package/dist/services/crud-helper.service.d.ts.map +1 -1
  341. package/dist/services/crud-helper.service.js +30 -32
  342. package/dist/services/crud-helper.service.js.map +1 -1
  343. package/dist/services/crud.service.d.ts +13 -1
  344. package/dist/services/crud.service.d.ts.map +1 -1
  345. package/dist/services/crud.service.js +92 -67
  346. package/dist/services/crud.service.js.map +1 -1
  347. package/dist/services/datasource-introspection.service.d.ts.map +1 -1
  348. package/dist/services/datasource-introspection.service.js.map +1 -1
  349. package/dist/services/draft-publish-helper.service.d.ts +52 -0
  350. package/dist/services/draft-publish-helper.service.d.ts.map +1 -0
  351. package/dist/services/draft-publish-helper.service.js +368 -0
  352. package/dist/services/draft-publish-helper.service.js.map +1 -0
  353. package/dist/services/internationalisation-helper.service.d.ts +19 -0
  354. package/dist/services/internationalisation-helper.service.d.ts.map +1 -0
  355. package/dist/services/internationalisation-helper.service.js +107 -0
  356. package/dist/services/internationalisation-helper.service.js.map +1 -0
  357. package/dist/services/locale.service.d.ts +1 -1
  358. package/dist/services/media.service.d.ts +3 -2
  359. package/dist/services/media.service.d.ts.map +1 -1
  360. package/dist/services/media.service.js +44 -29
  361. package/dist/services/media.service.js.map +1 -1
  362. package/dist/services/metadata-validation.service.d.ts +7 -0
  363. package/dist/services/metadata-validation.service.d.ts.map +1 -0
  364. package/dist/services/metadata-validation.service.js +42 -0
  365. package/dist/services/metadata-validation.service.js.map +1 -0
  366. package/dist/services/model-metadata.service.d.ts.map +1 -1
  367. package/dist/services/model-metadata.service.js +2 -1
  368. package/dist/services/model-metadata.service.js.map +1 -1
  369. package/dist/services/object.utils.d.ts +2 -0
  370. package/dist/services/object.utils.d.ts.map +1 -0
  371. package/dist/services/object.utils.js +11 -0
  372. package/dist/services/object.utils.js.map +1 -0
  373. package/dist/services/settings/default-settings-provider.service.d.ts +46 -6
  374. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  375. package/dist/services/settings/default-settings-provider.service.js +29 -3
  376. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  377. package/dist/services/user.service.d.ts +2 -2
  378. package/dist/services/user.service.d.ts.map +1 -1
  379. package/dist/services/user.service.js +9 -3
  380. package/dist/services/user.service.js.map +1 -1
  381. package/dist/services/view-metadata.service.d.ts +1 -2
  382. package/dist/services/view-metadata.service.d.ts.map +1 -1
  383. package/dist/services/view-metadata.service.js +3 -55
  384. package/dist/services/view-metadata.service.js.map +1 -1
  385. package/dist/services/workflow/nodes/execution-fail.node.d.ts +6 -0
  386. package/dist/services/workflow/nodes/execution-fail.node.d.ts.map +1 -0
  387. package/dist/services/workflow/nodes/execution-fail.node.js +81 -0
  388. package/dist/services/workflow/nodes/execution-fail.node.js.map +1 -0
  389. package/dist/services/workflow/nodes/for-each.node.d.ts +8 -0
  390. package/dist/services/workflow/nodes/for-each.node.d.ts.map +1 -0
  391. package/dist/services/workflow/nodes/for-each.node.js +204 -0
  392. package/dist/services/workflow/nodes/for-each.node.js.map +1 -0
  393. package/dist/services/workflow/nodes/http-request.node.d.ts +13 -0
  394. package/dist/services/workflow/nodes/http-request.node.d.ts.map +1 -0
  395. package/dist/services/workflow/nodes/http-request.node.js +549 -0
  396. package/dist/services/workflow/nodes/http-request.node.js.map +1 -0
  397. package/dist/services/workflow/nodes/if.node.d.ts +6 -0
  398. package/dist/services/workflow/nodes/if.node.d.ts.map +1 -0
  399. package/dist/services/workflow/nodes/if.node.js +100 -0
  400. package/dist/services/workflow/nodes/if.node.js.map +1 -0
  401. package/dist/services/workflow/nodes/log-write.node.d.ts +6 -0
  402. package/dist/services/workflow/nodes/log-write.node.d.ts.map +1 -0
  403. package/dist/services/workflow/nodes/log-write.node.js +231 -0
  404. package/dist/services/workflow/nodes/log-write.node.js.map +1 -0
  405. package/dist/services/workflow/nodes/loop-until.node.d.ts +12 -0
  406. package/dist/services/workflow/nodes/loop-until.node.d.ts.map +1 -0
  407. package/dist/services/workflow/nodes/loop-until.node.js +281 -0
  408. package/dist/services/workflow/nodes/loop-until.node.js.map +1 -0
  409. package/dist/services/workflow/nodes/parallel.node.d.ts +6 -0
  410. package/dist/services/workflow/nodes/parallel.node.d.ts.map +1 -0
  411. package/dist/services/workflow/nodes/parallel.node.js +83 -0
  412. package/dist/services/workflow/nodes/parallel.node.js.map +1 -0
  413. package/dist/services/workflow/nodes/runtime-python.node.d.ts +13 -0
  414. package/dist/services/workflow/nodes/runtime-python.node.d.ts.map +1 -0
  415. package/dist/services/workflow/nodes/runtime-python.node.js +522 -0
  416. package/dist/services/workflow/nodes/runtime-python.node.js.map +1 -0
  417. package/dist/services/workflow/nodes/sequential.node.d.ts +6 -0
  418. package/dist/services/workflow/nodes/sequential.node.d.ts.map +1 -0
  419. package/dist/services/workflow/nodes/sequential.node.js +68 -0
  420. package/dist/services/workflow/nodes/sequential.node.js.map +1 -0
  421. package/dist/services/workflow/nodes/solidx-api.helpers.d.ts +25 -0
  422. package/dist/services/workflow/nodes/solidx-api.helpers.d.ts.map +1 -0
  423. package/dist/services/workflow/nodes/solidx-api.helpers.js +143 -0
  424. package/dist/services/workflow/nodes/solidx-api.helpers.js.map +1 -0
  425. package/dist/services/workflow/nodes/solidx-crud.nodes.d.ts +48 -0
  426. package/dist/services/workflow/nodes/solidx-crud.nodes.d.ts.map +1 -0
  427. package/dist/services/workflow/nodes/solidx-crud.nodes.js +475 -0
  428. package/dist/services/workflow/nodes/solidx-crud.nodes.js.map +1 -0
  429. package/dist/services/workflow/nodes/solidx-login.node.d.ts +6 -0
  430. package/dist/services/workflow/nodes/solidx-login.node.d.ts.map +1 -0
  431. package/dist/services/workflow/nodes/solidx-login.node.js +208 -0
  432. package/dist/services/workflow/nodes/solidx-login.node.js.map +1 -0
  433. package/dist/services/workflow/nodes/solidx-send-email.node.d.ts +11 -0
  434. package/dist/services/workflow/nodes/solidx-send-email.node.d.ts.map +1 -0
  435. package/dist/services/workflow/nodes/solidx-send-email.node.js +437 -0
  436. package/dist/services/workflow/nodes/solidx-send-email.node.js.map +1 -0
  437. package/dist/services/workflow/nodes/solidx-send-sms.node.d.ts +10 -0
  438. package/dist/services/workflow/nodes/solidx-send-sms.node.d.ts.map +1 -0
  439. package/dist/services/workflow/nodes/solidx-send-sms.node.js +347 -0
  440. package/dist/services/workflow/nodes/solidx-send-sms.node.js.map +1 -0
  441. package/dist/services/workflow/nodes/switch.node.d.ts +7 -0
  442. package/dist/services/workflow/nodes/switch.node.d.ts.map +1 -0
  443. package/dist/services/workflow/nodes/switch.node.js +120 -0
  444. package/dist/services/workflow/nodes/switch.node.js.map +1 -0
  445. package/dist/services/workflow/workflow-definition-metadata-sync.service.d.ts +19 -0
  446. package/dist/services/workflow/workflow-definition-metadata-sync.service.d.ts.map +1 -0
  447. package/dist/services/workflow/workflow-definition-metadata-sync.service.js +187 -0
  448. package/dist/services/workflow/workflow-definition-metadata-sync.service.js.map +1 -0
  449. package/dist/services/workflow/workflow-definition-validator.service.d.ts +13 -0
  450. package/dist/services/workflow/workflow-definition-validator.service.d.ts.map +1 -0
  451. package/dist/services/workflow/workflow-definition-validator.service.js +166 -0
  452. package/dist/services/workflow/workflow-definition-validator.service.js.map +1 -0
  453. package/dist/services/workflow/workflow-execution-writer.service.d.ts +26 -0
  454. package/dist/services/workflow/workflow-execution-writer.service.d.ts.map +1 -0
  455. package/dist/services/workflow/workflow-execution-writer.service.js +191 -0
  456. package/dist/services/workflow/workflow-execution-writer.service.js.map +1 -0
  457. package/dist/services/workflow/workflow-expression.service.d.ts +14 -0
  458. package/dist/services/workflow/workflow-expression.service.d.ts.map +1 -0
  459. package/dist/services/workflow/workflow-expression.service.js +157 -0
  460. package/dist/services/workflow/workflow-expression.service.js.map +1 -0
  461. package/dist/services/workflow/workflow-invocation.service.d.ts +11 -0
  462. package/dist/services/workflow/workflow-invocation.service.d.ts.map +1 -0
  463. package/dist/services/workflow/workflow-invocation.service.js +37 -0
  464. package/dist/services/workflow/workflow-invocation.service.js.map +1 -0
  465. package/dist/services/workflow/workflow-node-registry.service.d.ts +19 -0
  466. package/dist/services/workflow/workflow-node-registry.service.d.ts.map +1 -0
  467. package/dist/services/workflow/workflow-node-registry.service.js +117 -0
  468. package/dist/services/workflow/workflow-node-registry.service.js.map +1 -0
  469. package/dist/services/workflow/workflow-runtime.service.d.ts +61 -0
  470. package/dist/services/workflow/workflow-runtime.service.d.ts.map +1 -0
  471. package/dist/services/workflow/workflow-runtime.service.js +706 -0
  472. package/dist/services/workflow/workflow-runtime.service.js.map +1 -0
  473. package/dist/services/workflow/workflow-scheduled-trigger.job.d.ts +10 -0
  474. package/dist/services/workflow/workflow-scheduled-trigger.job.d.ts.map +1 -0
  475. package/dist/services/workflow/workflow-scheduled-trigger.job.js +37 -0
  476. package/dist/services/workflow/workflow-scheduled-trigger.job.js.map +1 -0
  477. package/dist/services/workflow-definition.service.d.ts +52 -0
  478. package/dist/services/workflow-definition.service.d.ts.map +1 -0
  479. package/dist/services/workflow-definition.service.js +251 -0
  480. package/dist/services/workflow-definition.service.js.map +1 -0
  481. package/dist/services/workflow-execution-artifact.service.d.ts +12 -0
  482. package/dist/services/workflow-execution-artifact.service.d.ts.map +1 -0
  483. package/dist/services/workflow-execution-artifact.service.js +38 -0
  484. package/dist/services/workflow-execution-artifact.service.js.map +1 -0
  485. package/dist/services/workflow-execution-log.service.d.ts +12 -0
  486. package/dist/services/workflow-execution-log.service.d.ts.map +1 -0
  487. package/dist/services/workflow-execution-log.service.js +38 -0
  488. package/dist/services/workflow-execution-log.service.js.map +1 -0
  489. package/dist/services/workflow-execution.service.d.ts +12 -0
  490. package/dist/services/workflow-execution.service.d.ts.map +1 -0
  491. package/dist/services/workflow-execution.service.js +38 -0
  492. package/dist/services/workflow-execution.service.js.map +1 -0
  493. package/dist/services/workflow-secret.service.d.ts +25 -0
  494. package/dist/services/workflow-secret.service.d.ts.map +1 -0
  495. package/dist/services/workflow-secret.service.js +152 -0
  496. package/dist/services/workflow-secret.service.js.map +1 -0
  497. package/dist/services/workflow-step-execution.service.d.ts +12 -0
  498. package/dist/services/workflow-step-execution.service.d.ts.map +1 -0
  499. package/dist/services/workflow-step-execution.service.js +38 -0
  500. package/dist/services/workflow-step-execution.service.js.map +1 -0
  501. package/dist/services/workflow-trigger-execution.service.d.ts +12 -0
  502. package/dist/services/workflow-trigger-execution.service.d.ts.map +1 -0
  503. package/dist/services/workflow-trigger-execution.service.js +38 -0
  504. package/dist/services/workflow-trigger-execution.service.js.map +1 -0
  505. package/dist/solid-core.module.d.ts.map +1 -1
  506. package/dist/solid-core.module.js +131 -1
  507. package/dist/solid-core.module.js.map +1 -1
  508. package/dist/testing/adapters/ui/playwright-adapter.d.ts +5 -0
  509. package/dist/testing/adapters/ui/playwright-adapter.d.ts.map +1 -1
  510. package/dist/testing/adapters/ui/playwright-adapter.js +17 -1
  511. package/dist/testing/adapters/ui/playwright-adapter.js.map +1 -1
  512. package/dist/testing/adapters/ui/ui.types.d.ts +2 -0
  513. package/dist/testing/adapters/ui/ui.types.d.ts.map +1 -1
  514. package/dist/testing/adapters/ui/ui.types.js.map +1 -1
  515. package/dist/testing/steps/ui/actions.step.d.ts.map +1 -1
  516. package/dist/testing/steps/ui/actions.step.js +6 -2
  517. package/dist/testing/steps/ui/actions.step.js.map +1 -1
  518. package/dist/testing/steps/ui/assertions.step.d.ts.map +1 -1
  519. package/dist/testing/steps/ui/assertions.step.js +11 -3
  520. package/dist/testing/steps/ui/assertions.step.js.map +1 -1
  521. package/dist/testing/steps/ui/form.step.d.ts.map +1 -1
  522. package/dist/testing/steps/ui/form.step.js +9 -3
  523. package/dist/testing/steps/ui/form.step.js.map +1 -1
  524. package/dist/testing/steps/ui/manual.step.js +1 -1
  525. package/dist/testing/steps/ui/manual.step.js.map +1 -1
  526. package/dist/testing/steps/ui/navigation.step.d.ts.map +1 -1
  527. package/dist/testing/steps/ui/navigation.step.js +3 -1
  528. package/dist/testing/steps/ui/navigation.step.js.map +1 -1
  529. package/dist/transformers/empty-string-to-null-transformer.d.ts +4 -0
  530. package/dist/transformers/empty-string-to-null-transformer.d.ts.map +1 -0
  531. package/dist/transformers/empty-string-to-null-transformer.js +12 -0
  532. package/dist/transformers/empty-string-to-null-transformer.js.map +1 -0
  533. package/dist/types/workflow-dsl.types.d.ts +291 -0
  534. package/dist/types/workflow-dsl.types.d.ts.map +1 -0
  535. package/dist/types/workflow-dsl.types.js +3 -0
  536. package/dist/types/workflow-dsl.types.js.map +1 -0
  537. package/dist/types/workflow-execution-queue.types.d.ts +4 -0
  538. package/dist/types/workflow-execution-queue.types.d.ts.map +1 -0
  539. package/dist/types/workflow-execution-queue.types.js +3 -0
  540. package/dist/types/workflow-execution-queue.types.js.map +1 -0
  541. package/package.json +3 -2
  542. package/src/commands/run-tests.command.ts +47 -1
  543. package/src/commands/seed.command.ts +19 -0
  544. package/src/constants/chatter-message.constants.ts +12 -0
  545. package/src/constants/draft-publish-fields.ts +5 -0
  546. package/src/constants/media-file-types.ts +50 -0
  547. package/src/constants/user.constants.ts +13 -0
  548. package/src/controllers/chatter-message.controller.ts +8 -0
  549. package/src/controllers/export-template.controller.ts +5 -3
  550. package/src/controllers/import-transaction.controller.ts +6 -6
  551. package/src/controllers/media.controller.ts +17 -6
  552. package/src/controllers/module-package.controller.ts +2 -3
  553. package/src/controllers/workflow-definition.controller.ts +141 -0
  554. package/src/controllers/workflow-execution-artifact.controller.ts +93 -0
  555. package/src/controllers/workflow-execution-log.controller.ts +93 -0
  556. package/src/controllers/workflow-execution.controller.ts +126 -0
  557. package/src/controllers/workflow-secret.controller.ts +90 -0
  558. package/src/controllers/workflow-step-execution.controller.ts +93 -0
  559. package/src/controllers/workflow-trigger-execution.controller.ts +93 -0
  560. package/src/decorators/workflow-node-provider.decorator.ts +14 -0
  561. package/src/dtos/basic-filters.dto.ts +0 -4
  562. package/src/dtos/create-workflow-definition.dto.ts +60 -0
  563. package/src/dtos/create-workflow-execution-artifact.dto.ts +99 -0
  564. package/src/dtos/create-workflow-execution-log.dto.ts +80 -0
  565. package/src/dtos/create-workflow-execution.dto.ts +137 -0
  566. package/src/dtos/create-workflow-secret.dto.ts +44 -0
  567. package/src/dtos/create-workflow-step-execution.dto.ts +123 -0
  568. package/src/dtos/create-workflow-trigger-execution.dto.ts +114 -0
  569. package/src/dtos/execute-workflow.dto.ts +6 -0
  570. package/src/dtos/update-workflow-definition.dto.ts +67 -0
  571. package/src/dtos/update-workflow-execution-artifact.dto.ts +105 -0
  572. package/src/dtos/update-workflow-execution-log.dto.ts +87 -0
  573. package/src/dtos/update-workflow-execution.dto.ts +144 -0
  574. package/src/dtos/update-workflow-secret.dto.ts +53 -0
  575. package/src/dtos/update-workflow-step-execution.dto.ts +132 -0
  576. package/src/dtos/update-workflow-trigger-execution.dto.ts +122 -0
  577. package/src/dtos/validate-workflow-definition.dto.ts +3 -0
  578. package/src/entities/common.entity.ts +24 -0
  579. package/src/entities/user.entity.ts +53 -36
  580. package/src/entities/workflow-definition.entity.ts +43 -0
  581. package/src/entities/workflow-execution-artifact.entity.ts +72 -0
  582. package/src/entities/workflow-execution-log.entity.ts +58 -0
  583. package/src/entities/workflow-execution.entity.ts +82 -0
  584. package/src/entities/workflow-secret.entity.ts +33 -0
  585. package/src/entities/workflow-step-execution.entity.ts +88 -0
  586. package/src/entities/workflow-trigger-execution.entity.ts +82 -0
  587. package/src/factories/mail.factory.ts +7 -1
  588. package/src/factories/sms.factory.ts +4 -1
  589. package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +26 -12
  590. package/src/helpers/file-download.helper.ts +31 -0
  591. package/src/helpers/model-metadata-helper.service.ts +32 -1
  592. package/src/helpers/solid-registry.ts +1 -1
  593. package/src/index.ts +58 -0
  594. package/src/interfaces/workflow-node-handler.interface.ts +10 -0
  595. package/src/interfaces.ts +1 -0
  596. package/src/jobs/database/workflow-execution-publisher-database.service.ts +24 -0
  597. package/src/jobs/database/workflow-execution-queue-options-database.ts +9 -0
  598. package/src/jobs/database/workflow-execution-subscriber-database.service.ts +44 -0
  599. package/src/jobs/rabbitmq/workflow-execution-publisher.service.ts +24 -0
  600. package/src/jobs/rabbitmq/workflow-execution-queue-options.ts +9 -0
  601. package/src/jobs/rabbitmq/workflow-execution-subscriber.service.ts +42 -0
  602. package/src/jobs/redis/workflow-execution-publisher-redis.service.ts +24 -0
  603. package/src/jobs/redis/workflow-execution-queue-options-redis.ts +9 -0
  604. package/src/jobs/redis/workflow-execution-subscriber-redis.service.ts +42 -0
  605. package/src/repository/workflow-definition.repository.ts +19 -0
  606. package/src/repository/workflow-execution-artifact.repository.ts +19 -0
  607. package/src/repository/workflow-execution-log.repository.ts +19 -0
  608. package/src/repository/workflow-execution.repository.ts +19 -0
  609. package/src/repository/workflow-secret.repository.ts +19 -0
  610. package/src/repository/workflow-step-execution.repository.ts +19 -0
  611. package/src/repository/workflow-trigger-execution.repository.ts +19 -0
  612. package/src/seeders/module-metadata-seeder.service.ts +216 -40
  613. package/src/seeders/module-test-data.service.ts +6 -0
  614. package/src/seeders/seed-data/solid-core-metadata.json +11494 -5570
  615. package/src/services/authentication.service.ts +76 -5
  616. package/src/services/chatter-message.service.ts +102 -4
  617. package/src/services/crud-helper.service.ts +16 -34
  618. package/src/services/crud.service.ts +129 -104
  619. package/src/services/datasource-introspection.service.ts +5 -0
  620. package/src/services/draft-publish-helper.service.ts +529 -0
  621. package/src/services/internationalisation-helper.service.ts +148 -0
  622. package/src/services/media.service.ts +67 -36
  623. package/src/services/metadata-validation.service.ts +39 -0
  624. package/src/services/model-metadata.service.ts +4 -1
  625. package/src/services/object.utils.ts +10 -0
  626. package/src/services/settings/default-settings-provider.service.ts +35 -3
  627. package/src/services/user.service.ts +18 -3
  628. package/src/services/view-metadata.service.ts +5 -145
  629. package/src/services/workflow/nodes/execution-fail.node.ts +82 -0
  630. package/src/services/workflow/nodes/for-each.node.ts +231 -0
  631. package/src/services/workflow/nodes/http-request.node.ts +624 -0
  632. package/src/services/workflow/nodes/if.node.ts +100 -0
  633. package/src/services/workflow/nodes/log-write.node.ts +234 -0
  634. package/src/services/workflow/nodes/loop-until.node.ts +343 -0
  635. package/src/services/workflow/nodes/parallel.node.ts +88 -0
  636. package/src/services/workflow/nodes/runtime-python.node.ts +571 -0
  637. package/src/services/workflow/nodes/sequential.node.ts +65 -0
  638. package/src/services/workflow/nodes/solidx-api.helpers.ts +205 -0
  639. package/src/services/workflow/nodes/solidx-crud.nodes.ts +511 -0
  640. package/src/services/workflow/nodes/solidx-login.node.ts +222 -0
  641. package/src/services/workflow/nodes/solidx-send-email.node.ts +489 -0
  642. package/src/services/workflow/nodes/solidx-send-sms.node.ts +377 -0
  643. package/src/services/workflow/nodes/switch.node.ts +132 -0
  644. package/src/services/workflow/workflow-definition-metadata-sync.service.ts +196 -0
  645. package/src/services/workflow/workflow-definition-validator.service.ts +226 -0
  646. package/src/services/workflow/workflow-execution-writer.service.ts +244 -0
  647. package/src/services/workflow/workflow-expression.service.ts +180 -0
  648. package/src/services/workflow/workflow-invocation.service.ts +39 -0
  649. package/src/services/workflow/workflow-node-registry.service.ts +152 -0
  650. package/src/services/workflow/workflow-runtime.service.ts +934 -0
  651. package/src/services/workflow/workflow-scheduled-trigger.job.ts +33 -0
  652. package/src/services/workflow-definition.service.ts +293 -0
  653. package/src/services/workflow-execution-artifact.service.ts +20 -0
  654. package/src/services/workflow-execution-log.service.ts +20 -0
  655. package/src/services/workflow-execution.service.ts +20 -0
  656. package/src/services/workflow-secret.service.ts +161 -0
  657. package/src/services/workflow-step-execution.service.ts +20 -0
  658. package/src/services/workflow-trigger-execution.service.ts +20 -0
  659. package/src/solid-core.module.ts +144 -3
  660. package/src/testing/README.md +73 -2
  661. package/src/testing/adapters/ui/playwright-adapter.ts +25 -0
  662. package/src/testing/adapters/ui/ui.types.ts +2 -0
  663. package/src/testing/steps/ui/actions.step.ts +8 -4
  664. package/src/testing/steps/ui/assertions.step.ts +18 -5
  665. package/src/testing/steps/ui/form.step.ts +16 -6
  666. package/src/testing/steps/ui/manual.step.ts +1 -1
  667. package/src/testing/steps/ui/navigation.step.ts +4 -2
  668. package/src/transformers/empty-string-to-null-transformer.ts +11 -0
  669. package/src/types/workflow-dsl.types.ts +1030 -0
  670. package/src/types/workflow-execution-queue.types.ts +3 -0
@@ -20,7 +20,7 @@ import { SUCCESS_MESSAGES } from "src/constants/success-messages";
20
20
  import { CreateUserDto } from "src/dtos/create-user.dto";
21
21
  import { MailFactory } from "src/factories/mail.factory";
22
22
  import { UserRepository } from "src/repository/user.repository";
23
- import { DataSource, DeepPartial, Repository } from "typeorm";
23
+ import { DataSource, DeepPartial, FindOptionsWhere, Repository } from "typeorm";
24
24
  import { v4 as uuidv4 } from "uuid";
25
25
  import {
26
26
  ForgotPasswordSendVerificationTokenOn,
@@ -49,6 +49,7 @@ import { SsoCodeStorageService } from "./sso-code-storage.service";
49
49
  import { RoleMetadataService } from "./role-metadata.service";
50
50
  import { SettingService } from "./setting.service";
51
51
  import { UserActivityHistoryService } from "./user-activity-history.service";
52
+ import { MetadataValidationService } from "./metadata-validation.service";
52
53
  import { UserService } from "./user.service";
53
54
  import { SmsFactory } from "src/factories/sms.factory";
54
55
  import { WhatsAppFactory } from "src/factories/whatsapp.factory";
@@ -88,6 +89,7 @@ export class AuthenticationService {
88
89
  private readonly roleMetadataService: RoleMetadataService,
89
90
  private readonly userActivityHistoryService: UserActivityHistoryService,
90
91
  private readonly ssoCodeStorage: SsoCodeStorageService,
92
+ private readonly metadataValidationService: MetadataValidationService,
91
93
 
92
94
  @InjectDataSource()
93
95
  private readonly dataSource: DataSource,
@@ -225,6 +227,9 @@ export class AuthenticationService {
225
227
  preferEntityApiKeyFlag: boolean = false,
226
228
  ): Promise<T> {
227
229
  try {
230
+ await this.assertUniqueSignupIdentifiers(signUpDto, repo);
231
+ await this.metadataValidationService.validateCreateDto("user", signUpDto);
232
+
228
233
  const onForcePasswordChange =
229
234
  this.settingService.getConfigValue<SolidCoreSetting>(
230
235
  "forceChangePasswordOnFirstLogin",
@@ -276,6 +281,59 @@ export class AuthenticationService {
276
281
  }
277
282
  }
278
283
 
284
+ private async assertUniqueSignupIdentifiers<T extends User>(
285
+ signUpDto: SignUpDto,
286
+ repo: Repository<T>,
287
+ ): Promise<void> {
288
+ const username = signUpDto.username?.trim();
289
+ const email = signUpDto.email?.trim();
290
+ const mobile = signUpDto.mobile?.trim();
291
+
292
+ const where: FindOptionsWhere<T>[] = [];
293
+
294
+ if (username) {
295
+ where.push({ username } as FindOptionsWhere<T>);
296
+ }
297
+
298
+ if (email) {
299
+ where.push({ email } as FindOptionsWhere<T>);
300
+ }
301
+
302
+ if (mobile) {
303
+ where.push({ mobile } as FindOptionsWhere<T>);
304
+ }
305
+
306
+ if (where.length === 0) {
307
+ return;
308
+ }
309
+
310
+ const existingUser = await repo.findOne({ where });
311
+
312
+ if (!existingUser) {
313
+ return;
314
+ }
315
+
316
+ if (email && existingUser.email === email) {
317
+ throw new ConflictException(
318
+ `A user with email address "${email}" already exists.`,
319
+ );
320
+ }
321
+
322
+ if (mobile && existingUser.mobile === mobile) {
323
+ throw new ConflictException(
324
+ `A user with mobile number "${mobile}" already exists.`,
325
+ );
326
+ }
327
+
328
+ if (username && existingUser.username === username) {
329
+ throw new ConflictException(
330
+ `A user with username "${username}" already exists.`,
331
+ );
332
+ }
333
+
334
+ throw new ConflictException(ERROR_MESSAGES.USER_ALREADY_EXISTS);
335
+ }
336
+
279
337
  private async handlePasswordlessSignupOtp<T extends User>(
280
338
  user: T,
281
339
  signUpDto: SignUpDto,
@@ -400,11 +458,23 @@ export class AuthenticationService {
400
458
  // if forcePasswordChange is true, then we trigger an email to the user to change the password, this needs to be done using a queue.
401
459
  // Create a new method like notifyUserOnForcePasswordChange, create a new email template we can call it on-force-password-change this template to include the random password
402
460
  if (user.forcePasswordChange && autoGeneratedPwd) {
403
- await this.notifyUserOnForcePasswordChange(user, autoGeneratedPwd);
461
+ try {
462
+ await this.notifyUserOnForcePasswordChange(user, autoGeneratedPwd);
463
+ } catch (error: any) {
464
+ this.logger.error(
465
+ `Failed to send force-password-change email for user ${user.id}: ${error?.message ?? error}`,
466
+ );
467
+ }
404
468
  }
405
469
 
406
470
  // Send welcome notifications (email/SMS) if enabled.
407
- await this.notifyUserOnSignup(user);
471
+ try {
472
+ await this.notifyUserOnSignup(user);
473
+ } catch (error: any) {
474
+ this.logger.error(
475
+ `Failed to send signup notifications for user ${user.id}: ${error?.message ?? error}`,
476
+ );
477
+ }
408
478
  }
409
479
 
410
480
  generatePassword(length: number = 8): string {
@@ -1578,7 +1648,7 @@ export class AuthenticationService {
1578
1648
  // Assuming all users do not have mobile as mandatory.
1579
1649
  if (
1580
1650
  forgotPasswordSendVerificationTokenOn ==
1581
- ForgotPasswordSendVerificationTokenOn.MOBILE &&
1651
+ ForgotPasswordSendVerificationTokenOn.MOBILE &&
1582
1652
  user.mobile
1583
1653
  ) {
1584
1654
  const smsService = this.smsFactory.getSmsService();
@@ -1702,7 +1772,7 @@ export class AuthenticationService {
1702
1772
  // Assuming all users do not have mobile as mandatory.
1703
1773
  if (
1704
1774
  forgotPasswordSendVerificationTokenOn ==
1705
- ForgotPasswordSendVerificationTokenOn.MOBILE &&
1775
+ ForgotPasswordSendVerificationTokenOn.MOBILE &&
1706
1776
  user.mobile
1707
1777
  ) {
1708
1778
  const smsService = this.smsFactory.getSmsService();
@@ -2342,6 +2412,7 @@ function parseUniqueConstraintError(detail: string): string {
2342
2412
  const fieldMap: Record<string, string> = {
2343
2413
  username: "username",
2344
2414
  email: "email address",
2415
+ mobile: "mobile number",
2345
2416
  full_name_user_key: "full name",
2346
2417
  };
2347
2418
  const friendlyField = fieldMap[field] || field;
@@ -5,7 +5,8 @@ import { InjectEntityManager } from '@nestjs/typeorm';
5
5
  import { Brackets, EntityManager, EntityMetadata, In } from 'typeorm';
6
6
 
7
7
  import { classify } from '@angular-devkit/core/src/utils/strings';
8
- import { CHATTER_MESSAGE_STATUS, CHATTER_MESSAGE_SUBTYPE, CHATTER_MESSAGE_TYPE } from 'src/constants/chatter-message.constants';
8
+ import { CHATTER_MESSAGE_STATUS, CHATTER_MESSAGE_SUBTYPE, CHATTER_MESSAGE_TYPE, CHATTER_MESSAGE_USER_FIELDS } from 'src/constants/chatter-message.constants';
9
+ import { isDangerousMediaFile } from 'src/constants/media-file-types';
9
10
  import { ERROR_MESSAGES } from 'src/constants/error-messages';
10
11
  import { PostChatterMessageDto } from 'src/dtos/post-chatter-message.dto';
11
12
  import { UpdateChatterNoteMessageDto } from 'src/dtos/update-chatter-note-message.dto';
@@ -18,9 +19,11 @@ import { FieldMetadataRepository } from 'src/repository/field-metadata.repositor
18
19
  import { MediaRepository } from 'src/repository/media.repository';
19
20
  import { ModelMetadataRepository } from 'src/repository/model-metadata.repository';
20
21
  import { CRUDService } from 'src/services/crud.service';
22
+ import { BasicFilterDto } from '../dtos/basic-filters.dto';
21
23
  import { MediaStorageProviderType } from '../dtos/create-media-storage-provider-metadata.dto';
22
24
  import { ChatterMessageDetails } from '../entities/chatter-message-details.entity';
23
25
  import { ChatterMessage } from '../entities/chatter-message.entity';
26
+ import { User } from '../entities/user.entity';
24
27
  import { getMediaStorageProvider } from './mediaStorageProviders';
25
28
  import { RequestContextService } from './request-context.service';
26
29
  import { Logger } from '@nestjs/common';
@@ -101,6 +104,44 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
101
104
  chatterMessage.updatedBy = resolvedUserId;
102
105
  }
103
106
 
107
+ /**
108
+ * Reduce a message's hydrated `user` relation to CHATTER_MESSAGE_USER_FIELDS.
109
+ *
110
+ * `getChatterMessages` restricts the columns in the query itself, which is preferable.
111
+ * The generic CRUD paths below build their query from find-options and hand `populate`
112
+ * straight to TypeORM, so they are trimmed after the fact instead. (`createdBy` /
113
+ * `updatedBy` need nothing here - CRUDService.handlePopulateUserIdFields already selects
114
+ * only USER_SUMMARY_FIELDS when a caller populates them.)
115
+ */
116
+ private trimMessageUser<M extends ChatterMessage>(message: M): M {
117
+ if (message?.user) {
118
+ message.user = this.toUserSummary(message.user) as User;
119
+ }
120
+ return message;
121
+ }
122
+
123
+ private trimMessageUsers(messages: ChatterMessage[] | undefined) {
124
+ messages?.forEach(message => this.trimMessageUser(message));
125
+ }
126
+
127
+ /**
128
+ * `GET /chatter-message?populate[]=user` would otherwise be a way around the column
129
+ * allowlist applied by getChatterMessages.
130
+ */
131
+ async find(basicFilterDto: BasicFilterDto, solidRequestContext: any = {}): Promise<any> {
132
+ const result = await super.find(basicFilterDto, solidRequestContext);
133
+ this.trimMessageUsers(result?.records);
134
+ // A grouped find (populateGroup) nests its entities one level deeper.
135
+ for (const groupRecord of result?.groupRecords ?? []) {
136
+ this.trimMessageUsers(groupRecord?.groupData?.records);
137
+ }
138
+ return result;
139
+ }
140
+
141
+ async findOne(id: number, query: any = {}, solidRequestContext: any = {}) {
142
+ return this.trimMessageUser(await super.findOne(id, query, solidRequestContext));
143
+ }
144
+
104
145
  private isEditableCustomNoteMessage(message: ChatterMessage): boolean {
105
146
  if (message.messageType !== CHATTER_MESSAGE_TYPE.CUSTOM) {
106
147
  return false;
@@ -134,6 +175,17 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
134
175
  }, messageBody || '');
135
176
  }
136
177
 
178
+ /**
179
+ * Chatter attachments bypass MediaFieldCrudManager - they go straight to
180
+ * storageProvider.store() - so the shared predicate is applied here directly. The rules
181
+ * themselves live in media-file-types so upload paths can't drift apart.
182
+ */
183
+ private validateChatterMediaFiles(files: Express.Multer.File[] = []) {
184
+ if (Array.isArray(files) && files.some(file => isDangerousMediaFile(file))) {
185
+ throw new BadRequestException('Dangerous file types are not allowed in chatter attachments.');
186
+ }
187
+ }
188
+
137
189
  private async publishChatterMentionNotifications(message: ChatterMessage, model: any) {
138
190
  if (message.messageType !== CHATTER_MESSAGE_TYPE.CUSTOM || message.messageSubType !== CHATTER_MESSAGE_SUBTYPE.NOTE) {
139
191
  return;
@@ -188,6 +240,31 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
188
240
  }
189
241
  }
190
242
 
243
+ // Deliberately bypasses UserRepository's security-rule filtering: the mention picker
244
+ // needs id/username/fullName for any active user regardless of the caller's row-level
245
+ // access to the User model, same as the getChatterMessages one-to-many lookup below.
246
+ async getMentionableUsers(search?: string, limit: number = 8): Promise<Array<{ id: number; username: string; fullName: string }>> {
247
+ const normalizedLimit = Number.isInteger(limit) && limit > 0 && limit <= 50 ? limit : 8;
248
+ const userRepository = this.entityManager.getRepository(User);
249
+
250
+ const qb = userRepository
251
+ .createQueryBuilder('user')
252
+ .select(['user.id', 'user.username', 'user.fullName'])
253
+ .where('user.active = :active', { active: true });
254
+
255
+ const trimmedSearch = (search ?? '').trim();
256
+ if (trimmedSearch) {
257
+ qb.andWhere('(LOWER(user.username) LIKE :search OR LOWER(user.fullName) LIKE :search)', {
258
+ search: `%${trimmedSearch.toLowerCase()}%`,
259
+ });
260
+ }
261
+
262
+ qb.orderBy('user.username', 'ASC').take(normalizedLimit);
263
+
264
+ const users = await qb.getMany();
265
+ return users.map(user => ({ id: user.id, username: user.username, fullName: user.fullName }));
266
+ }
267
+
191
268
  async markCompleted(id: number) {
192
269
  const activeUser = this.requestContextService.getActiveUser();
193
270
  if (!activeUser) {
@@ -240,6 +317,8 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
240
317
  throw new BadRequestException('Message body cannot be empty.');
241
318
  }
242
319
 
320
+ this.validateChatterMediaFiles(files);
321
+
243
322
  if (hasMessageBody) {
244
323
  message.messageBody = trimmedMessageBody;
245
324
  }
@@ -306,13 +385,16 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
306
385
 
307
386
  await this.publishChatterMentionNotifications(savedMessage, model);
308
387
 
309
- return savedMessage;
388
+ // The `user` relation was loaded for the ownership check above; don't return all of it.
389
+ return this.trimMessageUser(savedMessage);
310
390
  }
311
391
 
312
392
  async postMessage(postDto: PostChatterMessageDto, files: Express.Multer.File[] = []) {
313
393
  const coModelName = lowerFirst(postDto.coModelName);
314
394
  await this.assertRecordAccess(coModelName, postDto.coModelEntityId);
315
395
 
396
+ this.validateChatterMediaFiles(files);
397
+
316
398
  const chatterMessage = new ChatterMessage();
317
399
  chatterMessage.messageType = CHATTER_MESSAGE_TYPE.CUSTOM;
318
400
  chatterMessage.messageSubType = postDto.messageSubType || CHATTER_MESSAGE_SUBTYPE.CUSTOM;
@@ -891,16 +973,25 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
891
973
  qb.where(orConditions.join(' OR '), parameters);
892
974
  }));
893
975
 
894
- const relations = ['chatterMessageDetails', 'user'];
976
+ const relations = ['chatterMessageDetails'];
895
977
  if (populate && populate.length > 0) {
896
978
  const normalizedPopulate = this.crudHelperService.normalize(populate);
897
- relations.push(...normalizedPopulate.filter(rel => !relations.includes(rel)));
979
+ // SECURITY: 'user' is joined below with an explicit column allowlist. A client-supplied
980
+ // populate[]=user must not be able to turn it back into a full-entity join (the chatter
981
+ // panel does send exactly that).
982
+ relations.push(...normalizedPopulate.filter(rel => rel !== 'user' && !relations.includes(rel)));
898
983
  }
899
984
 
900
985
  relations.forEach(relation => {
901
986
  qb.leftJoinAndSelect(`entity.${relation}`, relation);
902
987
  });
903
988
 
989
+ // Only the author's id and display name leave this endpoint - see CHATTER_MESSAGE_USER_FIELDS.
990
+ // This join must stay before applyFilters below: it lets filters[user][fullName] reuse this
991
+ // alias instead of adding a second join of its own.
992
+ qb.leftJoin('entity.user', 'user');
993
+ qb.addSelect(CHATTER_MESSAGE_USER_FIELDS.map(field => `user.${field}`));
994
+
904
995
  if (filters) {
905
996
  qb.andWhere(new Brackets(whereQb => {
906
997
  this.crudHelperService.applyFilters(whereQb, filters, 'entity', qb);
@@ -914,6 +1005,13 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
914
1005
  const [entities, count] = await qb.getManyAndCount();
915
1006
  this.logHeapUsed('getChatterMessages-entitiesLoaded');
916
1007
 
1008
+ // The join above only selects the allowlisted columns, but TypeORM still hydrates the
1009
+ // author with `new User()`, which leaves every initialiser-backed property (active,
1010
+ // forcePasswordChange, ...) sitting on the instance holding its default rather than a
1011
+ // value read from the database. Replace it with a plain object of exactly the
1012
+ // allowlisted keys so the response cannot report fabricated defaults as data.
1013
+ this.trimMessageUsers(entities);
1014
+
917
1015
  // Convert date strings in message details to ISO format for consistent handling on the frontend
918
1016
  const DATE_FIELD_TYPES = ['date', 'datetime', 'time'];
919
1017
  for (const entity of entities) {
@@ -3,9 +3,12 @@ import { BasicFilterDto } from "../dtos/basic-filters.dto";
3
3
  import { classify } from '../helpers/string.helper';
4
4
  import { ActiveUserData } from "src/interfaces/active-user-data.interface";
5
5
  import { SolidRegistry } from "src/helpers/solid-registry";
6
- import { BadRequestException, Logger } from "@nestjs/common";
6
+ import { BadRequestException, Injectable, Logger } from "@nestjs/common";
7
7
  import { ERROR_MESSAGES } from "src/constants/error-messages";
8
8
  import { buildCastToText } from "src/helpers/typeorm-db-helper";
9
+ import { DraftPublishHelperService } from "./draft-publish-helper.service";
10
+ import { InternationalisationHelperService } from "./internationalisation-helper.service";
11
+ import { normalizeObjectKeys } from "./object.utils";
9
12
 
10
13
  export enum FilterCombinator {
11
14
  AND = '$and',
@@ -36,10 +39,14 @@ export interface ResolvedFieldPath {
36
39
  leafIsRelation: boolean;
37
40
  }
38
41
 
42
+ @Injectable()
39
43
  export class CrudHelperService {
44
+ private readonly logger = new Logger(CrudHelperService.name);
45
+
40
46
  constructor(
47
+ private readonly draftPublishHelperService: DraftPublishHelperService,
48
+ private readonly internationalisationHelperService: InternationalisationHelperService,
41
49
  ) { }
42
- private readonly logger = new Logger(CrudHelperService.name);
43
50
 
44
51
  /**
45
52
  * Resolve a user-supplied dotted path (e.g. "customer.name") against real TypeORM metadata.
@@ -163,7 +170,7 @@ export class CrudHelperService {
163
170
  }
164
171
 
165
172
  applyFilters(qb: WhereExpressionBuilder, filters: any, alias: string = 'entity', selectQb: SelectQueryBuilder<any>) {
166
- const normalizedFilters = this.normalizeObjectKeys(filters);
173
+ const normalizedFilters = normalizeObjectKeys(filters);
167
174
  if (normalizedFilters.$and) {
168
175
  normalizedFilters.$and.forEach((andFilter: any) => {
169
176
  qb.andWhere(
@@ -182,7 +189,7 @@ export class CrudHelperService {
182
189
  // For individual conditions
183
190
  Object.keys(normalizedFilters).forEach(key => {
184
191
  const primaryFilterObj = normalizedFilters[key];
185
- const normalizedPrimaryFilterObj = this.normalizeObjectKeys(primaryFilterObj);
192
+ const normalizedPrimaryFilterObj = normalizeObjectKeys(primaryFilterObj);
186
193
 
187
194
  const [rawField, funcAlias] = key.split(':');
188
195
 
@@ -312,17 +319,6 @@ export class CrudHelperService {
312
319
  }
313
320
  }
314
321
 
315
- // Normalize the primary operator object by removing the surrounding brackets in the keys e.g [$eq] => $eq
316
- private normalizeObjectKeys(obj: any): any {
317
- return Object.keys(obj).reduce((acc, key) => {
318
- // Transform the key by removing surrounding brackets
319
- const newKey = key.replace(/^\[(.*)\]$/, '$1');
320
- // Assign the value to the transformed key in the accumulator object
321
- acc[newKey] = obj[key];
322
- return acc;
323
- }, {});
324
- }
325
-
326
322
  normalize(value: string | string[]): string[] {
327
323
  if (!value) return []; // if the value is nullish, then return an empty array
328
324
  return Array.isArray(value) ? value : [value]; // if the value is an array, return it as is, otherwise return it as an array
@@ -359,7 +355,7 @@ export class CrudHelperService {
359
355
  applySorting: boolean = true
360
356
  ): SelectQueryBuilder<any> { // TODO : Check how to pass a type to SelectQueryBuilder instead of any
361
357
  let { limit, offset, showSoftDeleted, filters } = basicFilterDto;
362
- const { fields, sort, populate = [], populateMedia = [], locale, status } = basicFilterDto;
358
+ const { fields, sort, populate = [], populateMedia = [], locale } = basicFilterDto;
363
359
 
364
360
  // Normalize the fields, sort, groupBy and populate options i.e (since they can be either a string or an array of strings, when coming from the request)
365
361
  const normalizedFields = this.normalize(fields);
@@ -390,28 +386,14 @@ export class CrudHelperService {
390
386
  }
391
387
  }
392
388
 
393
- let finalLocale = locale
394
389
  if (internationalisation) {
395
- // If locale is not provided in the filter dto, then assume it is the default locale to be used.
396
- if (!finalLocale) {
397
- //Get default locale from registry
398
- const solidRegistry = moduleRef.get(SolidRegistry, { strict: false });
399
- const defaultLocale = solidRegistry.getDefaultLocale();
400
- if(defaultLocale){
401
- finalLocale = defaultLocale.locale;
402
- }else{
403
- finalLocale = 'en';
404
- }
405
- }
390
+ // If locale is not provided in the filter dto, then assume it is the default locale to be used.
391
+ const finalLocale = locale || this.internationalisationHelperService.resolveDefaultLocaleName(moduleRef.get(SolidRegistry, { strict: false }));
406
392
  qb.andWhere(`${entityAlias}.localeName = :locale`, { locale: finalLocale });
407
393
  }
408
394
 
409
- if (draftPublishWorkflow && status) {
410
- if (basicFilterDto.status === 'published') {
411
- qb.andWhere(`${entityAlias}.publishedAt IS NOT NULL`);
412
- } else if (basicFilterDto.status === 'draft') {
413
- qb.andWhere(`${entityAlias}.publishedAt IS NULL`);
414
- }
395
+ if (draftPublishWorkflow) {
396
+ this.draftPublishHelperService.applyDraftPublishFilterDefaults(qb, filters, entityAlias);
415
397
  }
416
398
  // Depending upon the select option, apply the select clause
417
399
  if (normalizedFields && normalizedFields.length) {