rez_core 4.0.145 → 4.0.146

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 (480) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.idea/250218_nodejs_core.iml +8 -11
  3. package/.idea/codeStyles/Project.xml +58 -58
  4. package/.idea/codeStyles/codeStyleConfig.xml +4 -4
  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 +1 -1
  10. package/.idea/misc.xml +6 -0
  11. package/.idea/modules.xml +7 -7
  12. package/.idea/prettier.xml +5 -5
  13. package/.idea/vcs.xml +5 -5
  14. package/.prettierrc +3 -3
  15. package/README.md +99 -99
  16. package/dist/config/config.module.js +2 -2
  17. package/dist/config/config.module.js.map +1 -1
  18. package/dist/config/database.config.d.ts +1 -1
  19. package/dist/config/database.config.js +15 -12
  20. package/dist/config/database.config.js.map +1 -1
  21. package/dist/module/auth/guards/role.guard.js +3 -3
  22. package/dist/module/auth/services/auth.service.js +3 -3
  23. package/dist/module/auth/services/auth.service.js.map +1 -1
  24. package/dist/module/enterprise/entity/organization.entity.js +1 -1
  25. package/dist/module/enterprise/repository/school.repository.js +3 -3
  26. package/dist/module/enterprise/repository/school.repository.js.map +1 -1
  27. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  28. package/dist/module/filter/service/filter-evaluator.service.js +3 -3
  29. package/dist/module/filter/service/filter-evaluator.service.js.map +1 -1
  30. package/dist/module/filter/service/filter.service.js +23 -23
  31. package/dist/module/filter/service/filter.service.js.map +1 -1
  32. package/dist/module/integration/entity/integration-config.entity.js +6 -6
  33. package/dist/module/integration/entity/integration-config.entity.js.map +1 -1
  34. package/dist/module/integration/entity/integration-entity-mapper.entity.js +1 -1
  35. package/dist/module/integration/entity/integration-entity-mapper.entity.js.map +1 -1
  36. package/dist/module/integration/entity/integration-source.entity.js +4 -4
  37. package/dist/module/integration/entity/integration-source.entity.js.map +1 -1
  38. package/dist/module/integration/entity/user-integration.entity.js +4 -4
  39. package/dist/module/integration/entity/user-integration.entity.js.map +1 -1
  40. package/dist/module/integration/examples/usage.example.js +9 -9
  41. package/dist/module/integration/service/integration.service.js +1 -1
  42. package/dist/module/integration/service/wrapper.service.d.ts +1 -3
  43. package/dist/module/integration/service/wrapper.service.js +65 -67
  44. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  45. package/dist/module/listmaster/entity/list-master-items.entity.js +3 -3
  46. package/dist/module/listmaster/entity/list-master-items.entity.js.map +1 -1
  47. package/dist/module/listmaster/entity/list-master.entity.js +4 -4
  48. package/dist/module/listmaster/entity/list-master.entity.js.map +1 -1
  49. package/dist/module/listmaster/service/list-master-item.service.js +3 -3
  50. package/dist/module/listmaster/service/list-master-item.service.js.map +1 -1
  51. package/dist/module/mapper/entity/field-mapper.entity.js +6 -6
  52. package/dist/module/mapper/entity/field-mapper.entity.js.map +1 -1
  53. package/dist/module/mapper/service/field-mapper.service.js +7 -7
  54. package/dist/module/mapper/service/field-mapper.service.js.map +1 -1
  55. package/dist/module/mapper/service/mapper.service.js +4 -4
  56. package/dist/module/mapper/service/mapper.service.js.map +1 -1
  57. package/dist/module/meta/entity/entity-master.entity.js +1 -1
  58. package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
  59. package/dist/module/meta/entity/view-master.entity.js +1 -1
  60. package/dist/module/meta/entity/view-master.entity.js.map +1 -1
  61. package/dist/module/meta/repository/attribute-master.repository.js +2 -2
  62. package/dist/module/meta/repository/attribute-master.repository.js.map +1 -1
  63. package/dist/module/meta/repository/entity-master.repository.js +1 -1
  64. package/dist/module/meta/repository/entity-master.repository.js.map +1 -1
  65. package/dist/module/meta/service/attribute-master.service.js +1 -1
  66. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  67. package/dist/module/meta/service/entity-dynamic.service.js +27 -27
  68. package/dist/module/meta/service/entity-dynamic.service.js.map +1 -1
  69. package/dist/module/meta/service/entity-list.service.js +3 -3
  70. package/dist/module/meta/service/entity-master.service.js +4 -4
  71. package/dist/module/meta/service/entity-master.service.js.map +1 -1
  72. package/dist/module/meta/service/entity-relation.service.js +13 -13
  73. package/dist/module/meta/service/entity-relation.service.js.map +1 -1
  74. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  75. package/dist/module/meta/service/media-data.service.js +9 -9
  76. package/dist/module/meta/service/media-data.service.js.map +1 -1
  77. package/dist/module/meta/service/resolver.service.js +19 -19
  78. package/dist/module/meta/service/resolver.service.js.map +1 -1
  79. package/dist/module/module/repository/menu.repository.js +12 -12
  80. package/dist/module/notification/entity/otp.entity.js +1 -1
  81. package/dist/module/notification/entity/otp.entity.js.map +1 -1
  82. package/dist/module/notification/service/notification.service.js +9 -9
  83. package/dist/module/user/controller/login.controller.js +18 -18
  84. package/dist/module/user/entity/user-role-mapping.entity.js +1 -1
  85. package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
  86. package/dist/module/user/service/login.service.js +1 -1
  87. package/dist/module/user/service/login.service.js.map +1 -1
  88. package/dist/module/user/service/role.service.js +4 -4
  89. package/dist/module/user/service/user-session.service.js +4 -4
  90. package/dist/module/user/service/user-session.service.js.map +1 -1
  91. package/dist/module/workflow/entity/action-data.entity.js +1 -1
  92. package/dist/module/workflow/entity/action-data.entity.js.map +1 -1
  93. package/dist/module/workflow/entity/action.entity.js +1 -1
  94. package/dist/module/workflow/entity/action.entity.js.map +1 -1
  95. package/dist/module/workflow/entity/comm-template.entity.js +1 -1
  96. package/dist/module/workflow/entity/comm-template.entity.js.map +1 -1
  97. package/dist/module/workflow/repository/action-data.repository.js +4 -4
  98. package/dist/module/workflow/repository/action-data.repository.js.map +1 -1
  99. package/dist/module/workflow/repository/action.repository.js +21 -21
  100. package/dist/module/workflow/repository/action.repository.js.map +1 -1
  101. package/dist/module/workflow/repository/comm-template.repository.js +7 -7
  102. package/dist/module/workflow/repository/comm-template.repository.js.map +1 -1
  103. package/dist/module/workflow/repository/form-master.repository.js +3 -3
  104. package/dist/module/workflow/repository/form-master.repository.js.map +1 -1
  105. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  106. package/dist/module/workflow/repository/stage-movement.repository.js +17 -17
  107. package/dist/module/workflow/repository/stage-movement.repository.js.map +1 -1
  108. package/dist/module/workflow/repository/stage.repository.js +8 -8
  109. package/dist/module/workflow/repository/task.repository.d.ts +1 -3
  110. package/dist/module/workflow/repository/task.repository.js +3 -8
  111. package/dist/module/workflow/repository/task.repository.js.map +1 -1
  112. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  113. package/dist/module/workflow/service/action.service.js +13 -13
  114. package/dist/module/workflow/service/action.service.js.map +1 -1
  115. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  116. package/dist/module/workflow/service/populate-workflow.service.js +8 -8
  117. package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
  118. package/dist/module/workflow/service/stage-group.service.js +6 -6
  119. package/dist/module/workflow/service/stage-group.service.js.map +1 -1
  120. package/dist/module/workflow/service/stage.service.js +4 -4
  121. package/dist/module/workflow/service/stage.service.js.map +1 -1
  122. package/dist/module/workflow/service/task.service.js +44 -39
  123. package/dist/module/workflow/service/task.service.js.map +1 -1
  124. package/dist/module/workflow/service/workflow-list-master.service.js +16 -16
  125. package/dist/module/workflow/service/workflow-list-master.service.js.map +1 -1
  126. package/dist/module/workflow/service/workflow-meta.service.js +51 -53
  127. package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
  128. package/dist/module/workflow/service/workflow.service.js +5 -5
  129. package/dist/module/workflow/service/workflow.service.js.map +1 -1
  130. package/dist/module/workflow-automation/controller/workflow-automation.controller.d.ts +0 -6
  131. package/dist/module/workflow-automation/controller/workflow-automation.controller.js +0 -16
  132. package/dist/module/workflow-automation/controller/workflow-automation.controller.js.map +1 -1
  133. package/dist/module/workflow-automation/entity/workflow-automation.entity.d.ts +0 -1
  134. package/dist/module/workflow-automation/entity/workflow-automation.entity.js +0 -4
  135. package/dist/module/workflow-automation/entity/workflow-automation.entity.js.map +1 -1
  136. package/dist/module/workflow-automation/service/workflow-automation-engine.service.js +1 -1
  137. package/dist/module/workflow-automation/service/workflow-automation-engine.service.js.map +1 -1
  138. package/dist/module/workflow-automation/service/workflow-automation.service.d.ts +0 -5
  139. package/dist/module/workflow-automation/service/workflow-automation.service.js +0 -45
  140. package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
  141. package/dist/tsconfig.build.tsbuildinfo +1 -1
  142. package/dist/utils/service/loggingUtil.service.d.ts +2 -9
  143. package/dist/utils/service/loggingUtil.service.js +14 -65
  144. package/dist/utils/service/loggingUtil.service.js.map +1 -1
  145. package/dist/utils/service/reflection-helper.service.js +3 -3
  146. package/dist/utils/service/reflection-helper.service.js.map +1 -1
  147. package/dist/utils/utils.module.js +0 -2
  148. package/dist/utils/utils.module.js.map +1 -1
  149. package/docs/modules/event-driven-integration-design.md +91 -91
  150. package/docs/modules/integration.md +250 -250
  151. package/eslint.config.mjs +34 -34
  152. package/nest-cli.json +14 -14
  153. package/package.json +120 -119
  154. package/server.log +850 -0
  155. package/src/app.controller.ts +12 -12
  156. package/src/app.module.ts +52 -52
  157. package/src/app.service.ts +8 -8
  158. package/src/config/config.module.ts +17 -18
  159. package/src/config/database.config.ts +47 -23
  160. package/src/constant/global.constant.ts +67 -67
  161. package/src/core.module.ts +81 -81
  162. package/src/decorators/roles.decorator.ts +7 -7
  163. package/src/dtos/response.dto.ts +6 -6
  164. package/src/dtos/response.ts +5 -5
  165. package/src/index.ts +1 -1
  166. package/src/module/auth/auth.module.ts +49 -49
  167. package/src/module/auth/controller/auth.controller.ts +28 -28
  168. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  169. package/src/module/auth/guards/jwt.guard.ts +22 -22
  170. package/src/module/auth/guards/role.guard.ts +68 -68
  171. package/src/module/auth/services/auth.service.ts +50 -50
  172. package/src/module/auth/services/jwt.service.ts +11 -11
  173. package/src/module/auth/strategies/google.strategy.ts +54 -54
  174. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  175. package/src/module/auth/strategies/local.strategy.ts +13 -13
  176. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  177. package/src/module/dashboard/dashboard.module.ts +21 -21
  178. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  179. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  180. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  181. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  182. package/src/module/dev/dev.module.ts +12 -12
  183. package/src/module/dev/service/dev.service.ts +7 -7
  184. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  185. package/src/module/enterprise/enterprise.module.ts +30 -30
  186. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  187. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  188. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  189. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  190. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  191. package/src/module/enterprise/repository/school.repository.ts +278 -278
  192. package/src/module/enterprise/service/brand.service.ts +5 -5
  193. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  194. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  195. package/src/module/enterprise/service/organization.service.ts +145 -145
  196. package/src/module/filter/controller/filter.controller.ts +84 -84
  197. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  198. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  199. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  200. package/src/module/filter/filter.module.ts +31 -31
  201. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  202. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  203. package/src/module/filter/service/filter.service.ts +1005 -1005
  204. package/src/module/filter/service/saved-filter.service.ts +170 -170
  205. package/src/module/ics/controller/ics.controller.ts +21 -21
  206. package/src/module/ics/dto/ics.dto.ts +55 -55
  207. package/src/module/ics/ics.module.ts +13 -13
  208. package/src/module/ics/service/ics.service.ts +57 -57
  209. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  210. package/src/module/integration/controller/integration.controller.ts +662 -662
  211. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  212. package/src/module/integration/dto/create-config.dto.ts +526 -526
  213. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  214. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  215. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  216. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  217. package/src/module/integration/examples/usage.example.ts +338 -338
  218. package/src/module/integration/factories/base.factory.ts +7 -7
  219. package/src/module/integration/factories/email.factory.ts +49 -49
  220. package/src/module/integration/factories/integration.factory.ts +121 -121
  221. package/src/module/integration/factories/sms.factory.ts +51 -51
  222. package/src/module/integration/factories/telephone.factory.ts +41 -41
  223. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  224. package/src/module/integration/integration.module.ts +110 -110
  225. package/src/module/integration/service/calendar-event.service.ts +118 -118
  226. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  227. package/src/module/integration/service/integration-queue.service.ts +229 -229
  228. package/src/module/integration/service/integration.service.ts +2633 -2633
  229. package/src/module/integration/service/oauth.service.ts +224 -224
  230. package/src/module/integration/service/wrapper.service.ts +494 -700
  231. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  232. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  233. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  234. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  235. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  236. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  237. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  238. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  239. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  240. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  241. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  242. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  243. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  244. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  245. package/src/module/layout/controller/layout.controller.ts +47 -47
  246. package/src/module/layout/entity/header-items.entity.ts +28 -28
  247. package/src/module/layout/entity/header-section.entity.ts +19 -19
  248. package/src/module/layout/layout.module.ts +21 -21
  249. package/src/module/layout/repository/header-items.repository.ts +18 -18
  250. package/src/module/layout/repository/header-section.repository.ts +22 -22
  251. package/src/module/layout/service/header-section.service.ts +25 -25
  252. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  253. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  254. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  255. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  256. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  257. package/src/module/lead/controller/lead.controller.ts +30 -30
  258. package/src/module/lead/lead.module.ts +14 -14
  259. package/src/module/lead/repository/lead.repository.ts +41 -41
  260. package/src/module/lead/service/lead.service.ts +54 -54
  261. package/src/module/listmaster/controller/list-master.controller.ts +230 -230
  262. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  263. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  264. package/src/module/listmaster/listmaster.module.ts +46 -46
  265. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  266. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  267. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  268. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  269. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  270. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  271. package/src/module/listmaster/service/list-master.service.ts +535 -535
  272. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  273. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  274. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  275. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  276. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  277. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  278. package/src/module/mapper/mapper.module.ts +34 -34
  279. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  280. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  281. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  282. package/src/module/mapper/service/field-mapper.service.ts +266 -271
  283. package/src/module/mapper/service/mapper.service.ts +79 -79
  284. package/src/module/master/controller/master.controller.ts +74 -74
  285. package/src/module/master/service/master.service.ts +483 -483
  286. package/src/module/meta/controller/app-master.controller.ts +38 -38
  287. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  288. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  289. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  290. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  291. package/src/module/meta/controller/entity.controller.ts +392 -392
  292. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  293. package/src/module/meta/controller/media.controller.ts +107 -107
  294. package/src/module/meta/controller/meta.controller.ts +96 -96
  295. package/src/module/meta/controller/view-master.controller.ts +86 -86
  296. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  297. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  298. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  299. package/src/module/meta/entity/app-master.entity.ts +34 -34
  300. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  301. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  302. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  303. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  304. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  305. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  306. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  307. package/src/module/meta/entity/media-data.entity.ts +32 -32
  308. package/src/module/meta/entity/preference.entity.ts +62 -62
  309. package/src/module/meta/entity/view-master.entity.ts +41 -41
  310. package/src/module/meta/entity.module.ts +158 -158
  311. package/src/module/meta/repository/app-master.repository.ts +20 -20
  312. package/src/module/meta/repository/attribute-master.repository.ts +118 -118
  313. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  314. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  315. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  316. package/src/module/meta/repository/media-data.repository.ts +50 -50
  317. package/src/module/meta/repository/preference.repository.ts +20 -20
  318. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  319. package/src/module/meta/repository/view-master.repository.ts +42 -42
  320. package/src/module/meta/service/app-master.service.ts +37 -37
  321. package/src/module/meta/service/attribute-master.service.ts +126 -126
  322. package/src/module/meta/service/common.service.ts +9 -9
  323. package/src/module/meta/service/entity-dynamic.service.ts +819 -819
  324. package/src/module/meta/service/entity-list.service.ts +205 -205
  325. package/src/module/meta/service/entity-master.service.ts +169 -169
  326. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  327. package/src/module/meta/service/entity-relation.service.ts +69 -69
  328. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  329. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  330. package/src/module/meta/service/entity-table.service.ts +150 -150
  331. package/src/module/meta/service/entity-validation.service.ts +187 -187
  332. package/src/module/meta/service/entity.service.ts +67 -67
  333. package/src/module/meta/service/field-group.service.ts +103 -103
  334. package/src/module/meta/service/media-data.service.ts +507 -507
  335. package/src/module/meta/service/populate-meta.service.ts +193 -193
  336. package/src/module/meta/service/preference.service.ts +16 -16
  337. package/src/module/meta/service/resolver.service.ts +267 -267
  338. package/src/module/meta/service/section-master.service.ts +104 -104
  339. package/src/module/meta/service/update-form-json.service.ts +22 -22
  340. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  341. package/src/module/meta/service/view-master.service.ts +127 -127
  342. package/src/module/microservice-client/microservice-clients.module.ts +13 -13
  343. package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
  344. package/src/module/microservice-client/service/microservice-clients.ts +4 -4
  345. package/src/module/module/controller/menu.controller.ts +15 -15
  346. package/src/module/module/controller/module-access.controller.ts +134 -134
  347. package/src/module/module/entity/menu.entity.ts +43 -43
  348. package/src/module/module/entity/module-access.entity.ts +25 -25
  349. package/src/module/module/entity/module-action.entity.ts +17 -17
  350. package/src/module/module/entity/module.entity.ts +52 -52
  351. package/src/module/module/module.module.ts +42 -42
  352. package/src/module/module/repository/menu.repository.ts +184 -184
  353. package/src/module/module/repository/module-access.repository.ts +344 -344
  354. package/src/module/module/service/menu.service.ts +82 -82
  355. package/src/module/module/service/module-access.service.ts +209 -209
  356. package/src/module/notification/controller/notification.controller.ts +58 -58
  357. package/src/module/notification/controller/otp.controller.ts +117 -117
  358. package/src/module/notification/entity/notification.entity.ts +26 -26
  359. package/src/module/notification/entity/otp.entity.ts +28 -28
  360. package/src/module/notification/firebase-admin.config.ts +22 -22
  361. package/src/module/notification/notification.module.ts +69 -69
  362. package/src/module/notification/repository/otp.repository.ts +27 -27
  363. package/src/module/notification/service/email.service.ts +127 -127
  364. package/src/module/notification/service/notification.service.ts +163 -163
  365. package/src/module/notification/service/otp.service.ts +132 -132
  366. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  367. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  368. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  369. package/src/module/third-party-module/third-party.module.ts +12 -12
  370. package/src/module/user/controller/login.controller.ts +197 -197
  371. package/src/module/user/controller/user.controller.ts +40 -40
  372. package/src/module/user/dto/create-user.dto.ts +62 -62
  373. package/src/module/user/dto/update-user.dto.ts +4 -4
  374. package/src/module/user/entity/role.entity.ts +33 -33
  375. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  376. package/src/module/user/entity/user-session.entity.ts +73 -73
  377. package/src/module/user/entity/user.entity.ts +59 -59
  378. package/src/module/user/repository/role.repository.ts +96 -96
  379. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  380. package/src/module/user/repository/user.repository.ts +50 -50
  381. package/src/module/user/repository/userSession.repository.ts +33 -33
  382. package/src/module/user/service/login.service.ts +304 -304
  383. package/src/module/user/service/role.service.ts +189 -189
  384. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  385. package/src/module/user/service/user-session.service.ts +168 -168
  386. package/src/module/user/service/user.service.ts +365 -365
  387. package/src/module/user/user.module.ts +65 -65
  388. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  389. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  390. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  391. package/src/module/workflow/controller/action.controller.ts +111 -111
  392. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  393. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  394. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  395. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  396. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  397. package/src/module/workflow/controller/stage.controller.ts +50 -50
  398. package/src/module/workflow/controller/task.controller.ts +77 -77
  399. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  400. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  401. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  402. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  403. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  404. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  405. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  406. package/src/module/workflow/entity/action.entity.ts +50 -50
  407. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  408. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  409. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  410. package/src/module/workflow/entity/form.entity.ts +25 -25
  411. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  412. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  413. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  414. package/src/module/workflow/entity/stage.entity.ts +20 -20
  415. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  416. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  417. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  418. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  419. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  420. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  421. package/src/module/workflow/repository/action-data.repository.ts +333 -333
  422. package/src/module/workflow/repository/action.repository.ts +323 -323
  423. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  424. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  425. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  426. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  427. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  428. package/src/module/workflow/repository/stage.repository.ts +172 -172
  429. package/src/module/workflow/repository/task.repository.ts +127 -134
  430. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  431. package/src/module/workflow/service/action-category.service.ts +33 -33
  432. package/src/module/workflow/service/action-data.service.ts +62 -62
  433. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  434. package/src/module/workflow/service/action-template-mapping.service.ts +106 -106
  435. package/src/module/workflow/service/action.service.ts +279 -279
  436. package/src/module/workflow/service/activity-log.service.ts +107 -107
  437. package/src/module/workflow/service/comm-template.service.ts +180 -180
  438. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  439. package/src/module/workflow/service/form-master.service.ts +35 -35
  440. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  441. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  442. package/src/module/workflow/service/stage-group.service.ts +319 -319
  443. package/src/module/workflow/service/stage.service.ts +199 -199
  444. package/src/module/workflow/service/task.service.ts +560 -547
  445. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  446. package/src/module/workflow/service/workflow-meta.service.ts +640 -654
  447. package/src/module/workflow/service/workflow.service.ts +205 -205
  448. package/src/module/workflow/workflow.module.ts +176 -176
  449. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -43
  450. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  451. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -38
  452. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  453. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  454. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  455. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  456. package/src/module/workflow-automation/service/workflow-automation.service.ts +347 -421
  457. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  458. package/src/resources/dev.properties.yaml +31 -30
  459. package/src/resources/local.properties.yaml +27 -27
  460. package/src/resources/properties.module.ts +12 -12
  461. package/src/resources/properties.yaml.ts +11 -11
  462. package/src/resources/uat.properties.yaml +31 -31
  463. package/src/table.config.ts +126 -126
  464. package/src/utils/dto/excel-data.dto.ts +14 -14
  465. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  466. package/src/utils/service/base64util.service.ts +18 -18
  467. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  468. package/src/utils/service/codeGenerator.service.ts +22 -22
  469. package/src/utils/service/dateUtil.service.ts +17 -17
  470. package/src/utils/service/encryptUtil.service.ts +97 -97
  471. package/src/utils/service/excel-helper.service.ts +72 -72
  472. package/src/utils/service/excelUtil.service.ts +15 -15
  473. package/src/utils/service/file-util.service.ts +11 -11
  474. package/src/utils/service/json-util.service.ts +23 -23
  475. package/src/utils/service/loggingUtil.service.ts +34 -88
  476. package/src/utils/service/reflection-helper.service.ts +62 -62
  477. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  478. package/src/utils/utils.module.ts +25 -27
  479. package/tsconfig.build.json +4 -4
  480. package/tsconfig.json +24 -24
