rez_core 5.0.29 → 5.0.30

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 (427) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.idea/250218_nodejs_core.iml +9 -0
  3. package/.idea/codeStyles/Project.xml +59 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/copilot.data.migration.agent.xml +6 -0
  6. package/.idea/copilot.data.migration.ask.xml +6 -0
  7. package/.idea/copilot.data.migration.ask2agent.xml +6 -0
  8. package/.idea/copilot.data.migration.edit.xml +6 -0
  9. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  10. package/.idea/misc.xml +6 -0
  11. package/.idea/modules.xml +8 -0
  12. package/.idea/prettier.xml +6 -0
  13. package/.idea/vcs.xml +6 -0
  14. package/.prettierrc +3 -3
  15. package/README.md +99 -99
  16. package/dist/module/auth/guards/role.guard.js +3 -3
  17. package/dist/module/auth/services/auth.service.js +2 -2
  18. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  19. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  20. package/dist/module/filter/service/filter.service.js +22 -22
  21. package/dist/module/integration/examples/usage.example.js +9 -9
  22. package/dist/module/integration/service/integration.service.js +1 -1
  23. package/dist/module/integration/service/wrapper.service.js +26 -26
  24. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  25. package/dist/module/listmaster/service/list-master.service.js +0 -9
  26. package/dist/module/listmaster/service/list-master.service.js.map +1 -1
  27. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  28. package/dist/module/mapper/service/mapper.service.js +2 -2
  29. package/dist/module/meta/repository/entity-attribute-update.repository.js +3 -3
  30. package/dist/module/meta/repository/entity-master.repository.js +6 -6
  31. package/dist/module/meta/service/entity-dynamic.service.js +44 -44
  32. package/dist/module/meta/service/entity-list.service.js +3 -3
  33. package/dist/module/meta/service/entity-master.service.js +3 -3
  34. package/dist/module/meta/service/entity-relation.service.js +9 -9
  35. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  36. package/dist/module/meta/service/resolver.service.js +3 -3
  37. package/dist/module/module/repository/menu.repository.js +12 -12
  38. package/dist/module/notification/service/notification.service.js +10 -10
  39. package/dist/module/user/controller/login.controller.js +18 -18
  40. package/dist/module/user/service/role.service.js +4 -4
  41. package/dist/module/user/service/user-session.service.js +2 -2
  42. package/dist/module/workflow/repository/action.repository.js +21 -20
  43. package/dist/module/workflow/repository/action.repository.js.map +1 -1
  44. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  45. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  46. package/dist/module/workflow/repository/stage-group.repository.js +20 -20
  47. package/dist/module/workflow/repository/stage-movement.repository.js +17 -17
  48. package/dist/module/workflow/repository/stage.repository.js +8 -8
  49. package/dist/module/workflow/service/action-template-mapping.service.js +31 -31
  50. package/dist/module/workflow/service/action.service.js +7 -7
  51. package/dist/module/workflow/service/entity-modification.service.js +2 -2
  52. package/dist/module/workflow/service/stage-group.service.js +2 -2
  53. package/dist/module/workflow/service/stage.service.js +2 -2
  54. package/dist/module/workflow/service/task.service.js +35 -35
  55. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  56. package/dist/module/workflow/service/workflow-meta.service.js +26 -26
  57. package/dist/module/workflow/service/workflow.service.js +2 -2
  58. package/dist/module/workflow-automation/service/schedule-handler.service.js +9 -9
  59. package/dist/module/workflow-schedule/processors/schedule.processor.js +4 -4
  60. package/dist/module/workflow-schedule/service/workflow-schedule.service.js +9 -9
  61. package/dist/tsconfig.build.tsbuildinfo +1 -1
  62. package/dist/utils/service/reflection-helper.service.js +2 -2
  63. package/docs/modules/event-driven-integration-design.md +91 -91
  64. package/docs/modules/integration.md +250 -250
  65. package/eslint.config.mjs +34 -34
  66. package/nest-cli.json +14 -14
  67. package/package.json +124 -124
  68. package/server.log +850 -0
  69. package/src/app.controller.ts +12 -12
  70. package/src/app.module.ts +66 -66
  71. package/src/app.service.ts +8 -8
  72. package/src/config/bull.config.ts +69 -69
  73. package/src/config/config.module.ts +17 -17
  74. package/src/config/database.config.ts +48 -48
  75. package/src/constant/global.constant.ts +67 -67
  76. package/src/core.module.ts +88 -88
  77. package/src/decorators/roles.decorator.ts +7 -7
  78. package/src/dtos/response.dto.ts +6 -6
  79. package/src/dtos/response.ts +5 -5
  80. package/src/index.ts +1 -1
  81. package/src/module/auth/auth.module.ts +49 -49
  82. package/src/module/auth/controller/auth.controller.ts +28 -28
  83. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  84. package/src/module/auth/guards/jwt.guard.ts +22 -22
  85. package/src/module/auth/guards/role.guard.ts +68 -68
  86. package/src/module/auth/services/auth.service.ts +50 -50
  87. package/src/module/auth/services/jwt.service.ts +11 -11
  88. package/src/module/auth/strategies/google.strategy.ts +54 -54
  89. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  90. package/src/module/auth/strategies/local.strategy.ts +13 -13
  91. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  92. package/src/module/dashboard/dashboard.module.ts +21 -21
  93. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  94. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  95. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  96. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  97. package/src/module/dev/dev.module.ts +12 -12
  98. package/src/module/dev/service/dev.service.ts +7 -7
  99. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  100. package/src/module/enterprise/enterprise.module.ts +30 -30
  101. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  102. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  103. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  104. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  105. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  106. package/src/module/enterprise/repository/school.repository.ts +278 -278
  107. package/src/module/enterprise/service/brand.service.ts +5 -5
  108. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  109. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  110. package/src/module/enterprise/service/organization.service.ts +145 -145
  111. package/src/module/entity_json/controller/entity_json.controller.ts +47 -47
  112. package/src/module/entity_json/entity/entityJson.entity.ts +39 -39
  113. package/src/module/entity_json/entity_json.module.ts +18 -18
  114. package/src/module/entity_json/service/entityJson.repository.ts +37 -37
  115. package/src/module/entity_json/service/entity_json.service.ts +234 -234
  116. package/src/module/filter/controller/filter.controller.ts +84 -84
  117. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  118. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  119. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  120. package/src/module/filter/filter.module.ts +31 -31
  121. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  122. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  123. package/src/module/filter/service/filter.service.ts +1144 -1144
  124. package/src/module/filter/service/saved-filter.service.ts +170 -170
  125. package/src/module/ics/controller/ics.controller.ts +21 -21
  126. package/src/module/ics/dto/ics.dto.ts +55 -55
  127. package/src/module/ics/ics.module.ts +13 -13
  128. package/src/module/ics/service/ics.service.ts +57 -57
  129. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  130. package/src/module/integration/controller/integration.controller.ts +662 -662
  131. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  132. package/src/module/integration/dto/create-config.dto.ts +526 -526
  133. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  134. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  135. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  136. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  137. package/src/module/integration/examples/usage.example.ts +338 -338
  138. package/src/module/integration/factories/base.factory.ts +7 -7
  139. package/src/module/integration/factories/email.factory.ts +49 -49
  140. package/src/module/integration/factories/integration.factory.ts +121 -121
  141. package/src/module/integration/factories/sms.factory.ts +51 -51
  142. package/src/module/integration/factories/telephone.factory.ts +41 -41
  143. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  144. package/src/module/integration/integration.module.ts +110 -110
  145. package/src/module/integration/service/calendar-event.service.ts +118 -118
  146. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  147. package/src/module/integration/service/integration-queue.service.ts +229 -229
  148. package/src/module/integration/service/integration.service.ts +2633 -2633
  149. package/src/module/integration/service/oauth.service.ts +224 -224
  150. package/src/module/integration/service/wrapper.service.ts +701 -701
  151. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  152. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  153. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  154. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  155. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  156. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  157. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  158. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  159. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  160. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  161. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  162. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  163. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  164. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  165. package/src/module/layout/controller/layout.controller.ts +47 -47
  166. package/src/module/layout/entity/header-items.entity.ts +28 -28
  167. package/src/module/layout/entity/header-section.entity.ts +19 -19
  168. package/src/module/layout/layout.module.ts +21 -21
  169. package/src/module/layout/repository/header-items.repository.ts +18 -18
  170. package/src/module/layout/repository/header-section.repository.ts +22 -22
  171. package/src/module/layout/service/header-section.service.ts +25 -25
  172. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  173. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  174. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  175. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  176. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  177. package/src/module/lead/controller/lead.controller.ts +30 -30
  178. package/src/module/lead/lead.module.ts +14 -14
  179. package/src/module/lead/repository/lead.repository.ts +41 -41
  180. package/src/module/lead/service/lead.service.ts +54 -54
  181. package/src/module/linked_attributes/controller/linked_attributes.controller.ts +34 -34
  182. package/src/module/linked_attributes/entity/linked_attribute.entity.ts +51 -51
  183. package/src/module/linked_attributes/linked_attributes.module.ts +16 -16
  184. package/src/module/linked_attributes/repository/linked_attribute.repository.ts +12 -12
  185. package/src/module/linked_attributes/service/linked_attributes.service.ts +102 -102
  186. package/src/module/listmaster/controller/list-master.controller.ts +230 -230
  187. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  188. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  189. package/src/module/listmaster/listmaster.module.ts +46 -46
  190. package/src/module/listmaster/repository/list-master-items.repository.ts +173 -173
  191. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  192. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  193. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  194. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  195. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  196. package/src/module/listmaster/service/list-master.service.ts +544 -558
  197. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  198. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  199. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  200. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  201. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  202. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  203. package/src/module/mapper/mapper.module.ts +34 -34
  204. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  205. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  206. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  207. package/src/module/mapper/service/field-mapper.service.ts +271 -271
  208. package/src/module/mapper/service/mapper.service.ts +79 -79
  209. package/src/module/master/controller/master.controller.ts +74 -74
  210. package/src/module/master/service/master.service.ts +483 -483
  211. package/src/module/meta/controller/app-master.controller.ts +38 -38
  212. package/src/module/meta/controller/attribute-master.controller.ts +84 -84
  213. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  214. package/src/module/meta/controller/entity-master.controller.ts +41 -41
  215. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  216. package/src/module/meta/controller/entity.controller.ts +392 -392
  217. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  218. package/src/module/meta/controller/media.controller.ts +107 -107
  219. package/src/module/meta/controller/meta.controller.ts +96 -96
  220. package/src/module/meta/controller/view-master.controller.ts +86 -86
  221. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  222. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  223. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  224. package/src/module/meta/entity/app-master.entity.ts +34 -34
  225. package/src/module/meta/entity/attribute-master.entity.ts +92 -92
  226. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  227. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  228. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  229. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  230. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  231. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  232. package/src/module/meta/entity/media-data.entity.ts +32 -32
  233. package/src/module/meta/entity/preference.entity.ts +62 -62
  234. package/src/module/meta/entity/view-master.entity.ts +41 -41
  235. package/src/module/meta/entity.module.ts +166 -166
  236. package/src/module/meta/repository/app-master.repository.ts +20 -20
  237. package/src/module/meta/repository/attribute-master.repository.ts +138 -138
  238. package/src/module/meta/repository/entity-attribute-update.repository.ts +44 -44
  239. package/src/module/meta/repository/entity-master.repository.ts +111 -111
  240. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  241. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  242. package/src/module/meta/repository/media-data.repository.ts +50 -50
  243. package/src/module/meta/repository/preference.repository.ts +20 -20
  244. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  245. package/src/module/meta/repository/view-master.repository.ts +42 -42
  246. package/src/module/meta/service/app-master.service.ts +37 -37
  247. package/src/module/meta/service/attribute-master.service.ts +130 -130
  248. package/src/module/meta/service/common.service.ts +9 -9
  249. package/src/module/meta/service/entity-attribute-update.service.ts +28 -28
  250. package/src/module/meta/service/entity-dynamic.service.ts +809 -809
  251. package/src/module/meta/service/entity-list.service.ts +205 -205
  252. package/src/module/meta/service/entity-master.service.ts +175 -175
  253. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  254. package/src/module/meta/service/entity-relation.service.ts +87 -87
  255. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  256. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  257. package/src/module/meta/service/entity-table.service.ts +150 -150
  258. package/src/module/meta/service/entity-validation.service.ts +187 -187
  259. package/src/module/meta/service/entity.service.ts +67 -67
  260. package/src/module/meta/service/field-group.service.ts +103 -103
  261. package/src/module/meta/service/media-data.service.ts +507 -507
  262. package/src/module/meta/service/populate-meta.service.ts +193 -193
  263. package/src/module/meta/service/preference.service.ts +16 -16
  264. package/src/module/meta/service/resolver.service.ts +271 -271
  265. package/src/module/meta/service/section-master.service.ts +104 -104
  266. package/src/module/meta/service/update-form-json.service.ts +22 -22
  267. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  268. package/src/module/meta/service/view-master.service.ts +127 -127
  269. package/src/module/microservice-client/microservice-clients.module.ts +13 -13
  270. package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
  271. package/src/module/microservice-client/service/microservice-clients.ts +4 -4
  272. package/src/module/module/controller/menu.controller.ts +15 -15
  273. package/src/module/module/controller/module-access.controller.ts +134 -134
  274. package/src/module/module/entity/menu.entity.ts +43 -43
  275. package/src/module/module/entity/module-access.entity.ts +25 -25
  276. package/src/module/module/entity/module-action.entity.ts +17 -17
  277. package/src/module/module/entity/module.entity.ts +52 -52
  278. package/src/module/module/module.module.ts +42 -42
  279. package/src/module/module/repository/menu.repository.ts +184 -184
  280. package/src/module/module/repository/module-access.repository.ts +344 -344
  281. package/src/module/module/service/menu.service.ts +82 -82
  282. package/src/module/module/service/module-access.service.ts +194 -194
  283. package/src/module/notification/controller/notification.controller.ts +58 -58
  284. package/src/module/notification/controller/otp.controller.ts +117 -117
  285. package/src/module/notification/entity/notification.entity.ts +26 -26
  286. package/src/module/notification/entity/otp.entity.ts +28 -28
  287. package/src/module/notification/firebase-admin.config.ts +22 -22
  288. package/src/module/notification/notification.module.ts +69 -69
  289. package/src/module/notification/repository/otp.repository.ts +27 -27
  290. package/src/module/notification/service/email.service.ts +127 -127
  291. package/src/module/notification/service/notification.service.ts +160 -160
  292. package/src/module/notification/service/otp.service.ts +133 -133
  293. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  294. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  295. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  296. package/src/module/third-party-module/third-party.module.ts +12 -12
  297. package/src/module/user/controller/login.controller.ts +198 -198
  298. package/src/module/user/controller/user.controller.ts +40 -40
  299. package/src/module/user/dto/create-user.dto.ts +62 -62
  300. package/src/module/user/dto/update-user.dto.ts +4 -4
  301. package/src/module/user/entity/role.entity.ts +33 -33
  302. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  303. package/src/module/user/entity/user-session.entity.ts +73 -73
  304. package/src/module/user/entity/user.entity.ts +59 -59
  305. package/src/module/user/repository/role.repository.ts +96 -96
  306. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  307. package/src/module/user/repository/user.repository.ts +50 -50
  308. package/src/module/user/repository/userSession.repository.ts +33 -33
  309. package/src/module/user/service/login.service.ts +326 -326
  310. package/src/module/user/service/role.service.ts +189 -189
  311. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  312. package/src/module/user/service/user-session.service.ts +168 -168
  313. package/src/module/user/service/user.service.ts +368 -368
  314. package/src/module/user/user.module.ts +65 -65
  315. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  316. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  317. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  318. package/src/module/workflow/controller/action.controller.ts +111 -111
  319. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  320. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  321. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  322. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  323. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  324. package/src/module/workflow/controller/stage.controller.ts +50 -50
  325. package/src/module/workflow/controller/task.controller.ts +77 -77
  326. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  327. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  328. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  329. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  330. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  331. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  332. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  333. package/src/module/workflow/entity/action.entity.ts +53 -53
  334. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  335. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  336. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  337. package/src/module/workflow/entity/form.entity.ts +25 -25
  338. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  339. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  340. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  341. package/src/module/workflow/entity/stage.entity.ts +20 -20
  342. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  343. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  344. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  345. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  346. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  347. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  348. package/src/module/workflow/repository/action-data.repository.ts +334 -334
  349. package/src/module/workflow/repository/action.repository.ts +324 -323
  350. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  351. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  352. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  353. package/src/module/workflow/repository/stage-group.repository.ts +197 -197
  354. package/src/module/workflow/repository/stage-movement.repository.ts +246 -246
  355. package/src/module/workflow/repository/stage.repository.ts +172 -172
  356. package/src/module/workflow/repository/task.repository.ts +134 -134
  357. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  358. package/src/module/workflow/service/action-category.service.ts +33 -33
  359. package/src/module/workflow/service/action-data.service.ts +62 -62
  360. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  361. package/src/module/workflow/service/action-template-mapping.service.ts +115 -115
  362. package/src/module/workflow/service/action.service.ts +279 -279
  363. package/src/module/workflow/service/activity-log.service.ts +107 -107
  364. package/src/module/workflow/service/comm-template.service.ts +180 -180
  365. package/src/module/workflow/service/entity-modification.service.ts +61 -61
  366. package/src/module/workflow/service/form-master.service.ts +35 -35
  367. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  368. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  369. package/src/module/workflow/service/stage-group.service.ts +342 -342
  370. package/src/module/workflow/service/stage.service.ts +199 -199
  371. package/src/module/workflow/service/task.service.ts +558 -558
  372. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  373. package/src/module/workflow/service/workflow-meta.service.ts +654 -654
  374. package/src/module/workflow/service/workflow.service.ts +205 -205
  375. package/src/module/workflow/workflow.module.ts +178 -178
  376. package/src/module/workflow-automation/SCHEDULING_GUIDE.md +145 -145
  377. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +43 -43
  378. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  379. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +40 -40
  380. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  381. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  382. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  383. package/src/module/workflow-automation/service/schedule-handler.service.ts +168 -168
  384. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +224 -224
  385. package/src/module/workflow-automation/service/workflow-automation.service.ts +515 -515
  386. package/src/module/workflow-automation/workflow-automation.module.ts +54 -54
  387. package/src/module/workflow-schedule/INSTALLATION.md +244 -244
  388. package/src/module/workflow-schedule/MULTI_PROJECT_GUIDE.md +196 -196
  389. package/src/module/workflow-schedule/README.md +422 -422
  390. package/src/module/workflow-schedule/constants/schedule.constants.ts +48 -48
  391. package/src/module/workflow-schedule/controller/workflow-schedule.controller.ts +255 -255
  392. package/src/module/workflow-schedule/docs/CLAUDE_CODE_GUIDE.md +510 -510
  393. package/src/module/workflow-schedule/docs/CLAUDE_CODE_PROMPT.md +362 -362
  394. package/src/module/workflow-schedule/docs/RUN_CLAUDE_CODE.sh +68 -68
  395. package/src/module/workflow-schedule/dto/create-schedule.dto.ts +147 -147
  396. package/src/module/workflow-schedule/dto/get-execution-logs.dto.ts +119 -119
  397. package/src/module/workflow-schedule/dto/update-schedule.dto.ts +96 -96
  398. package/src/module/workflow-schedule/entities/scheduled-workflow.entity.ts +148 -148
  399. package/src/module/workflow-schedule/entities/workflow-execution-log.entity.ts +154 -154
  400. package/src/module/workflow-schedule/interfaces/schedule-job-data.interface.ts +53 -53
  401. package/src/module/workflow-schedule/interfaces/workflow-schedule-options.interface.ts +12 -12
  402. package/src/module/workflow-schedule/processors/schedule.processor.ts +584 -584
  403. package/src/module/workflow-schedule/service/workflow-schedule.service.ts +600 -600
  404. package/src/module/workflow-schedule/workflow-schedule.module.ts +67 -67
  405. package/src/resources/dev.properties.yaml +31 -31
  406. package/src/resources/local.properties.yaml +27 -27
  407. package/src/resources/properties.module.ts +12 -12
  408. package/src/resources/properties.yaml.ts +11 -11
  409. package/src/resources/uat.properties.yaml +31 -31
  410. package/src/table.config.ts +130 -130
  411. package/src/utils/dto/excel-data.dto.ts +14 -14
  412. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  413. package/src/utils/service/base64util.service.ts +18 -18
  414. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  415. package/src/utils/service/codeGenerator.service.ts +22 -22
  416. package/src/utils/service/dateUtil.service.ts +17 -17
  417. package/src/utils/service/encryptUtil.service.ts +97 -97
  418. package/src/utils/service/excel-helper.service.ts +72 -72
  419. package/src/utils/service/excelUtil.service.ts +15 -15
  420. package/src/utils/service/file-util.service.ts +11 -11
  421. package/src/utils/service/json-util.service.ts +23 -23
  422. package/src/utils/service/loggingUtil.service.ts +88 -88
  423. package/src/utils/service/reflection-helper.service.ts +62 -62
  424. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  425. package/src/utils/utils.module.ts +27 -27
  426. package/tsconfig.build.json +4 -4
  427. package/tsconfig.json +24 -24
