rez_core 3.1.177 → 3.1.178

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 (384) hide show
  1. package/.prettierrc +3 -3
  2. package/.vscode/extensions.json +5 -0
  3. package/README.md +99 -99
  4. package/dist/module/auth/guards/role.guard.js +3 -3
  5. package/dist/module/auth/services/auth.service.js +2 -2
  6. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  7. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  8. package/dist/module/filter/service/filter.service.js +7 -7
  9. package/dist/module/integration/examples/usage.example.js +9 -9
  10. package/dist/module/integration/service/integration.service.js +1 -1
  11. package/dist/module/integration/service/wrapper.service.js +25 -25
  12. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  13. package/dist/module/listmaster/service/list-master.service.js +2 -2
  14. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  15. package/dist/module/mapper/service/mapper.service.js +2 -2
  16. package/dist/module/meta/service/entity-dynamic.service.js +18 -18
  17. package/dist/module/meta/service/entity-list.service.js +3 -3
  18. package/dist/module/meta/service/entity-master.service.js +3 -3
  19. package/dist/module/meta/service/entity-relation.service.js +11 -11
  20. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  21. package/dist/module/meta/service/resolver.service.js +9 -8
  22. package/dist/module/meta/service/resolver.service.js.map +1 -1
  23. package/dist/module/module/repository/menu.repository.js +12 -12
  24. package/dist/module/notification/service/notification.service.js +12 -12
  25. package/dist/module/user/controller/login.controller.js +18 -18
  26. package/dist/module/user/service/role.service.js +4 -4
  27. package/dist/module/user/service/user-session.service.js +2 -2
  28. package/dist/module/workflow/repository/action.repository.js +16 -16
  29. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  30. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  31. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  32. package/dist/module/workflow/repository/stage-movement.repository.js +11 -11
  33. package/dist/module/workflow/repository/stage.repository.js +8 -8
  34. package/dist/module/workflow/service/action-template-mapping.service.js +10 -10
  35. package/dist/module/workflow/service/action.service.js +7 -7
  36. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  37. package/dist/module/workflow/service/stage-group.service.js +5 -5
  38. package/dist/module/workflow/service/stage.service.js +2 -2
  39. package/dist/module/workflow/service/task.service.js +33 -33
  40. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  41. package/dist/module/workflow/service/workflow-meta.service.js +50 -50
  42. package/dist/module/workflow/service/workflow.service.js +2 -2
  43. package/dist/tsconfig.build.tsbuildinfo +1 -1
  44. package/dist/utils/service/reflection-helper.service.js +2 -2
  45. package/docs/modules/event-driven-integration-design.md +91 -91
  46. package/docs/modules/integration.md +250 -250
  47. package/eslint.config.mjs +34 -34
  48. package/nest-cli.json +14 -14
  49. package/package.json +118 -118
  50. package/src/app.controller.ts +12 -12
  51. package/src/app.module.ts +49 -49
  52. package/src/app.service.ts +8 -8
  53. package/src/config/config.module.ts +18 -18
  54. package/src/config/database.config.ts +23 -23
  55. package/src/constant/global.constant.ts +67 -67
  56. package/src/core.module.ts +81 -81
  57. package/src/decorators/roles.decorator.ts +7 -7
  58. package/src/dtos/response.dto.ts +6 -6
  59. package/src/dtos/response.ts +5 -5
  60. package/src/index.ts +1 -1
  61. package/src/module/auth/auth.module.ts +49 -49
  62. package/src/module/auth/controller/auth.controller.ts +28 -28
  63. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  64. package/src/module/auth/guards/jwt.guard.ts +22 -22
  65. package/src/module/auth/guards/role.guard.ts +68 -68
  66. package/src/module/auth/services/auth.service.ts +50 -50
  67. package/src/module/auth/services/jwt.service.ts +11 -11
  68. package/src/module/auth/strategies/google.strategy.ts +54 -54
  69. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  70. package/src/module/auth/strategies/local.strategy.ts +13 -13
  71. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  72. package/src/module/dashboard/dashboard.module.ts +21 -21
  73. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  74. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  75. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  76. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  77. package/src/module/dev/dev.module.ts +12 -12
  78. package/src/module/dev/service/dev.service.ts +7 -7
  79. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  80. package/src/module/enterprise/enterprise.module.ts +30 -30
  81. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  82. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  83. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  84. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  85. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  86. package/src/module/enterprise/repository/school.repository.ts +281 -281
  87. package/src/module/enterprise/service/brand.service.ts +5 -5
  88. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  89. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  90. package/src/module/enterprise/service/organization.service.ts +145 -145
  91. package/src/module/filter/controller/filter.controller.ts +84 -84
  92. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  93. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  94. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  95. package/src/module/filter/filter.module.ts +31 -31
  96. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  97. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  98. package/src/module/filter/service/filter.service.ts +841 -841
  99. package/src/module/filter/service/saved-filter.service.ts +170 -170
  100. package/src/module/ics/controller/ics.controller.ts +21 -21
  101. package/src/module/ics/dto/ics.dto.ts +55 -55
  102. package/src/module/ics/ics.module.ts +13 -13
  103. package/src/module/ics/service/ics.service.ts +57 -57
  104. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  105. package/src/module/integration/controller/integration.controller.ts +662 -662
  106. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  107. package/src/module/integration/dto/create-config.dto.ts +526 -526
  108. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  109. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  110. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  111. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  112. package/src/module/integration/examples/usage.example.ts +338 -338
  113. package/src/module/integration/factories/base.factory.ts +7 -7
  114. package/src/module/integration/factories/email.factory.ts +49 -49
  115. package/src/module/integration/factories/integration.factory.ts +121 -121
  116. package/src/module/integration/factories/sms.factory.ts +51 -51
  117. package/src/module/integration/factories/telephone.factory.ts +41 -41
  118. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  119. package/src/module/integration/integration.module.ts +110 -110
  120. package/src/module/integration/service/calendar-event.service.ts +118 -118
  121. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  122. package/src/module/integration/service/integration-queue.service.ts +229 -229
  123. package/src/module/integration/service/integration.service.ts +2572 -2572
  124. package/src/module/integration/service/oauth.service.ts +224 -224
  125. package/src/module/integration/service/wrapper.service.ts +453 -453
  126. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  127. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  128. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  129. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  130. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  131. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  132. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  133. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  134. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  135. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  136. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  137. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  138. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  139. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  140. package/src/module/layout/controller/layout.controller.ts +47 -47
  141. package/src/module/layout/entity/header-items.entity.ts +28 -28
  142. package/src/module/layout/entity/header-section.entity.ts +19 -19
  143. package/src/module/layout/layout.module.ts +21 -21
  144. package/src/module/layout/repository/header-items.repository.ts +18 -18
  145. package/src/module/layout/repository/header-section.repository.ts +22 -22
  146. package/src/module/layout/service/header-section.service.ts +25 -25
  147. package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
  148. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  149. package/src/module/layout_preference/layout_preference.module.ts +18 -18
  150. package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
  151. package/src/module/layout_preference/service/layout_preference.service.ts +172 -172
  152. package/src/module/lead/controller/lead.controller.ts +30 -30
  153. package/src/module/lead/lead.module.ts +14 -14
  154. package/src/module/lead/repository/lead.repository.ts +41 -41
  155. package/src/module/lead/service/lead.service.ts +54 -54
  156. package/src/module/listmaster/controller/list-master.controller.ts +187 -187
  157. package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
  158. package/src/module/listmaster/entity/list-master.entity.ts +32 -32
  159. package/src/module/listmaster/listmaster.module.ts +44 -44
  160. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  161. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  162. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  163. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  164. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  165. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  166. package/src/module/listmaster/service/list-master.service.ts +424 -424
  167. package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
  168. package/src/module/mapper/controller/mapper.controller.ts +14 -14
  169. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  170. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  171. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  172. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  173. package/src/module/mapper/mapper.module.ts +34 -34
  174. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  175. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  176. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  177. package/src/module/mapper/service/field-mapper.service.ts +223 -223
  178. package/src/module/mapper/service/mapper.service.ts +72 -72
  179. package/src/module/master/controller/master.controller.ts +74 -74
  180. package/src/module/master/service/master.service.ts +483 -483
  181. package/src/module/meta/controller/app-master.controller.ts +38 -38
  182. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  183. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  184. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  185. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  186. package/src/module/meta/controller/entity.controller.ts +385 -385
  187. package/src/module/meta/controller/media.controller.ts +82 -82
  188. package/src/module/meta/controller/meta.controller.ts +96 -96
  189. package/src/module/meta/controller/view-master.controller.ts +86 -86
  190. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  191. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  192. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  193. package/src/module/meta/entity/app-master.entity.ts +34 -34
  194. package/src/module/meta/entity/attribute-master.entity.ts +87 -87
  195. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  196. package/src/module/meta/entity/entity-master.entity.ts +78 -78
  197. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  198. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  199. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  200. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  201. package/src/module/meta/entity/media-data.entity.ts +32 -32
  202. package/src/module/meta/entity/preference.entity.ts +62 -62
  203. package/src/module/meta/entity/view-master.entity.ts +41 -41
  204. package/src/module/meta/entity.module.ts +156 -156
  205. package/src/module/meta/repository/app-master.repository.ts +20 -20
  206. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  207. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  208. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  209. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  210. package/src/module/meta/repository/media-data.repository.ts +50 -50
  211. package/src/module/meta/repository/preference.repository.ts +20 -20
  212. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  213. package/src/module/meta/repository/view-master.repository.ts +42 -42
  214. package/src/module/meta/service/app-master.service.ts +37 -37
  215. package/src/module/meta/service/attribute-master.service.ts +117 -117
  216. package/src/module/meta/service/common.service.ts +9 -9
  217. package/src/module/meta/service/entity-dynamic.service.ts +762 -762
  218. package/src/module/meta/service/entity-list.service.ts +205 -205
  219. package/src/module/meta/service/entity-master.service.ts +164 -164
  220. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  221. package/src/module/meta/service/entity-relation.service.ts +69 -69
  222. package/src/module/meta/service/entity-service-impl.service.ts +524 -524
  223. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  224. package/src/module/meta/service/entity-table.service.ts +150 -150
  225. package/src/module/meta/service/entity-validation.service.ts +185 -185
  226. package/src/module/meta/service/entity.service.ts +67 -67
  227. package/src/module/meta/service/field-group.service.ts +103 -103
  228. package/src/module/meta/service/media-data.service.ts +149 -149
  229. package/src/module/meta/service/populate-meta.service.ts +173 -173
  230. package/src/module/meta/service/preference.service.ts +16 -16
  231. package/src/module/meta/service/resolver.service.ts +240 -239
  232. package/src/module/meta/service/section-master.service.ts +104 -104
  233. package/src/module/meta/service/update-form-json.service.ts +22 -22
  234. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  235. package/src/module/meta/service/view-master.service.ts +111 -111
  236. package/src/module/module/controller/menu.controller.ts +15 -15
  237. package/src/module/module/controller/module-access.controller.ts +132 -132
  238. package/src/module/module/entity/menu.entity.ts +43 -43
  239. package/src/module/module/entity/module-access.entity.ts +25 -25
  240. package/src/module/module/entity/module-action.entity.ts +17 -17
  241. package/src/module/module/entity/module.entity.ts +52 -52
  242. package/src/module/module/module.module.ts +42 -42
  243. package/src/module/module/repository/menu.repository.ts +184 -184
  244. package/src/module/module/repository/module-access.repository.ts +331 -331
  245. package/src/module/module/service/menu.service.ts +82 -82
  246. package/src/module/module/service/module-access.service.ts +209 -209
  247. package/src/module/notification/controller/notification.controller.ts +58 -58
  248. package/src/module/notification/controller/otp.controller.ts +117 -117
  249. package/src/module/notification/entity/notification.entity.ts +26 -26
  250. package/src/module/notification/entity/otp.entity.ts +28 -28
  251. package/src/module/notification/firebase-admin.config.ts +22 -22
  252. package/src/module/notification/notification.module.ts +69 -69
  253. package/src/module/notification/repository/otp.repository.ts +27 -27
  254. package/src/module/notification/service/email.service.ts +127 -127
  255. package/src/module/notification/service/notification.service.ts +138 -138
  256. package/src/module/notification/service/otp.service.ts +125 -125
  257. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  258. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  259. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  260. package/src/module/third-party-module/third-party.module.ts +12 -12
  261. package/src/module/user/controller/login.controller.ts +197 -197
  262. package/src/module/user/controller/user.controller.ts +40 -40
  263. package/src/module/user/dto/create-user.dto.ts +62 -62
  264. package/src/module/user/dto/update-user.dto.ts +4 -4
  265. package/src/module/user/entity/role.entity.ts +33 -33
  266. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  267. package/src/module/user/entity/user-session.entity.ts +61 -61
  268. package/src/module/user/entity/user.entity.ts +68 -68
  269. package/src/module/user/repository/role.repository.ts +96 -96
  270. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  271. package/src/module/user/repository/user.repository.ts +50 -50
  272. package/src/module/user/repository/userSession.repository.ts +33 -33
  273. package/src/module/user/service/login.service.ts +280 -280
  274. package/src/module/user/service/role.service.ts +189 -189
  275. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  276. package/src/module/user/service/user-session.service.ts +168 -168
  277. package/src/module/user/service/user.service.ts +353 -353
  278. package/src/module/user/user.module.ts +65 -65
  279. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  280. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  281. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  282. package/src/module/workflow/controller/action.controller.ts +95 -95
  283. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  284. package/src/module/workflow/controller/comm-template.controller.ts +34 -34
  285. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  286. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  287. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  288. package/src/module/workflow/controller/stage.controller.ts +50 -50
  289. package/src/module/workflow/controller/task.controller.ts +77 -77
  290. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  291. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  292. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  293. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  294. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  295. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  296. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  297. package/src/module/workflow/entity/action.entity.ts +50 -50
  298. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  299. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  300. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  301. package/src/module/workflow/entity/form.entity.ts +25 -25
  302. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  303. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  304. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  305. package/src/module/workflow/entity/stage.entity.ts +20 -20
  306. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  307. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  308. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  309. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  310. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  311. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  312. package/src/module/workflow/repository/action-data.repository.ts +219 -219
  313. package/src/module/workflow/repository/action.repository.ts +277 -277
  314. package/src/module/workflow/repository/activity-log.repository.ts +121 -121
  315. package/src/module/workflow/repository/comm-template.repository.ts +142 -142
  316. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  317. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  318. package/src/module/workflow/repository/stage-movement.repository.ts +227 -227
  319. package/src/module/workflow/repository/stage.repository.ts +172 -172
  320. package/src/module/workflow/repository/task.repository.ts +117 -117
  321. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  322. package/src/module/workflow/service/action-category.service.ts +33 -33
  323. package/src/module/workflow/service/action-data.service.ts +62 -62
  324. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  325. package/src/module/workflow/service/action-template-mapping.service.ts +55 -55
  326. package/src/module/workflow/service/action.service.ts +263 -263
  327. package/src/module/workflow/service/activity-log.service.ts +107 -107
  328. package/src/module/workflow/service/comm-template.service.ts +121 -121
  329. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  330. package/src/module/workflow/service/form-master.service.ts +35 -35
  331. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  332. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  333. package/src/module/workflow/service/stage-group.service.ts +300 -300
  334. package/src/module/workflow/service/stage.service.ts +199 -199
  335. package/src/module/workflow/service/task.service.ts +504 -504
  336. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  337. package/src/module/workflow/service/workflow-meta.service.ts +581 -581
  338. package/src/module/workflow/service/workflow.service.ts +205 -205
  339. package/src/module/workflow/workflow.module.ts +172 -172
  340. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  341. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  342. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  343. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  344. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  345. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  346. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  347. package/src/module/workflow-automation/service/workflow-automation.service.ts +345 -345
  348. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  349. package/src/resources/dev.properties.yaml +30 -30
  350. package/src/resources/local.properties.yaml +27 -27
  351. package/src/resources/properties.module.ts +12 -12
  352. package/src/resources/properties.yaml.ts +11 -11
  353. package/src/resources/uat.properties.yaml +15 -15
  354. package/src/utils/dto/excel-data.dto.ts +14 -14
  355. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  356. package/src/utils/service/base64util.service.ts +18 -18
  357. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  358. package/src/utils/service/codeGenerator.service.ts +22 -22
  359. package/src/utils/service/dateUtil.service.ts +17 -17
  360. package/src/utils/service/encryptUtil.service.ts +97 -97
  361. package/src/utils/service/excel-helper.service.ts +72 -72
  362. package/src/utils/service/excelUtil.service.ts +15 -15
  363. package/src/utils/service/file-util.service.ts +11 -11
  364. package/src/utils/service/json-util.service.ts +23 -23
  365. package/src/utils/service/loggingUtil.service.ts +34 -34
  366. package/src/utils/service/reflection-helper.service.ts +62 -62
  367. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  368. package/src/utils/utils.module.ts +25 -25
  369. package/tsconfig.build.json +4 -4
  370. package/tsconfig.json +24 -24
  371. package/.claude/settings.local.json +0 -26
  372. package/.idea/250218_nodejs_core.iml +0 -9
  373. package/.idea/codeStyles/Project.xml +0 -59
  374. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  375. package/.idea/copilot.data.migration.agent.xml +0 -6
  376. package/.idea/copilot.data.migration.ask.xml +0 -6
  377. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  378. package/.idea/copilot.data.migration.edit.xml +0 -6
  379. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  380. package/.idea/misc.xml +0 -6
  381. package/.idea/modules.xml +0 -8
  382. package/.idea/prettier.xml +0 -6
  383. package/.idea/vcs.xml +0 -6
  384. package/server.log +0 -850