@@ -1,251 +1,251 @@
1
- # Integration Module Documentation
2
-
3
- ## Database Schema
4
-
5
- ### Tables: frm_integration_config
6
- ```sql
7
- -- Integration configuration storage (merged from frm_communication_config, communication_config_type & communication_hub)
8
- CREATE TABLE frm_integration_config (
9
- id INT AUTO_INCREMENT PRIMARY KEY,
10
- app_code VARCHAR(100) NOT NULL,
11
- integration_type VARCHAR(20) NOT NULL, -- EMAIL, SMS, WA, TELEPHONE
12
- integration_provider VARCHAR(100) NOT NULL, -- gmail, outlook, twilio, whatsapp, etc.
13
- integration_source_id INT NOT NULL, -- Integration source identifier
14
- level_id INT NOT NULL, -- Level to which this config applies
15
- level_type VARCHAR(100) NOT NULL, -- 'organization', 'department', 'user', 'project'
16
- status TINYINT DEFAULT 1, -- 1=active, 0=inactive
17
- priority INT DEFAULT 1, -- Lower number = higher priority
18
- is_default BOOLEAN DEFAULT FALSE, -- Whether this is the default config for this level+type
19
- config_json JSON NOT NULL,
20
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
21
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
22
- INDEX idx_level_status (level_id, level_type, status),
23
- INDEX idx_type_provider (integration_type, integration_provider)
24
- );
25
-
26
- -- Integration source master table (existing)
27
- CREATE TABLE frm_integration_master (
28
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
29
- name VARCHAR(100),
30
- logo VARCHAR(100),
31
- base_url VARCHAR(100),
32
- integration_type VARCHAR(20),
33
- status VARCHAR(100),
34
- -- ... other BaseEntity fields
35
- );
36
- ```
37
-
38
- ## Architecture: Hierarchical Factory Pattern
39
-
40
- ### Strategy Interface
41
- ```ts
42
- export interface IntegrationStrategy {
43
- sendMessage(to: string, message: string, config: any): Promise<any>;
44
- }
45
- ```
46
-
47
- ### Factory Structure (Integration Type → Provider)
48
- - **EMAIL**: gmail, outlook, aws-ses, sendgrid, generic
49
- - **SMS**: twilio, knowlarity
50
- - **WA**: whatsapp
51
- - **TELEPHONE**: knowlarity
52
-
53
- ### Main Factory
54
- ```ts
55
- @Injectable()
56
- export class IntegrationFactory {
57
- create(integration_type: string, integration_provider: string): IntegrationStrategy {
58
- // Returns appropriate strategy instance
59
- }
60
-
61
- getAllSupportedCombinations(): Array<{integration_type, integration_provider}> {}
62
- getSupportedCombinationsForType(integration_type: string): Array<{integration_provider}> {}
63
- validateCombination(integration_type: string, integration_provider: string): boolean {}
64
- }
65
- ```
66
-
67
- ### Service Layer
68
- ```ts
69
- @Injectable()
70
- export class IntegrationService {
71
- // Main send with fallback
72
- async send(orgId: number, to: string, message: string, type?: string, options: any = {}) {}
73
-
74
- // Type-specific methods
75
- async sendEmail(orgId: number, to: string, subject: string, body: string, attachments?: any[]) {}
76
- async sendSMS(orgId: number, to: string, message: string) {}
77
- async sendWhatsApp(orgId: number, to: string, message: string, mediaUrl?: string) {}
78
-
79
- // Bulk & template support
80
- async sendBulk(orgId: number, recipients: string[], message: string, type?: string) {}
81
- async sendWithTemplate(orgId: number, to: string, templateId: string, variables: any) {}
82
-
83
- // Configuration management
84
- async createConfiguration(orgId: number, configData: any) {}
85
- async updateConfiguration(hubId: number, configData: any) {}
86
- async setDefaultProvider(hubId: number) {}
87
- }
88
- ```
89
-
90
- ## Provider Configuration Examples
91
-
92
- ### Gmail API
93
- ```json
94
- {
95
- "app_code": "MYAPP",
96
- "integration_type": "EMAIL",
97
- "integration_provider": "gmail",
98
- "integration_source_id": 1,
99
- "config_json": {
100
- "clientId": "your-client-id.apps.googleusercontent.com",
101
- "clientSecret": "your-client-secret",
102
- "refreshToken": "your-refresh-token",
103
- "accessToken": "your-access-token"
104
- }
105
- }
106
- ```
107
-
108
- ### Gmail SMTP
109
- ```json
110
- {
111
- "app_code": "MYAPP",
112
- "integration_type": "EMAIL",
113
- "integration_provider": "gmail",
114
- "integration_source_id": 1,
115
- "config_json": {
116
- "email": "your-email@gmail.com",
117
- "password": "your-app-password",
118
- "subject": "Default Subject"
119
- }
120
- }
121
- ```
122
-
123
- ### Twilio SMS
124
- ```json
125
- {
126
- "app_code": "MYAPP",
127
- "integration_type": "SMS",
128
- "integration_provider": "twilio",
129
- "integration_source_id": 2,
130
- "config_json": {
131
- "accountSid": "your-twilio-account-sid",
132
- "authToken": "your-twilio-auth-token",
133
- "fromNumber": "+1234567890"
134
- }
135
- }
136
- ```
137
-
138
- ### WhatsApp Cloud API
139
- ```json
140
- {
141
- "app_code": "MYAPP",
142
- "integration_type": "WA",
143
- "integration_provider": "whatsapp",
144
- "integration_source_id": 3,
145
- "config_json": {
146
- "accessToken": "your-whatsapp-access-token",
147
- "phoneNumberId": "your-phone-number-id",
148
- "apiVersion": "v17.0"
149
- }
150
- }
151
- ```
152
-
153
- ### Gupshup WhatsApp
154
- ```json
155
- {
156
- "app_code": "MYAPP",
157
- "integration_type": "WA",
158
- "integration_provider": "gupshup",
159
- "integration_source_id": 4,
160
- "config_json": {
161
- "apiKey": "your-gupshup-api-key",
162
- "appName": "your-app-name",
163
- "sourceNumber": "your-source-number",
164
- "baseUrl": "https://api.gupshup.io/sm/api/v1"
165
- }
166
- }
167
- ```
168
-
169
- **Gupshup Message Types:**
170
- - **Text Message**: Default type, just send message
171
- - **Template**: Requires `messageType: "template"`, `templateId`, optional `templateParams`
172
- - **Image**: Requires `messageType: "image"`, `mediaUrl`, optional `previewUrl`, `caption`
173
- - **Document**: Requires `messageType: "document"`, `mediaUrl`, optional `filename`, `caption`
174
- - **Audio**: Requires `messageType: "audio"`, `mediaUrl`
175
- - **Video**: Requires `messageType: "video"`, `mediaUrl`, optional `caption`
176
- - **Location**: Requires `messageType: "location"`, `latitude`, `longitude`, optional `locationName`, `locationAddress`
177
- - **List**: Requires `messageType: "list"`, `listItems`, optional `listTitle`, `globalButtons`
178
- - **Quick Reply**: Requires `messageType: "quick_reply"`, `quickReplyOptions`
179
-
180
- ### Tubelight WhatsApp
181
- ```json
182
- {
183
- "app_code": "MYAPP",
184
- "integration_type": "WA",
185
- "integration_provider": "tubelight",
186
- "integration_source_id": 5,
187
- "config_json": {
188
- "userName": "your-tubelight-username",
189
- "password": "your-tubelight-password",
190
- "tenantId": "your-tenant-id",
191
- "sourceNumber": "your-source-number",
192
- "baseUrl": "https://portal.tubelightcommunications.com/whatsapp/api/v1"
193
- }
194
- }
195
- ```
196
-
197
- **Tubelight Message Types:**
198
- - **Text Message**: Default type with `messageType: "TEXT"` or no messageType specified
199
- - **Template**: Requires `messageType: "template"`, `templateId`, optional `templateParams`, `templateLanguage` (default: "en")
200
- - **Image**: Requires `messageType: "image"`, `mediaUrl`, optional `caption`
201
- - **Document**: Requires `messageType: "document"`, `mediaUrl`, optional `filename`, `caption`
202
- - **Audio**: Requires `messageType: "audio"`, `mediaUrl`
203
- - **Video**: Requires `messageType: "video"`, `mediaUrl`, optional `caption`
204
- - **Location**: Requires `messageType: "location"`, `latitude`, `longitude`, optional `locationName`, `locationAddress`
205
- - **Interactive**: Requires `messageType: "interactive"`, `interactiveType` ("button" or "list"), optional `buttons`, `sections`, `header`, `footer`
206
-
207
- ### Knowlarity Voice
208
- ```json
209
- {
210
- "app_code": "MYAPP",
211
- "integration_type": "TELEPHONE",
212
- "integration_provider": "knowlarity",
213
- "integration_source_id": 4,
214
- "config_json": {
215
- "apiKey": "your-knowlarity-api-key",
216
- "apiSecret": "your-knowlarity-api-secret",
217
- "callerNumber": "your-knowlarity-number",
218
- "callType": "voice",
219
- "language": "en"
220
- }
221
- }
222
- ```
223
-
224
- ## API Endpoints
225
-
226
- ```
227
- POST /integration/send
228
- POST /integration/config
229
- GET /integration/level/:id/:type/configs
230
- POST /integration/gmail/oauth/init
231
- POST /integration/oauth/callback/gmail
232
- ```
233
-
234
- ## Module Structure
235
- ```
236
- src/module/integration/
237
- ├── controller/integration.controller.ts
238
- ├── entity/integration-config.entity.ts
239
- ├── entity/integration-source.entity.ts
240
- ├── service/integration.service.ts
241
- ├── factories/integration.factory.ts
242
- ├── strategies/gmail.strategy.ts (and others)
243
- └── integration.module.ts
244
- ```
245
-
246
- ## Level Hierarchy (fallback order)
247
- 1. **user** (highest priority)
248
- 2. **team**
249
- 3. **project**
250
- 4. **department**
1
+ # Integration Module Documentation
2
+
3
+ ## Database Schema
4
+
5
+ ### Tables: frm_integration_config
6
+ ```sql
7
+ -- Integration configuration storage (merged from frm_communication_config, communication_config_type & communication_hub)
8
+ CREATE TABLE frm_integration_config (
9
+ id INT AUTO_INCREMENT PRIMARY KEY,
10
+ app_code VARCHAR(100) NOT NULL,
11
+ integration_type VARCHAR(20) NOT NULL, -- EMAIL, SMS, WA, TELEPHONE
12
+ integration_provider VARCHAR(100) NOT NULL, -- gmail, outlook, twilio, whatsapp, etc.
13
+ integration_source_id INT NOT NULL, -- Integration source identifier
14
+ level_id INT NOT NULL, -- Level to which this config applies
15
+ level_type VARCHAR(100) NOT NULL, -- 'organization', 'department', 'user', 'project'
16
+ status int DEFAULT 1, -- 1=active, 0=inactive
17
+ priority INT DEFAULT 1, -- Lower number = higher priority
18
+ is_default BOOLEAN DEFAULT FALSE, -- Whether this is the default config for this level+type
19
+ config_json JSON NOT NULL,
20
+ created_at timestamp DEFAULT CURRENT_TIMESTAMP,
21
+ updated_at timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
22
+ INDEX idx_level_status (level_id, level_type, status),
23
+ INDEX idx_type_provider (integration_type, integration_provider)
24
+ );
25
+
26
+ -- Integration source master table (existing)
27
+ CREATE TABLE frm_integration_master (
28
+ id BIGINT AUTO_INCREMENT PRIMARY KEY,
29
+ name VARCHAR(100),
30
+ logo VARCHAR(100),
31
+ base_url VARCHAR(100),
32
+ integration_type VARCHAR(20),
33
+ status VARCHAR(100),
34
+ -- ... other BaseEntity fields
35
+ );
36
+ ```
37
+
38
+ ## Architecture: Hierarchical Factory Pattern
39
+
40
+ ### Strategy Interface
41
+ ```ts
42
+ export interface IntegrationStrategy {
43
+ sendMessage(to: string, message: string, config: any): Promise<any>;
44
+ }
45
+ ```
46
+
47
+ ### Factory Structure (Integration Type → Provider)
48
+ - **EMAIL**: gmail, outlook, aws-ses, sendgrid, generic
49
+ - **SMS**: twilio, knowlarity
50
+ - **WA**: whatsapp
51
+ - **TELEPHONE**: knowlarity
52
+
53
+ ### Main Factory
54
+ ```ts
55
+ @Injectable()
56
+ export class IntegrationFactory {
57
+ create(integration_type: string, integration_provider: string): IntegrationStrategy {
58
+ // Returns appropriate strategy instance
59
+ }
60
+
61
+ getAllSupportedCombinations(): Array<{integration_type, integration_provider}> {}
62
+ getSupportedCombinationsForType(integration_type: string): Array<{integration_provider}> {}
63
+ validateCombination(integration_type: string, integration_provider: string): boolean {}
64
+ }
65
+ ```
66
+
67
+ ### Service Layer
68
+ ```ts
69
+ @Injectable()
70
+ export class IntegrationService {
71
+ // Main send with fallback
72
+ async send(orgId: number, to: string, message: string, type?: string, options: any = {}) {}
73
+
74
+ // Type-specific methods
75
+ async sendEmail(orgId: number, to: string, subject: string, body: string, attachments?: any[]) {}
76
+ async sendSMS(orgId: number, to: string, message: string) {}
77
+ async sendWhatsApp(orgId: number, to: string, message: string, mediaUrl?: string) {}
78
+
79
+ // Bulk & template support
80
+ async sendBulk(orgId: number, recipients: string[], message: string, type?: string) {}
81
+ async sendWithTemplate(orgId: number, to: string, templateId: string, variables: any) {}
82
+
83
+ // Configuration management
84
+ async createConfiguration(orgId: number, configData: any) {}
85
+ async updateConfiguration(hubId: number, configData: any) {}
86
+ async setDefaultProvider(hubId: number) {}
87
+ }
88
+ ```
89
+
90
+ ## Provider Configuration Examples
91
+
92
+ ### Gmail API
93
+ ```json
94
+ {
95
+ "app_code": "MYAPP",
96
+ "integration_type": "EMAIL",
97
+ "integration_provider": "gmail",
98
+ "integration_source_id": 1,
99
+ "config_json": {
100
+ "clientId": "your-client-id.apps.googleusercontent.com",
101
+ "clientSecret": "your-client-secret",
102
+ "refreshToken": "your-refresh-token",
103
+ "accessToken": "your-access-token"
104
+ }
105
+ }
106
+ ```
107
+
108
+ ### Gmail SMTP
109
+ ```json
110
+ {
111
+ "app_code": "MYAPP",
112
+ "integration_type": "EMAIL",
113
+ "integration_provider": "gmail",
114
+ "integration_source_id": 1,
115
+ "config_json": {
116
+ "email": "your-email@gmail.com",
117
+ "password": "your-app-password",
118
+ "subject": "Default Subject"
119
+ }
120
+ }
121
+ ```
122
+
123
+ ### Twilio SMS
124
+ ```json
125
+ {
126
+ "app_code": "MYAPP",
127
+ "integration_type": "SMS",
128
+ "integration_provider": "twilio",
129
+ "integration_source_id": 2,
130
+ "config_json": {
131
+ "accountSid": "your-twilio-account-sid",
132
+ "authToken": "your-twilio-auth-token",
133
+ "fromNumber": "+1234567890"
134
+ }
135
+ }
136
+ ```
137
+
138
+ ### WhatsApp Cloud API
139
+ ```json
140
+ {
141
+ "app_code": "MYAPP",
142
+ "integration_type": "WA",
143
+ "integration_provider": "whatsapp",
144
+ "integration_source_id": 3,
145
+ "config_json": {
146
+ "accessToken": "your-whatsapp-access-token",
147
+ "phoneNumberId": "your-phone-number-id",
148
+ "apiVersion": "v17.0"
149
+ }
150
+ }
151
+ ```
152
+
153
+ ### Gupshup WhatsApp
154
+ ```json
155
+ {
156
+ "app_code": "MYAPP",
157
+ "integration_type": "WA",
158
+ "integration_provider": "gupshup",
159
+ "integration_source_id": 4,
160
+ "config_json": {
161
+ "apiKey": "your-gupshup-api-key",
162
+ "appName": "your-app-name",
163
+ "sourceNumber": "your-source-number",
164
+ "baseUrl": "https://api.gupshup.io/sm/api/v1"
165
+ }
166
+ }
167
+ ```
168
+
169
+ **Gupshup Message Types:**
170
+ - **Text Message**: Default type, just send message
171
+ - **Template**: Requires `messageType: "template"`, `templateId`, optional `templateParams`
172
+ - **Image**: Requires `messageType: "image"`, `mediaUrl`, optional `previewUrl`, `caption`
173
+ - **Document**: Requires `messageType: "document"`, `mediaUrl`, optional `filename`, `caption`
174
+ - **Audio**: Requires `messageType: "audio"`, `mediaUrl`
175
+ - **Video**: Requires `messageType: "video"`, `mediaUrl`, optional `caption`
176
+ - **Location**: Requires `messageType: "location"`, `latitude`, `longitude`, optional `locationName`, `locationAddress`
177
+ - **List**: Requires `messageType: "list"`, `listItems`, optional `listTitle`, `globalButtons`
178
+ - **Quick Reply**: Requires `messageType: "quick_reply"`, `quickReplyOptions`
179
+
180
+ ### Tubelight WhatsApp
181
+ ```json
182
+ {
183
+ "app_code": "MYAPP",
184
+ "integration_type": "WA",
185
+ "integration_provider": "tubelight",
186
+ "integration_source_id": 5,
187
+ "config_json": {
188
+ "userName": "your-tubelight-username",
189
+ "password": "your-tubelight-password",
190
+ "tenantId": "your-tenant-id",
191
+ "sourceNumber": "your-source-number",
192
+ "baseUrl": "https://portal.tubelightcommunications.com/whatsapp/api/v1"
193
+ }
194
+ }
195
+ ```
196
+
197
+ **Tubelight Message Types:**
198
+ - **Text Message**: Default type with `messageType: "TEXT"` or no messageType specified
199
+ - **Template**: Requires `messageType: "template"`, `templateId`, optional `templateParams`, `templateLanguage` (default: "en")
200
+ - **Image**: Requires `messageType: "image"`, `mediaUrl`, optional `caption`
201
+ - **Document**: Requires `messageType: "document"`, `mediaUrl`, optional `filename`, `caption`
202
+ - **Audio**: Requires `messageType: "audio"`, `mediaUrl`
203
+ - **Video**: Requires `messageType: "video"`, `mediaUrl`, optional `caption`
204
+ - **Location**: Requires `messageType: "location"`, `latitude`, `longitude`, optional `locationName`, `locationAddress`
205
+ - **Interactive**: Requires `messageType: "interactive"`, `interactiveType` ("button" or "list"), optional `buttons`, `sections`, `header`, `footer`
206
+
207
+ ### Knowlarity Voice
208
+ ```json
209
+ {
210
+ "app_code": "MYAPP",
211
+ "integration_type": "TELEPHONE",
212
+ "integration_provider": "knowlarity",
213
+ "integration_source_id": 4,
214
+ "config_json": {
215
+ "apiKey": "your-knowlarity-api-key",
216
+ "apiSecret": "your-knowlarity-api-secret",
217
+ "callerNumber": "your-knowlarity-number",
218
+ "callType": "voice",
219
+ "language": "en"
220
+ }
221
+ }
222
+ ```
223
+
224
+ ## API Endpoints
225
+
226
+ ```
227
+ POST /integration/send
228
+ POST /integration/config
229
+ GET /integration/level/:id/:type/configs
230
+ POST /integration/gmail/oauth/init
231
+ POST /integration/oauth/callback/gmail
232
+ ```
233
+
234
+ ## Module Structure
235
+ ```
236
+ src/module/integration/
237
+ ├── controller/integration.controller.ts
238
+ ├── entity/integration-config.entity.ts
239
+ ├── entity/integration-source.entity.ts
240
+ ├── service/integration.service.ts
241
+ ├── factories/integration.factory.ts
242
+ ├── strategies/gmail.strategy.ts (and others)
243
+ └── integration.module.ts
244
+ ```
245
+
246
+ ## Level Hierarchy (fallback order)
247
+ 1. **user** (highest priority)
248
+ 2. **team**
249
+ 3. **project**
250
+ 4. **department**
251
251
  5. **organization** (lowest priority)