@@ -1,54 +1,54 @@
1
- import { forwardRef, Module } from '@nestjs/common';
2
- import { TypeOrmModule } from '@nestjs/typeorm';
3
- import { DiscoveryModule } from '@nestjs/core';
4
- import { WorkflowAutomation } from './entity/workflow-automation.entity';
5
- import { WorkflowAutomationController } from './controller/workflow-automation.controller';
6
- import { WorkflowAutomationEngineService } from './service/workflow-automation-engine.service';
7
- import { FilterModule } from '../filter/filter.module';
8
- import { WorkflowAutomationService } from './service/workflow-automation.service';
9
- import { WorkflowAutomationActionEntity } from './entity/workflow-automation-action.entity';
10
- import { EntityModule } from '../meta/entity.module';
11
- import { ActionRegistryService } from './service/action-registery.service';
12
- import { ScheduleHandlerService } from './service/schedule-handler.service';
13
- import { ScheduledWorkflow } from '../workflow-schedule/entities/scheduled-workflow.entity';
14
- import { WorkflowExecutionLog } from '../workflow-schedule/entities/workflow-execution-log.entity';
15
- import {EntityMaster} from "../meta/entity/entity-master.entity";
16
- import { ListMasterData } from '../listmaster/entity/list-master.entity';
17
- import { ActionCategory } from '../workflow/entity/action-category.entity';
18
- import { WorkflowScheduleModule } from '../workflow-schedule/workflow-schedule.module';
19
-
20
- @Module({
21
- imports: [
22
- TypeOrmModule.forFeature([
23
- WorkflowAutomation,
24
- WorkflowAutomationActionEntity,
25
- ScheduledWorkflow, // 👈 Required by WorkflowAutomationService
26
- WorkflowExecutionLog, // 👈 May be used by services
27
- EntityMaster,
28
- ListMasterData,
29
- ActionCategory
30
- ]),
31
- FilterModule,
32
- forwardRef(() => EntityModule),
33
- DiscoveryModule, // 👈 enables provider scanning
34
- ],
35
- providers: [
36
- WorkflowAutomationEngineService,
37
- {
38
- provide: 'WorkflowAutomationService',
39
- useClass: WorkflowAutomationService,
40
- },
41
- {
42
- provide: 'ScheduleHandlerService',
43
- useClass: ScheduleHandlerService,
44
- },
45
- ActionRegistryService, // 👈 auto-registers actions
46
- ],
47
- exports: [
48
- WorkflowAutomationEngineService,
49
- 'WorkflowAutomationService',
50
- 'ScheduleHandlerService',
51
- ],
52
- controllers: [WorkflowAutomationController],
53
- })
54
- export class WorkflowAutomationModule {}
1
+ import { forwardRef, Module } from '@nestjs/common';
2
+ import { TypeOrmModule } from '@nestjs/typeorm';
3
+ import { DiscoveryModule } from '@nestjs/core';
4
+ import { WorkflowAutomation } from './entity/workflow-automation.entity';
5
+ import { WorkflowAutomationController } from './controller/workflow-automation.controller';
6
+ import { WorkflowAutomationEngineService } from './service/workflow-automation-engine.service';
7
+ import { FilterModule } from '../filter/filter.module';
8
+ import { WorkflowAutomationService } from './service/workflow-automation.service';
9
+ import { WorkflowAutomationActionEntity } from './entity/workflow-automation-action.entity';
10
+ import { EntityModule } from '../meta/entity.module';
11
+ import { ActionRegistryService } from './service/action-registery.service';
12
+ import { ScheduleHandlerService } from './service/schedule-handler.service';
13
+ import { ScheduledWorkflow } from '../workflow-schedule/entities/scheduled-workflow.entity';
14
+ import { WorkflowExecutionLog } from '../workflow-schedule/entities/workflow-execution-log.entity';
15
+ import {EntityMaster} from "../meta/entity/entity-master.entity";
16
+ import { ListMasterData } from '../listmaster/entity/list-master.entity';
17
+ import { ActionCategory } from '../workflow/entity/action-category.entity';
18
+ import { WorkflowScheduleModule } from '../workflow-schedule/workflow-schedule.module';
19
+
20
+ @Module({
21
+ imports: [
22
+ TypeOrmModule.forFeature([
23
+ WorkflowAutomation,
24
+ WorkflowAutomationActionEntity,
25
+ ScheduledWorkflow, // 👈 Required by WorkflowAutomationService
26
+ WorkflowExecutionLog, // 👈 May be used by services
27
+ EntityMaster,
28
+ ListMasterData,
29
+ ActionCategory
30
+ ]),
31
+ FilterModule,
32
+ forwardRef(() => EntityModule),
33
+ DiscoveryModule, // 👈 enables provider scanning
34
+ ],
35
+ providers: [
36
+ WorkflowAutomationEngineService,
37
+ {
38
+ provide: 'WorkflowAutomationService',
39
+ useClass: WorkflowAutomationService,
40
+ },
41
+ {
42
+ provide: 'ScheduleHandlerService',
43
+ useClass: ScheduleHandlerService,
44
+ },
45
+ ActionRegistryService, // 👈 auto-registers actions
46
+ ],
47
+ exports: [
48
+ WorkflowAutomationEngineService,
49
+ 'WorkflowAutomationService',
50
+ 'ScheduleHandlerService',
51
+ ],
52
+ controllers: [WorkflowAutomationController],
53
+ })
54
+ export class WorkflowAutomationModule {}
@@ -1,244 +1,244 @@
1
- # Workflow Schedule Module - Installation Guide
2
-
3
- ## Quick Start
4
-
5
- ### Step 1: Install Dependencies
6
-
7
- ```bash
8
- npm install @nestjs/bull bull redis cron-parser
9
- npm install --save-dev @types/bull
10
- ```
11
-
12
- **Note:** `cron-parser` includes its own TypeScript definitions, so no `@types` package is needed.
13
-
14
- ### Step 2: Setup Redis
15
-
16
- #### Option A: Using Docker (Recommended)
17
- ```bash
18
- docker run -d \
19
- --name redis-workflow \
20
- -p 6379:6379 \
21
- redis:latest
22
- ```
23
-
24
- #### Option B: Local Installation
25
- **macOS:**
26
- ```bash
27
- brew install redis
28
- brew services start redis
29
- ```
30
-
31
- **Ubuntu/Debian:**
32
- ```bash
33
- sudo apt-get install redis-server
34
- sudo systemctl start redis-server
35
- ```
36
-
37
- **Windows:**
38
- Download from: https://redis.io/download
39
-
40
- ### Step 3: Configure Environment Variables
41
-
42
- Add to your `.env` file:
43
-
44
- ```env
45
- # Redis Configuration
46
- REDIS_HOST=localhost
47
- REDIS_PORT=6379
48
- REDIS_PASSWORD=
49
- REDIS_DB=0
50
-
51
- # Existing Database Configuration (verify these)
52
- DB_HOST=13.234.25.234
53
- DB_PORT=3306
54
- DB_USER=root
55
- DB_PASS=Rezolut@123
56
- DB_NAME=core
57
- ```
58
-
59
- ### Step 4: Verify Redis Connection
60
-
61
- ```bash
62
- # Test Redis connection
63
- redis-cli ping
64
- # Should respond: PONG
65
- ```
66
-
67
- ### Step 5: Run Database Migrations
68
-
69
- The module requires three migrations to be run:
70
-
71
- ```bash
72
- # Using TypeORM CLI (recommended)
73
- npx ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js migration:run -d src/config/database.config.ts
74
-
75
- # Or create a migration script in package.json:
76
- # "migration:run": "typeorm migration:run -d src/config/database.config.ts"
77
- # Then run:
78
- npm run migration:run
79
- ```
80
-
81
- **Migrations will create:**
82
- 1. ✅ `workflow_type` column in `cr_wf_master` table
83
- 2. ✅ `cr_wf_scheduled_workflow` table with indexes
84
- 3. ✅ `cr_wf_execution_log` table with indexes
85
-
86
- ### Step 6: Start Your Application
87
-
88
- ```bash
89
- npm run start:dev
90
- ```
91
-
92
- ### Step 7: Verify Installation
93
-
94
- Check the console logs for:
95
- ```
96
- [Nest] INFO [BullModule] Bull queues registered
97
- [Nest] INFO [WorkflowScheduleModule] Workflow Schedule Module initialized
98
- ```
99
-
100
- ## Quick Test
101
-
102
- ### Create Your First Schedule
103
-
104
- ```bash
105
- curl -X POST http://localhost:3000/workflow-schedule/create \
106
- -H "Content-Type: application/json" \
107
- -H "Authorization: Bearer YOUR_JWT_TOKEN" \
108
- -d '{
109
- "workflow_id": 1,
110
- "name": "Test Schedule",
111
- "cron_expression": "*/5 * * * *",
112
- "timezone": "Asia/Kolkata",
113
- "actions": []
114
- }'
115
- ```
116
-
117
- ### List All Schedules
118
-
119
- ```bash
120
- curl -X GET http://localhost:3000/workflow-schedule/list \
121
- -H "Authorization: Bearer YOUR_JWT_TOKEN"
122
- ```
123
-
124
- ## Troubleshooting
125
-
126
- ### Issue: Cannot connect to Redis
127
-
128
- **Solution:**
129
- ```bash
130
- # Check if Redis is running
131
- redis-cli ping
132
-
133
- # If not running, start Redis
134
- docker start redis-workflow
135
- # or
136
- brew services start redis
137
- ```
138
-
139
- ### Issue: Migration fails with "Table already exists"
140
-
141
- **Solution:**
142
- Migrations check if tables exist before creating them. If you see this message, the tables are already present. You can safely ignore it.
143
-
144
- ### Issue: Jobs are not processing
145
-
146
- **Checklist:**
147
- - [ ] Redis is running and accessible
148
- - [ ] Schedule status is `ACTIVE`
149
- - [ ] Schedule `is_enabled` is `true`
150
- - [ ] Cron expression is valid
151
- - [ ] Application has restarted after creating the schedule
152
-
153
- **Verify:**
154
- ```bash
155
- # Check Redis keys
156
- redis-cli KEYS "bull:workflow-schedule:*"
157
-
158
- # Should show keys if jobs are queued
159
- ```
160
-
161
- ### Issue: TypeScript errors after installation
162
-
163
- **Solution:**
164
- ```bash
165
- # Clear node_modules and reinstall
166
- rm -rf node_modules package-lock.json
167
- npm install
168
-
169
- # Restart your IDE/editor
170
- ```
171
-
172
- ## Verify Bull Queue Dashboard (Optional)
173
-
174
- Install Bull Board for visual queue monitoring:
175
-
176
- ```bash
177
- npm install @bull-board/express @bull-board/api
178
- ```
179
-
180
- Add to your `main.ts`:
181
- ```typescript
182
- import { createBullBoard } from '@bull-board/api';
183
- import { BullAdapter } from '@bull-board/api/bullAdapter';
184
- import { ExpressAdapter } from '@bull-board/express';
185
-
186
- // Get queue from your app
187
- const schedulerQueue = app.get('BullQueue_workflow-schedule');
188
-
189
- const serverAdapter = new ExpressAdapter();
190
- createBullBoard({
191
- queues: [new BullAdapter(schedulerQueue)],
192
- serverAdapter,
193
- });
194
-
195
- serverAdapter.setBasePath('/admin/queues');
196
- app.use('/admin/queues', serverAdapter.getRouter());
197
- ```
198
-
199
- Then access: `http://localhost:3000/admin/queues`
200
-
201
- ## Package Versions
202
-
203
- Tested with:
204
- ```json
205
- {
206
- "@nestjs/bull": "^10.0.0",
207
- "@nestjs/common": "^11.0.0",
208
- "@nestjs/core": "^11.0.0",
209
- "bull": "^4.12.0",
210
- "redis": "^4.6.0",
211
- "cron-parser": "^4.9.0"
212
- }
213
- ```
214
-
215
- ## Production Checklist
216
-
217
- Before deploying to production:
218
-
219
- - [ ] Configure Redis with persistence
220
- - [ ] Set up Redis password authentication
221
- - [ ] Configure appropriate retry strategies
222
- - [ ] Set up monitoring and alerting
223
- - [ ] Configure log retention policies
224
- - [ ] Test failover scenarios
225
- - [ ] Set up backup for scheduled workflow configurations
226
- - [ ] Document schedule ownership and purpose
227
- - [ ] Configure rate limiting if needed
228
- - [ ] Set up Redis clustering for high availability
229
-
230
- ## Next Steps
231
-
232
- 1. Read the full [README.md](./README.md) for API documentation
233
- 2. Test the 9 API endpoints
234
- 3. Create your first scheduled workflow
235
- 4. Monitor execution logs
236
- 5. Set up Bull Board for visual monitoring
237
-
238
- ## Support
239
-
240
- If you encounter issues:
241
- 1. Check application logs
242
- 2. Verify Redis connectivity
243
- 3. Ensure migrations ran successfully
244
- 4. Review the [README.md](./README.md) troubleshooting section
1
+ # Workflow Schedule Module - Installation Guide
2
+
3
+ ## Quick Start
4
+
5
+ ### Step 1: Install Dependencies
6
+
7
+ ```bash
8
+ npm install @nestjs/bull bull redis cron-parser
9
+ npm install --save-dev @types/bull
10
+ ```
11
+
12
+ **Note:** `cron-parser` includes its own TypeScript definitions, so no `@types` package is needed.
13
+
14
+ ### Step 2: Setup Redis
15
+
16
+ #### Option A: Using Docker (Recommended)
17
+ ```bash
18
+ docker run -d \
19
+ --name redis-workflow \
20
+ -p 6379:6379 \
21
+ redis:latest
22
+ ```
23
+
24
+ #### Option B: Local Installation
25
+ **macOS:**
26
+ ```bash
27
+ brew install redis
28
+ brew services start redis
29
+ ```
30
+
31
+ **Ubuntu/Debian:**
32
+ ```bash
33
+ sudo apt-get install redis-server
34
+ sudo systemctl start redis-server
35
+ ```
36
+
37
+ **Windows:**
38
+ Download from: https://redis.io/download
39
+
40
+ ### Step 3: Configure Environment Variables
41
+
42
+ Add to your `.env` file:
43
+
44
+ ```env
45
+ # Redis Configuration
46
+ REDIS_HOST=localhost
47
+ REDIS_PORT=6379
48
+ REDIS_PASSWORD=
49
+ REDIS_DB=0
50
+
51
+ # Existing Database Configuration (verify these)
52
+ DB_HOST=13.234.25.234
53
+ DB_PORT=3306
54
+ DB_USER=root
55
+ DB_PASS=Rezolut@123
56
+ DB_NAME=core
57
+ ```
58
+
59
+ ### Step 4: Verify Redis Connection
60
+
61
+ ```bash
62
+ # Test Redis connection
63
+ redis-cli ping
64
+ # Should respond: PONG
65
+ ```
66
+
67
+ ### Step 5: Run Database Migrations
68
+
69
+ The module requires three migrations to be run:
70
+
71
+ ```bash
72
+ # Using TypeORM CLI (recommended)
73
+ npx ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js migration:run -d src/config/database.config.ts
74
+
75
+ # Or create a migration script in package.json:
76
+ # "migration:run": "typeorm migration:run -d src/config/database.config.ts"
77
+ # Then run:
78
+ npm run migration:run
79
+ ```
80
+
81
+ **Migrations will create:**
82
+ 1. ✅ `workflow_type` column in `cr_wf_master` table
83
+ 2. ✅ `cr_wf_scheduled_workflow` table with indexes
84
+ 3. ✅ `cr_wf_execution_log` table with indexes
85
+
86
+ ### Step 6: Start Your Application
87
+
88
+ ```bash
89
+ npm run start:dev
90
+ ```
91
+
92
+ ### Step 7: Verify Installation
93
+
94
+ Check the console logs for:
95
+ ```
96
+ [Nest] INFO [BullModule] Bull queues registered
97
+ [Nest] INFO [WorkflowScheduleModule] Workflow Schedule Module initialized
98
+ ```
99
+
100
+ ## Quick Test
101
+
102
+ ### Create Your First Schedule
103
+
104
+ ```bash
105
+ curl -X POST http://localhost:3000/workflow-schedule/create \
106
+ -H "Content-Type: application/json" \
107
+ -H "Authorization: Bearer YOUR_JWT_TOKEN" \
108
+ -d '{
109
+ "workflow_id": 1,
110
+ "name": "Test Schedule",
111
+ "cron_expression": "*/5 * * * *",
112
+ "timezone": "Asia/Kolkata",
113
+ "actions": []
114
+ }'
115
+ ```
116
+
117
+ ### List All Schedules
118
+
119
+ ```bash
120
+ curl -X GET http://localhost:3000/workflow-schedule/list \
121
+ -H "Authorization: Bearer YOUR_JWT_TOKEN"
122
+ ```
123
+
124
+ ## Troubleshooting
125
+
126
+ ### Issue: Cannot connect to Redis
127
+
128
+ **Solution:**
129
+ ```bash
130
+ # Check if Redis is running
131
+ redis-cli ping
132
+
133
+ # If not running, start Redis
134
+ docker start redis-workflow
135
+ # or
136
+ brew services start redis
137
+ ```
138
+
139
+ ### Issue: Migration fails with "Table already exists"
140
+
141
+ **Solution:**
142
+ Migrations check if tables exist before creating them. If you see this message, the tables are already present. You can safely ignore it.
143
+
144
+ ### Issue: Jobs are not processing
145
+
146
+ **Checklist:**
147
+ - [ ] Redis is running and accessible
148
+ - [ ] Schedule status is `ACTIVE`
149
+ - [ ] Schedule `is_enabled` is `true`
150
+ - [ ] Cron expression is valid
151
+ - [ ] Application has restarted after creating the schedule
152
+
153
+ **Verify:**
154
+ ```bash
155
+ # Check Redis keys
156
+ redis-cli KEYS "bull:workflow-schedule:*"
157
+
158
+ # Should show keys if jobs are queued
159
+ ```
160
+
161
+ ### Issue: TypeScript errors after installation
162
+
163
+ **Solution:**
164
+ ```bash
165
+ # Clear node_modules and reinstall
166
+ rm -rf node_modules package-lock.json
167
+ npm install
168
+
169
+ # Restart your IDE/editor
170
+ ```
171
+
172
+ ## Verify Bull Queue Dashboard (Optional)
173
+
174
+ Install Bull Board for visual queue monitoring:
175
+
176
+ ```bash
177
+ npm install @bull-board/express @bull-board/api
178
+ ```
179
+
180
+ Add to your `main.ts`:
181
+ ```typescript
182
+ import { createBullBoard } from '@bull-board/api';
183
+ import { BullAdapter } from '@bull-board/api/bullAdapter';
184
+ import { ExpressAdapter } from '@bull-board/express';
185
+
186
+ // Get queue from your app
187
+ const schedulerQueue = app.get('BullQueue_workflow-schedule');
188
+
189
+ const serverAdapter = new ExpressAdapter();
190
+ createBullBoard({
191
+ queues: [new BullAdapter(schedulerQueue)],
192
+ serverAdapter,
193
+ });
194
+
195
+ serverAdapter.setBasePath('/admin/queues');
196
+ app.use('/admin/queues', serverAdapter.getRouter());
197
+ ```
198
+
199
+ Then access: `http://localhost:3000/admin/queues`
200
+
201
+ ## Package Versions
202
+
203
+ Tested with:
204
+ ```json
205
+ {
206
+ "@nestjs/bull": "^10.0.0",
207
+ "@nestjs/common": "^11.0.0",
208
+ "@nestjs/core": "^11.0.0",
209
+ "bull": "^4.12.0",
210
+ "redis": "^4.6.0",
211
+ "cron-parser": "^4.9.0"
212
+ }
213
+ ```
214
+
215
+ ## Production Checklist
216
+
217
+ Before deploying to production:
218
+
219
+ - [ ] Configure Redis with persistence
220
+ - [ ] Set up Redis password authentication
221
+ - [ ] Configure appropriate retry strategies
222
+ - [ ] Set up monitoring and alerting
223
+ - [ ] Configure log retention policies
224
+ - [ ] Test failover scenarios
225
+ - [ ] Set up backup for scheduled workflow configurations
226
+ - [ ] Document schedule ownership and purpose
227
+ - [ ] Configure rate limiting if needed
228
+ - [ ] Set up Redis clustering for high availability
229
+
230
+ ## Next Steps
231
+
232
+ 1. Read the full [README.md](./README.md) for API documentation
233
+ 2. Test the 9 API endpoints
234
+ 3. Create your first scheduled workflow
235
+ 4. Monitor execution logs
236
+ 5. Set up Bull Board for visual monitoring
237
+
238
+ ## Support
239
+
240
+ If you encounter issues:
241
+ 1. Check application logs
242
+ 2. Verify Redis connectivity
243
+ 3. Ensure migrations ran successfully
244
+ 4. Review the [README.md](./README.md) troubleshooting section