@@ -1,164 +1,164 @@
1
- import { Injectable, Logger } from '@nestjs/common';
2
- import axios, { AxiosResponse } from 'axios';
3
- import {
4
- IntegrationStrategy,
5
- IntegrationResult,
6
- } from '../integration.strategy';
7
-
8
- interface Msg91SmsConfig {
9
- authKey: string;
10
- senderId: string;
11
- route?: string; // Route like '4' for transactional, '1' for promotional
12
- baseUrl?: string;
13
- dltTemplateId?: string;
14
- entityId?: string;
15
- }
16
-
17
- interface Msg91SmsApiResponse {
18
- type: string;
19
- message?: string;
20
- request_id?: string;
21
- error?: {
22
- code: string;
23
- message: string;
24
- };
25
- }
26
-
27
- @Injectable()
28
- export class Msg91SmsStrategy implements IntegrationStrategy {
29
- private readonly logger = new Logger(Msg91SmsStrategy.name);
30
- private readonly defaultBaseUrl = 'https://api.msg91.com/api/v5';
31
-
32
- async sendMessage(
33
- to: string,
34
- message: string,
35
- config: any,
36
- ): Promise<IntegrationResult> {
37
- try {
38
- if (!this.validateConfig(config)) {
39
- throw new Error('Invalid MSG91 SMS configuration');
40
- }
41
-
42
- const msg91Config = config as Msg91SmsConfig;
43
- const baseUrl = msg91Config.baseUrl || this.defaultBaseUrl;
44
- const url = `${baseUrl}/flow`;
45
-
46
- const payload = {
47
- sender: msg91Config.senderId,
48
- route: msg91Config.route || '4', // Default to transactional
49
- country: '91', // Default to India
50
- sms: [
51
- {
52
- message: message,
53
- to: [this.formatPhoneNumber(to)],
54
- },
55
- ],
56
- };
57
-
58
- // Add DLT Template ID if provided
59
- if (msg91Config.dltTemplateId) {
60
- payload['DLT_TE_ID'] = msg91Config.dltTemplateId;
61
- }
62
-
63
- // Add Entity ID if provided
64
- if (msg91Config.entityId) {
65
- payload['DLT_PE_ID'] = msg91Config.entityId;
66
- }
67
-
68
- const response: AxiosResponse<Msg91SmsApiResponse> = await axios.post(
69
- url,
70
- payload,
71
- {
72
- headers: {
73
- authkey: msg91Config.authKey,
74
- 'Content-Type': 'application/json',
75
- },
76
- timeout: 30000,
77
- },
78
- );
79
-
80
- if (
81
- response.data?.type === 'success' ||
82
- response.status === 200
83
- ) {
84
- const messageId =
85
- response.data?.request_id || new Date().getTime().toString();
86
-
87
- this.logger.log(
88
- `MSG91 SMS sent successfully to ${to}, messageId: ${messageId}`,
89
- );
90
-
91
- return {
92
- success: true,
93
- messageId: messageId,
94
- provider: 'msg91',
95
- service: 'SMS',
96
- timestamp: new Date(),
97
- };
98
- } else {
99
- throw new Error(
100
- response.data?.error?.message ||
101
- response.data?.message ||
102
- 'Failed to send SMS via MSG91',
103
- );
104
- }
105
- } catch (error) {
106
- this.logger.error(
107
- `Failed to send MSG91 SMS to ${to}`,
108
- error.response?.data || error.message,
109
- );
110
-
111
- return {
112
- success: false,
113
- provider: 'msg91',
114
- service: 'SMS',
115
- error: this.extractErrorMessage(error),
116
- timestamp: new Date(),
117
- };
118
- }
119
- }
120
-
121
- private formatPhoneNumber(phoneNumber: string): string {
122
- // Remove any non-digit characters except +
123
- let formatted = phoneNumber.replace(/[^\d+]/g, '');
124
-
125
- // Remove + if present
126
- formatted = formatted.replace(/\+/g, '');
127
-
128
- // Remove country code if it's 91 (India) as MSG91 handles it separately
129
- if (formatted.startsWith('91')) {
130
- formatted = formatted.substring(2);
131
- }
132
-
133
- return formatted;
134
- }
135
-
136
- private extractErrorMessage(error: any): string {
137
- if (error.response?.data?.error?.message) {
138
- return error.response.data.error.message;
139
- }
140
-
141
- if (error.response?.data?.message) {
142
- return error.response.data.message;
143
- }
144
-
145
- if (error.message) {
146
- return error.message;
147
- }
148
-
149
- return 'Unknown MSG91 SMS API error';
150
- }
151
-
152
- validateConfig(config: any): boolean {
153
- if (!config || typeof config !== 'object') {
154
- return false;
155
- }
156
-
157
- // Required fields
158
- if (!config.authKey || !config.senderId) {
159
- return false;
160
- }
161
-
162
- return true;
163
- }
164
- }
1
+ import { Injectable, Logger } from '@nestjs/common';
2
+ import axios, { AxiosResponse } from 'axios';
3
+ import {
4
+ IntegrationStrategy,
5
+ IntegrationResult,
6
+ } from '../integration.strategy';
7
+
8
+ interface Msg91SmsConfig {
9
+ authKey: string;
10
+ senderId: string;
11
+ route?: string; // Route like '4' for transactional, '1' for promotional
12
+ baseUrl?: string;
13
+ dltTemplateId?: string;
14
+ entityId?: string;
15
+ }
16
+
17
+ interface Msg91SmsApiResponse {
18
+ type: string;
19
+ message?: string;
20
+ request_id?: string;
21
+ error?: {
22
+ code: string;
23
+ message: string;
24
+ };
25
+ }
26
+
27
+ @Injectable()
28
+ export class Msg91SmsStrategy implements IntegrationStrategy {
29
+ private readonly logger = new Logger(Msg91SmsStrategy.name);
30
+ private readonly defaultBaseUrl = 'https://api.msg91.com/api/v5';
31
+
32
+ async sendMessage(
33
+ to: string,
34
+ message: string,
35
+ config: any,
36
+ ): Promise<IntegrationResult> {
37
+ try {
38
+ if (!this.validateConfig(config)) {
39
+ throw new Error('Invalid MSG91 SMS configuration');
40
+ }
41
+
42
+ const msg91Config = config as Msg91SmsConfig;
43
+ const baseUrl = msg91Config.baseUrl || this.defaultBaseUrl;
44
+ const url = `${baseUrl}/flow`;
45
+
46
+ const payload = {
47
+ sender: msg91Config.senderId,
48
+ route: msg91Config.route || '4', // Default to transactional
49
+ country: '91', // Default to India
50
+ sms: [
51
+ {
52
+ message: message,
53
+ to: [this.formatPhoneNumber(to)],
54
+ },
55
+ ],
56
+ };
57
+
58
+ // Add DLT Template ID if provided
59
+ if (msg91Config.dltTemplateId) {
60
+ payload['DLT_TE_ID'] = msg91Config.dltTemplateId;
61
+ }
62
+
63
+ // Add Entity ID if provided
64
+ if (msg91Config.entityId) {
65
+ payload['DLT_PE_ID'] = msg91Config.entityId;
66
+ }
67
+
68
+ const response: AxiosResponse<Msg91SmsApiResponse> = await axios.post(
69
+ url,
70
+ payload,
71
+ {
72
+ headers: {
73
+ authkey: msg91Config.authKey,
74
+ 'Content-Type': 'application/json',
75
+ },
76
+ timeout: 30000,
77
+ },
78
+ );
79
+
80
+ if (
81
+ response.data?.type === 'success' ||
82
+ response.status === 200
83
+ ) {
84
+ const messageId =
85
+ response.data?.request_id || new Date().getTime().toString();
86
+
87
+ this.logger.log(
88
+ `MSG91 SMS sent successfully to ${to}, messageId: ${messageId}`,
89
+ );
90
+
91
+ return {
92
+ success: true,
93
+ messageId: messageId,
94
+ provider: 'msg91',
95
+ service: 'SMS',
96
+ timestamp: new Date(),
97
+ };
98
+ } else {
99
+ throw new Error(
100
+ response.data?.error?.message ||
101
+ response.data?.message ||
102
+ 'Failed to send SMS via MSG91',
103
+ );
104
+ }
105
+ } catch (error) {
106
+ this.logger.error(
107
+ `Failed to send MSG91 SMS to ${to}`,
108
+ error.response?.data || error.message,
109
+ );
110
+
111
+ return {
112
+ success: false,
113
+ provider: 'msg91',
114
+ service: 'SMS',
115
+ error: this.extractErrorMessage(error),
116
+ timestamp: new Date(),
117
+ };
118
+ }
119
+ }
120
+
121
+ private formatPhoneNumber(phoneNumber: string): string {
122
+ // Remove any non-digit characters except +
123
+ let formatted = phoneNumber.replace(/[^\d+]/g, '');
124
+
125
+ // Remove + if present
126
+ formatted = formatted.replace(/\+/g, '');
127
+
128
+ // Remove country code if it's 91 (India) as MSG91 handles it separately
129
+ if (formatted.startsWith('91')) {
130
+ formatted = formatted.substring(2);
131
+ }
132
+
133
+ return formatted;
134
+ }
135
+
136
+ private extractErrorMessage(error: any): string {
137
+ if (error.response?.data?.error?.message) {
138
+ return error.response.data.error.message;
139
+ }
140
+
141
+ if (error.response?.data?.message) {
142
+ return error.response.data.message;
143
+ }
144
+
145
+ if (error.message) {
146
+ return error.message;
147
+ }
148
+
149
+ return 'Unknown MSG91 SMS API error';
150
+ }
151
+
152
+ validateConfig(config: any): boolean {
153
+ if (!config || typeof config !== 'object') {
154
+ return false;
155
+ }
156
+
157
+ // Required fields
158
+ if (!config.authKey || !config.senderId) {
159
+ return false;
160
+ }
161
+
162
+ return true;
163
+ }
164
+ }
@@ -1,163 +1,163 @@
1
- import { Injectable, Logger } from '@nestjs/common';
2
- import axios, { AxiosResponse } from 'axios';
3
- import {
4
- IntegrationStrategy,
5
- IntegrationResult,
6
- } from '../integration.strategy';
7
-
8
- interface TubelightSmsConfig {
9
- userName: string;
10
- password: string;
11
- tenantId: string;
12
- sourceNumber: string;
13
- baseUrl?: string;
14
- senderId?: string;
15
- dltTemplateId?: string;
16
- }
17
-
18
- interface TubelightSmsApiResponse {
19
- status: string;
20
- statusCode?: number;
21
- messageId?: string;
22
- data?: {
23
- messageId: string;
24
- status: string;
25
- };
26
- message?: string;
27
- error?: string;
28
- }
29
-
30
- @Injectable()
31
- export class TubelightSmsStrategy implements IntegrationStrategy {
32
- private readonly logger = new Logger(TubelightSmsStrategy.name);
33
- private readonly defaultBaseUrl = 'https://portal.tubelightcommunications.com/sms/api/v1';
34
-
35
- async sendMessage(
36
- to: string,
37
- message: string,
38
- config: any,
39
- ): Promise<IntegrationResult> {
40
- try {
41
- if (!this.validateConfig(config)) {
42
- throw new Error('Invalid Tubelight SMS configuration');
43
- }
44
-
45
- const tubelightConfig = config as TubelightSmsConfig;
46
- const baseUrl = tubelightConfig.baseUrl || this.defaultBaseUrl;
47
- const url = `${baseUrl}/send`;
48
-
49
- // Create Basic Auth token
50
- const authToken = Buffer.from(
51
- `${tubelightConfig.userName}:${tubelightConfig.password}`,
52
- ).toString('base64');
53
-
54
- const payload = {
55
- tenantId: tubelightConfig.tenantId,
56
- from: tubelightConfig.senderId || tubelightConfig.sourceNumber,
57
- to: this.formatPhoneNumber(to),
58
- message: message,
59
- dltTemplateId: tubelightConfig.dltTemplateId,
60
- };
61
-
62
- const response: AxiosResponse<TubelightSmsApiResponse> = await axios.post(
63
- url,
64
- payload,
65
- {
66
- headers: {
67
- Authorization: `Basic ${authToken}`,
68
- 'Content-Type': 'application/json',
69
- },
70
- timeout: 30000,
71
- },
72
- );
73
-
74
- if (
75
- response.data?.status === 'success' ||
76
- response.data?.statusCode === 200 ||
77
- response.data?.data?.status === 'sent'
78
- ) {
79
- const messageId =
80
- response.data?.messageId ||
81
- response.data?.data?.messageId ||
82
- new Date().getTime().toString();
83
-
84
- this.logger.log(
85
- `Tubelight SMS sent successfully to ${to}, messageId: ${messageId}`,
86
- );
87
-
88
- return {
89
- success: true,
90
- messageId: messageId,
91
- provider: 'tubelight',
92
- service: 'SMS',
93
- timestamp: new Date(),
94
- };
95
- } else {
96
- throw new Error(
97
- response.data?.error ||
98
- response.data?.message ||
99
- 'Failed to send SMS via Tubelight',
100
- );
101
- }
102
- } catch (error) {
103
- this.logger.error(
104
- `Failed to send Tubelight SMS to ${to}`,
105
- error.response?.data || error.message,
106
- );
107
-
108
- return {
109
- success: false,
110
- provider: 'tubelight',
111
- service: 'SMS',
112
- error: this.extractErrorMessage(error),
113
- timestamp: new Date(),
114
- };
115
- }
116
- }
117
-
118
- private formatPhoneNumber(phoneNumber: string): string {
119
- // Remove any non-digit characters except +
120
- let formatted = phoneNumber.replace(/[^\d+]/g, '');
121
-
122
- // Ensure it has + prefix
123
- if (!formatted.startsWith('+')) {
124
- formatted = `+${formatted}`;
125
- }
126
-
127
- return formatted;
128
- }
129
-
130
- private extractErrorMessage(error: any): string {
131
- if (error.response?.data?.error) {
132
- return error.response.data.error;
133
- }
134
-
135
- if (error.response?.data?.message) {
136
- return error.response.data.message;
137
- }
138
-
139
- if (error.message) {
140
- return error.message;
141
- }
142
-
143
- return 'Unknown Tubelight SMS API error';
144
- }
145
-
146
- validateConfig(config: any): boolean {
147
- if (!config || typeof config !== 'object') {
148
- return false;
149
- }
150
-
151
- // Required fields
152
- if (
153
- !config.userName ||
154
- !config.password ||
155
- !config.tenantId ||
156
- !config.sourceNumber
157
- ) {
158
- return false;
159
- }
160
-
161
- return true;
162
- }
163
- }
1
+ import { Injectable, Logger } from '@nestjs/common';
2
+ import axios, { AxiosResponse } from 'axios';
3
+ import {
4
+ IntegrationStrategy,
5
+ IntegrationResult,
6
+ } from '../integration.strategy';
7
+
8
+ interface TubelightSmsConfig {
9
+ userName: string;
10
+ password: string;
11
+ tenantId: string;
12
+ sourceNumber: string;
13
+ baseUrl?: string;
14
+ senderId?: string;
15
+ dltTemplateId?: string;
16
+ }
17
+
18
+ interface TubelightSmsApiResponse {
19
+ status: string;
20
+ statusCode?: number;
21
+ messageId?: string;
22
+ data?: {
23
+ messageId: string;
24
+ status: string;
25
+ };
26
+ message?: string;
27
+ error?: string;
28
+ }
29
+
30
+ @Injectable()
31
+ export class TubelightSmsStrategy implements IntegrationStrategy {
32
+ private readonly logger = new Logger(TubelightSmsStrategy.name);
33
+ private readonly defaultBaseUrl = 'https://portal.tubelightcommunications.com/sms/api/v1';
34
+
35
+ async sendMessage(
36
+ to: string,
37
+ message: string,
38
+ config: any,
39
+ ): Promise<IntegrationResult> {
40
+ try {
41
+ if (!this.validateConfig(config)) {
42
+ throw new Error('Invalid Tubelight SMS configuration');
43
+ }
44
+
45
+ const tubelightConfig = config as TubelightSmsConfig;
46
+ const baseUrl = tubelightConfig.baseUrl || this.defaultBaseUrl;
47
+ const url = `${baseUrl}/send`;
48
+
49
+ // Create Basic Auth token
50
+ const authToken = Buffer.from(
51
+ `${tubelightConfig.userName}:${tubelightConfig.password}`,
52
+ ).toString('base64');
53
+
54
+ const payload = {
55
+ tenantId: tubelightConfig.tenantId,
56
+ from: tubelightConfig.senderId || tubelightConfig.sourceNumber,
57
+ to: this.formatPhoneNumber(to),
58
+ message: message,
59
+ dltTemplateId: tubelightConfig.dltTemplateId,
60
+ };
61
+
62
+ const response: AxiosResponse<TubelightSmsApiResponse> = await axios.post(
63
+ url,
64
+ payload,
65
+ {
66
+ headers: {
67
+ Authorization: `Basic ${authToken}`,
68
+ 'Content-Type': 'application/json',
69
+ },
70
+ timeout: 30000,
71
+ },
72
+ );
73
+
74
+ if (
75
+ response.data?.status === 'success' ||
76
+ response.data?.statusCode === 200 ||
77
+ response.data?.data?.status === 'sent'
78
+ ) {
79
+ const messageId =
80
+ response.data?.messageId ||
81
+ response.data?.data?.messageId ||
82
+ new Date().getTime().toString();
83
+
84
+ this.logger.log(
85
+ `Tubelight SMS sent successfully to ${to}, messageId: ${messageId}`,
86
+ );
87
+
88
+ return {
89
+ success: true,
90
+ messageId: messageId,
91
+ provider: 'tubelight',
92
+ service: 'SMS',
93
+ timestamp: new Date(),
94
+ };
95
+ } else {
96
+ throw new Error(
97
+ response.data?.error ||
98
+ response.data?.message ||
99
+ 'Failed to send SMS via Tubelight',
100
+ );
101
+ }
102
+ } catch (error) {
103
+ this.logger.error(
104
+ `Failed to send Tubelight SMS to ${to}`,
105
+ error.response?.data || error.message,
106
+ );
107
+
108
+ return {
109
+ success: false,
110
+ provider: 'tubelight',
111
+ service: 'SMS',
112
+ error: this.extractErrorMessage(error),
113
+ timestamp: new Date(),
114
+ };
115
+ }
116
+ }
117
+
118
+ private formatPhoneNumber(phoneNumber: string): string {
119
+ // Remove any non-digit characters except +
120
+ let formatted = phoneNumber.replace(/[^\d+]/g, '');
121
+
122
+ // Ensure it has + prefix
123
+ if (!formatted.startsWith('+')) {
124
+ formatted = `+${formatted}`;
125
+ }
126
+
127
+ return formatted;
128
+ }
129
+
130
+ private extractErrorMessage(error: any): string {
131
+ if (error.response?.data?.error) {
132
+ return error.response.data.error;
133
+ }
134
+
135
+ if (error.response?.data?.message) {
136
+ return error.response.data.message;
137
+ }
138
+
139
+ if (error.message) {
140
+ return error.message;
141
+ }
142
+
143
+ return 'Unknown Tubelight SMS API error';
144
+ }
145
+
146
+ validateConfig(config: any): boolean {
147
+ if (!config || typeof config !== 'object') {
148
+ return false;
149
+ }
150
+
151
+ // Required fields
152
+ if (
153
+ !config.userName ||
154
+ !config.password ||
155
+ !config.tenantId ||
156
+ !config.sourceNumber
157
+ ) {
158
+ return false;
159
+ }
160
+
161
+ return true;
162
+ }
163
+ }