package/eslint.config.mjs CHANGED
@@ -1,35 +1,35 @@
1
- // @ts-check
2
- import eslint from '@eslint/js';
3
- import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
4
- import globals from 'globals';
5
- import tseslint from 'typescript-eslint';
6
-
7
- export default tseslint.config(
8
- {
9
- ignores: ['eslint.config.mjs'],
10
- },
11
- eslint.configs.recommended,
12
- ...tseslint.configs.recommendedTypeChecked,
13
- eslintPluginPrettierRecommended,
14
- {
15
- languageOptions: {
16
- globals: {
17
- ...globals.node,
18
- ...globals.jest,
19
- },
20
- ecmaVersion: 5,
21
- sourceType: 'module',
22
- parserOptions: {
23
- projectService: true,
24
- tsconfigRootDir: import.meta.dirname,
25
- },
26
- },
27
- },
28
- {
29
- rules: {
30
- '@typescript-eslint/no-explicit-any': 'off',
31
- '@typescript-eslint/no-floating-promises': 'warn',
32
- '@typescript-eslint/no-unsafe-argument': 'warn'
33
- },
34
- },
1
+ // @ts-check
2
+ import eslint from '@eslint/js';
3
+ import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
4
+ import globals from 'globals';
5
+ import tseslint from 'typescript-eslint';
6
+
7
+ export default tseslint.config(
8
+ {
9
+ ignores: ['eslint.config.mjs'],
10
+ },
11
+ eslint.configs.recommended,
12
+ ...tseslint.configs.recommendedTypeChecked,
13
+ eslintPluginPrettierRecommended,
14
+ {
15
+ languageOptions: {
16
+ globals: {
17
+ ...globals.node,
18
+ ...globals.jest,
19
+ },
20
+ ecmaVersion: 5,
21
+ sourceType: 'module',
22
+ parserOptions: {
23
+ projectService: true,
24
+ tsconfigRootDir: import.meta.dirname,
25
+ },
26
+ },
27
+ },
28
+ {
29
+ rules: {
30
+ '@typescript-eslint/no-explicit-any': 'off',
31
+ '@typescript-eslint/no-floating-promises': 'warn',
32
+ '@typescript-eslint/no-unsafe-argument': 'warn'
33
+ },
34
+ },
35
35
  );
package/nest-cli.json CHANGED
@@ -1,14 +1,14 @@
1
- {
2
- "$schema": "https://json.schemastore.org/nest-cli",
3
- "collection": "@nestjs/schematics",
4
- "sourceRoot": "src",
5
- "compilerOptions": {
6
- "assets": [
7
- {
8
- "include": "../src/*.yaml",
9
- "outDir": "./dist/"
10
- }
11
- ],
12
- "deleteOutDir": true
13
- }
14
- }
1
+ {
2
+ "$schema": "https://json.schemastore.org/nest-cli",
3
+ "collection": "@nestjs/schematics",
4
+ "sourceRoot": "src",
5
+ "compilerOptions": {
6
+ "assets": [
7
+ {
8
+ "include": "../src/*.yaml",
9
+ "outDir": "./dist/"
10
+ }
11
+ ],
12
+ "deleteOutDir": true
13
+ }
14
+ }