rez_core 3.1.199 → 3.1.200
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.
- package/.claude/settings.local.json +26 -0
- package/.idea/250218_nodejs_core.iml +9 -0
- package/.idea/codeStyles/Project.xml +59 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/copilot.data.migration.agent.xml +6 -0
- package/.idea/copilot.data.migration.ask.xml +6 -0
- package/.idea/copilot.data.migration.ask2agent.xml +6 -0
- package/.idea/copilot.data.migration.edit.xml +6 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/prettier.xml +6 -0
- package/.idea/vcs.xml +6 -0
- package/.prettierrc +3 -3
- package/README.md +99 -99
- package/dist/module/auth/guards/role.guard.js +3 -3
- package/dist/module/auth/services/auth.service.js +2 -2
- package/dist/module/filter/repository/saved-filter.repository.js +4 -4
- package/dist/module/filter/service/filter-evaluator.service.js +2 -2
- package/dist/module/filter/service/filter.service.js +7 -7
- package/dist/module/integration/examples/usage.example.js +9 -9
- package/dist/module/integration/service/integration.service.js +1 -1
- package/dist/module/integration/service/wrapper.service.js +25 -25
- package/dist/module/listmaster/service/list-master-item.service.js +2 -2
- package/dist/module/listmaster/service/list-master.service.js +2 -2
- package/dist/module/mapper/service/field-mapper.service.js +4 -4
- package/dist/module/mapper/service/mapper.service.js +2 -2
- package/dist/module/meta/controller/media.controller.d.ts +3 -0
- package/dist/module/meta/controller/media.controller.js +15 -0
- package/dist/module/meta/controller/media.controller.js.map +1 -1
- package/dist/module/meta/entity/entity-master.entity.d.ts +2 -0
- package/dist/module/meta/entity/entity-master.entity.js +8 -0
- package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
- package/dist/module/meta/service/entity-dynamic.service.js +18 -18
- package/dist/module/meta/service/entity-list.service.js +3 -3
- package/dist/module/meta/service/entity-master.service.js +3 -3
- package/dist/module/meta/service/entity-relation.service.js +11 -11
- package/dist/module/meta/service/entity-service-impl.service.js +3 -3
- package/dist/module/meta/service/media-data.service.d.ts +5 -1
- package/dist/module/meta/service/media-data.service.js +59 -2
- package/dist/module/meta/service/media-data.service.js.map +1 -1
- package/dist/module/meta/service/resolver.service.js +3 -3
- package/dist/module/module/repository/menu.repository.js +12 -12
- package/dist/module/notification/service/notification.service.js +9 -9
- package/dist/module/user/controller/login.controller.js +18 -18
- package/dist/module/user/service/role.service.js +4 -4
- package/dist/module/user/service/user-session.service.js +2 -2
- package/dist/module/workflow/repository/action.repository.js +16 -16
- package/dist/module/workflow/repository/comm-template.repository.js +6 -6
- package/dist/module/workflow/repository/form-master.repository.js +2 -2
- package/dist/module/workflow/repository/stage-group.repository.js +23 -23
- package/dist/module/workflow/repository/stage-movement.repository.js +11 -11
- package/dist/module/workflow/repository/stage.repository.js +8 -8
- package/dist/module/workflow/service/action-template-mapping.service.js +10 -10
- package/dist/module/workflow/service/action.service.js +7 -7
- package/dist/module/workflow/service/entity-modification.service.js +6 -6
- package/dist/module/workflow/service/stage-group.service.js +2 -2
- package/dist/module/workflow/service/stage.service.js +2 -2
- package/dist/module/workflow/service/task.service.js +28 -28
- package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
- package/dist/module/workflow/service/workflow-meta.service.js +50 -50
- package/dist/module/workflow/service/workflow.service.js +2 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/service/reflection-helper.service.js +2 -2
- package/docs/modules/event-driven-integration-design.md +91 -91
- package/docs/modules/integration.md +250 -250
- package/eslint.config.mjs +34 -34
- package/nest-cli.json +14 -14
- package/package.json +118 -118
- package/server.log +850 -0
- package/src/app.controller.ts +12 -12
- package/src/app.module.ts +49 -49
- package/src/app.service.ts +8 -8
- package/src/config/config.module.ts +18 -18
- package/src/config/database.config.ts +23 -23
- package/src/constant/global.constant.ts +67 -67
- package/src/core.module.ts +81 -81
- package/src/decorators/roles.decorator.ts +7 -7
- package/src/dtos/response.dto.ts +6 -6
- package/src/dtos/response.ts +5 -5
- package/src/index.ts +1 -1
- package/src/module/auth/auth.module.ts +49 -49
- package/src/module/auth/controller/auth.controller.ts +28 -28
- package/src/module/auth/guards/google-auth.guard.ts +9 -9
- package/src/module/auth/guards/jwt.guard.ts +22 -22
- package/src/module/auth/guards/role.guard.ts +68 -68
- package/src/module/auth/services/auth.service.ts +50 -50
- package/src/module/auth/services/jwt.service.ts +11 -11
- package/src/module/auth/strategies/google.strategy.ts +54 -54
- package/src/module/auth/strategies/jwt.strategy.ts +58 -58
- package/src/module/auth/strategies/local.strategy.ts +13 -13
- package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
- package/src/module/dashboard/dashboard.module.ts +21 -21
- package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
- package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
- package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
- package/src/module/dashboard/service/dashboard.service.ts +73 -73
- package/src/module/dev/dev.module.ts +12 -12
- package/src/module/dev/service/dev.service.ts +7 -7
- package/src/module/enterprise/controller/organization.controller.ts +36 -36
- package/src/module/enterprise/enterprise.module.ts +30 -30
- package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
- package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
- package/src/module/enterprise/entity/organization.entity.ts +92 -92
- package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
- package/src/module/enterprise/repository/organization.repository.ts +26 -26
- package/src/module/enterprise/repository/school.repository.ts +281 -281
- package/src/module/enterprise/service/brand.service.ts +5 -5
- package/src/module/enterprise/service/enterprise.service.ts +16 -16
- package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
- package/src/module/enterprise/service/organization.service.ts +145 -145
- package/src/module/filter/controller/filter.controller.ts +84 -84
- package/src/module/filter/dto/filter-request.dto.ts +38 -38
- package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
- package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
- package/src/module/filter/filter.module.ts +31 -31
- package/src/module/filter/repository/saved-filter.repository.ts +168 -168
- package/src/module/filter/service/filter-evaluator.service.ts +86 -86
- package/src/module/filter/service/filter.service.ts +868 -868
- package/src/module/filter/service/saved-filter.service.ts +170 -170
- package/src/module/ics/controller/ics.controller.ts +21 -21
- package/src/module/ics/dto/ics.dto.ts +55 -55
- package/src/module/ics/ics.module.ts +13 -13
- package/src/module/ics/service/ics.service.ts +57 -57
- package/src/module/integration/controller/calender-event.controller.ts +31 -31
- package/src/module/integration/controller/integration.controller.ts +662 -662
- package/src/module/integration/controller/wrapper.controller.ts +37 -37
- package/src/module/integration/dto/create-config.dto.ts +526 -526
- package/src/module/integration/entity/integration-config.entity.ts +112 -112
- package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
- package/src/module/integration/entity/integration-source.entity.ts +17 -17
- package/src/module/integration/entity/user-integration.entity.ts +71 -71
- package/src/module/integration/examples/usage.example.ts +338 -338
- package/src/module/integration/factories/base.factory.ts +7 -7
- package/src/module/integration/factories/email.factory.ts +49 -49
- package/src/module/integration/factories/integration.factory.ts +121 -121
- package/src/module/integration/factories/sms.factory.ts +51 -51
- package/src/module/integration/factories/telephone.factory.ts +41 -41
- package/src/module/integration/factories/whatsapp.factory.ts +56 -56
- package/src/module/integration/integration.module.ts +110 -110
- package/src/module/integration/service/calendar-event.service.ts +118 -118
- package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
- package/src/module/integration/service/integration-queue.service.ts +229 -229
- package/src/module/integration/service/integration.service.ts +2572 -2572
- package/src/module/integration/service/oauth.service.ts +224 -224
- package/src/module/integration/service/wrapper.service.ts +457 -457
- package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
- package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
- package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
- package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
- package/src/module/integration/strategies/integration.strategy.ts +97 -97
- package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
- package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
- package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
- package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
- package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
- package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
- package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
- package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
- package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
- package/src/module/layout/controller/layout.controller.ts +47 -47
- package/src/module/layout/entity/header-items.entity.ts +28 -28
- package/src/module/layout/entity/header-section.entity.ts +19 -19
- package/src/module/layout/layout.module.ts +21 -21
- package/src/module/layout/repository/header-items.repository.ts +18 -18
- package/src/module/layout/repository/header-section.repository.ts +22 -22
- package/src/module/layout/service/header-section.service.ts +25 -25
- package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
- package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
- package/src/module/layout_preference/layout_preference.module.ts +18 -18
- package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
- package/src/module/layout_preference/service/layout_preference.service.ts +172 -172
- package/src/module/lead/controller/lead.controller.ts +30 -30
- package/src/module/lead/lead.module.ts +14 -14
- package/src/module/lead/repository/lead.repository.ts +41 -41
- package/src/module/lead/service/lead.service.ts +54 -54
- package/src/module/listmaster/controller/list-master.controller.ts +187 -187
- package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
- package/src/module/listmaster/entity/list-master.entity.ts +32 -32
- package/src/module/listmaster/listmaster.module.ts +44 -44
- package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
- package/src/module/listmaster/repository/list-master.repository.ts +46 -46
- package/src/module/listmaster/service/list-master-engine.ts +19 -19
- package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
- package/src/module/listmaster/service/list-master-item.service.ts +292 -292
- package/src/module/listmaster/service/list-master-registry.ts +15 -15
- package/src/module/listmaster/service/list-master.service.ts +424 -424
- package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
- package/src/module/mapper/controller/mapper.controller.ts +15 -15
- package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
- package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
- package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
- package/src/module/mapper/entity/mapper.entity.ts +16 -16
- package/src/module/mapper/mapper.module.ts +34 -34
- package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
- package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
- package/src/module/mapper/repository/mapper.repository.ts +15 -15
- package/src/module/mapper/service/field-mapper.service.ts +245 -245
- package/src/module/mapper/service/mapper.service.ts +79 -79
- package/src/module/master/controller/master.controller.ts +74 -74
- package/src/module/master/service/master.service.ts +483 -483
- package/src/module/meta/controller/app-master.controller.ts +38 -38
- package/src/module/meta/controller/attribute-master.controller.ts +66 -66
- package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
- package/src/module/meta/controller/entity-master.controller.ts +28 -28
- package/src/module/meta/controller/entity-relation.controller.ts +36 -36
- package/src/module/meta/controller/entity.controller.ts +385 -385
- package/src/module/meta/controller/entity.public.controller.ts +75 -75
- package/src/module/meta/controller/media.controller.ts +92 -82
- package/src/module/meta/controller/meta.controller.ts +96 -96
- package/src/module/meta/controller/view-master.controller.ts +86 -86
- package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
- package/src/module/meta/dto/entity-tab.dto.ts +4 -4
- package/src/module/meta/dto/entity-table.dto.ts +9 -9
- package/src/module/meta/entity/app-master.entity.ts +34 -34
- package/src/module/meta/entity/attribute-master.entity.ts +87 -87
- package/src/module/meta/entity/base-entity.entity.ts +75 -75
- package/src/module/meta/entity/entity-master.entity.ts +84 -78
- package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
- package/src/module/meta/entity/entity-relation.entity.ts +23 -23
- package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
- package/src/module/meta/entity/entity-table.entity.ts +50 -50
- package/src/module/meta/entity/media-data.entity.ts +32 -32
- package/src/module/meta/entity/preference.entity.ts +62 -62
- package/src/module/meta/entity/view-master.entity.ts +41 -41
- package/src/module/meta/entity.module.ts +158 -158
- package/src/module/meta/repository/app-master.repository.ts +20 -20
- package/src/module/meta/repository/attribute-master.repository.ts +110 -110
- package/src/module/meta/repository/entity-master.repository.ts +69 -69
- package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
- package/src/module/meta/repository/entity-table.repository.ts +53 -53
- package/src/module/meta/repository/media-data.repository.ts +50 -50
- package/src/module/meta/repository/preference.repository.ts +20 -20
- package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
- package/src/module/meta/repository/view-master.repository.ts +42 -42
- package/src/module/meta/service/app-master.service.ts +37 -37
- package/src/module/meta/service/attribute-master.service.ts +117 -117
- package/src/module/meta/service/common.service.ts +9 -9
- package/src/module/meta/service/entity-dynamic.service.ts +762 -762
- package/src/module/meta/service/entity-list.service.ts +205 -205
- package/src/module/meta/service/entity-master.service.ts +164 -164
- package/src/module/meta/service/entity-realation-data.service.ts +9 -9
- package/src/module/meta/service/entity-relation.service.ts +69 -69
- package/src/module/meta/service/entity-service-impl.service.ts +524 -524
- package/src/module/meta/service/entity-table-column.service.ts +39 -39
- package/src/module/meta/service/entity-table.service.ts +150 -150
- package/src/module/meta/service/entity-validation.service.ts +185 -185
- package/src/module/meta/service/entity.service.ts +67 -67
- package/src/module/meta/service/field-group.service.ts +103 -103
- package/src/module/meta/service/media-data.service.ts +240 -149
- package/src/module/meta/service/populate-meta.service.ts +173 -173
- package/src/module/meta/service/preference.service.ts +16 -16
- package/src/module/meta/service/resolver.service.ts +240 -240
- package/src/module/meta/service/section-master.service.ts +104 -104
- package/src/module/meta/service/update-form-json.service.ts +22 -22
- package/src/module/meta/service/user-app-mapping.service.ts +17 -17
- package/src/module/meta/service/view-master.service.ts +111 -111
- package/src/module/module/controller/menu.controller.ts +15 -15
- package/src/module/module/controller/module-access.controller.ts +134 -134
- package/src/module/module/entity/menu.entity.ts +43 -43
- package/src/module/module/entity/module-access.entity.ts +25 -25
- package/src/module/module/entity/module-action.entity.ts +17 -17
- package/src/module/module/entity/module.entity.ts +52 -52
- package/src/module/module/module.module.ts +42 -42
- package/src/module/module/repository/menu.repository.ts +184 -184
- package/src/module/module/repository/module-access.repository.ts +344 -344
- package/src/module/module/service/menu.service.ts +82 -82
- package/src/module/module/service/module-access.service.ts +209 -209
- package/src/module/notification/controller/notification.controller.ts +58 -58
- package/src/module/notification/controller/otp.controller.ts +117 -117
- package/src/module/notification/entity/notification.entity.ts +26 -26
- package/src/module/notification/entity/otp.entity.ts +28 -28
- package/src/module/notification/firebase-admin.config.ts +22 -22
- package/src/module/notification/notification.module.ts +69 -69
- package/src/module/notification/repository/otp.repository.ts +27 -27
- package/src/module/notification/service/email.service.ts +127 -127
- package/src/module/notification/service/notification.service.ts +164 -164
- package/src/module/notification/service/otp.service.ts +132 -132
- package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
- package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
- package/src/module/third-party-module/service/api-registry.service.ts +13 -13
- package/src/module/third-party-module/third-party.module.ts +12 -12
- package/src/module/user/controller/login.controller.ts +197 -197
- package/src/module/user/controller/user.controller.ts +40 -40
- package/src/module/user/dto/create-user.dto.ts +62 -62
- package/src/module/user/dto/update-user.dto.ts +4 -4
- package/src/module/user/entity/role.entity.ts +33 -33
- package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
- package/src/module/user/entity/user-session.entity.ts +61 -61
- package/src/module/user/entity/user.entity.ts +71 -71
- package/src/module/user/repository/role.repository.ts +96 -96
- package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
- package/src/module/user/repository/user.repository.ts +50 -50
- package/src/module/user/repository/userSession.repository.ts +33 -33
- package/src/module/user/service/login.service.ts +280 -280
- package/src/module/user/service/role.service.ts +189 -189
- package/src/module/user/service/user-role-mapping.service.ts +98 -98
- package/src/module/user/service/user-session.service.ts +168 -168
- package/src/module/user/service/user.service.ts +353 -353
- package/src/module/user/user.module.ts +65 -65
- package/src/module/workflow/controller/action-category.controller.ts +54 -54
- package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
- package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
- package/src/module/workflow/controller/action.controller.ts +95 -95
- package/src/module/workflow/controller/activity-log.controller.ts +55 -55
- package/src/module/workflow/controller/comm-template.controller.ts +41 -41
- package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
- package/src/module/workflow/controller/form-master.controller.ts +43 -43
- package/src/module/workflow/controller/stage-group.controller.ts +48 -48
- package/src/module/workflow/controller/stage.controller.ts +50 -50
- package/src/module/workflow/controller/task.controller.ts +77 -77
- package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
- package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
- package/src/module/workflow/controller/workflow.controller.ts +67 -67
- package/src/module/workflow/entity/action-category.entity.ts +38 -38
- package/src/module/workflow/entity/action-data.entity.ts +55 -55
- package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
- package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
- package/src/module/workflow/entity/action.entity.ts +50 -50
- package/src/module/workflow/entity/activity-log.entity.ts +43 -43
- package/src/module/workflow/entity/comm-template.entity.ts +43 -43
- package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
- package/src/module/workflow/entity/form.entity.ts +25 -25
- package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
- package/src/module/workflow/entity/stage-group.entity.ts +23 -23
- package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
- package/src/module/workflow/entity/stage.entity.ts +20 -20
- package/src/module/workflow/entity/task-data.entity.ts +88 -88
- package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
- package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
- package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
- package/src/module/workflow/entity/workflow.entity.ts +20 -20
- package/src/module/workflow/repository/action-category.repository.ts +79 -79
- package/src/module/workflow/repository/action-data.repository.ts +242 -242
- package/src/module/workflow/repository/action.repository.ts +277 -277
- package/src/module/workflow/repository/activity-log.repository.ts +149 -149
- package/src/module/workflow/repository/comm-template.repository.ts +149 -149
- package/src/module/workflow/repository/form-master.repository.ts +59 -59
- package/src/module/workflow/repository/stage-group.repository.ts +176 -176
- package/src/module/workflow/repository/stage-movement.repository.ts +227 -227
- package/src/module/workflow/repository/stage.repository.ts +172 -172
- package/src/module/workflow/repository/task.repository.ts +117 -117
- package/src/module/workflow/repository/workflow.repository.ts +42 -42
- package/src/module/workflow/service/action-category.service.ts +33 -33
- package/src/module/workflow/service/action-data.service.ts +62 -62
- package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
- package/src/module/workflow/service/action-template-mapping.service.ts +55 -55
- package/src/module/workflow/service/action.service.ts +263 -263
- package/src/module/workflow/service/activity-log.service.ts +107 -107
- package/src/module/workflow/service/comm-template.service.ts +176 -176
- package/src/module/workflow/service/entity-modification.service.ts +67 -67
- package/src/module/workflow/service/form-master.service.ts +35 -35
- package/src/module/workflow/service/populate-workflow.service.ts +303 -303
- package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
- package/src/module/workflow/service/stage-group.service.ts +307 -307
- package/src/module/workflow/service/stage.service.ts +199 -199
- package/src/module/workflow/service/task.service.ts +561 -561
- package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
- package/src/module/workflow/service/workflow-meta.service.ts +581 -581
- package/src/module/workflow/service/workflow.service.ts +205 -205
- package/src/module/workflow/workflow.module.ts +174 -174
- package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
- package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
- package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
- package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
- package/src/module/workflow-automation/interface/action.interface.ts +5 -5
- package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
- package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
- package/src/module/workflow-automation/service/workflow-automation.service.ts +345 -345
- package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
- package/src/resources/dev.properties.yaml +30 -30
- package/src/resources/local.properties.yaml +27 -27
- package/src/resources/properties.module.ts +12 -12
- package/src/resources/properties.yaml.ts +11 -11
- package/src/resources/uat.properties.yaml +15 -15
- package/src/utils/dto/excel-data.dto.ts +14 -14
- package/src/utils/dto/excelsheet-data.dto.ts +5 -5
- package/src/utils/service/base64util.service.ts +18 -18
- package/src/utils/service/clockIDGenUtil.service.ts +21 -21
- package/src/utils/service/codeGenerator.service.ts +22 -22
- package/src/utils/service/dateUtil.service.ts +17 -17
- package/src/utils/service/encryptUtil.service.ts +97 -97
- package/src/utils/service/excel-helper.service.ts +72 -72
- package/src/utils/service/excelUtil.service.ts +15 -15
- package/src/utils/service/file-util.service.ts +11 -11
- package/src/utils/service/json-util.service.ts +23 -23
- package/src/utils/service/loggingUtil.service.ts +34 -34
- package/src/utils/service/reflection-helper.service.ts +62 -62
- package/src/utils/service/wbsCodeGen.service.ts +8 -8
- package/src/utils/utils.module.ts +25 -25
- package/tsconfig.build.json +4 -4
- package/tsconfig.json +24 -24
- package/.vscode/extensions.json +0 -5
|
@@ -24,10 +24,10 @@ let ActionRepository = class ActionRepository {
|
|
|
24
24
|
}
|
|
25
25
|
async getReasonCode(loggedInUser) {
|
|
26
26
|
const { organization_id } = loggedInUser;
|
|
27
|
-
const result = await this.dataSource.query(`
|
|
28
|
-
SELECT name, type
|
|
29
|
-
FROM cr_list_master
|
|
30
|
-
WHERE organization_id = ? AND source = 'master'
|
|
27
|
+
const result = await this.dataSource.query(`
|
|
28
|
+
SELECT name, type
|
|
29
|
+
FROM cr_list_master
|
|
30
|
+
WHERE organization_id = ? AND source = 'master'
|
|
31
31
|
`, [organization_id]);
|
|
32
32
|
const formatted = result.map((item) => ({
|
|
33
33
|
label: item.name,
|
|
@@ -40,10 +40,10 @@ let ActionRepository = class ActionRepository {
|
|
|
40
40
|
if (!list_type) {
|
|
41
41
|
throw new common_1.BadRequestException('list_type is required');
|
|
42
42
|
}
|
|
43
|
-
const result = await this.dataSource.query(`
|
|
44
|
-
SELECT name, id
|
|
45
|
-
FROM cr_list_master_items
|
|
46
|
-
WHERE listtype = ? AND organization_id = ?
|
|
43
|
+
const result = await this.dataSource.query(`
|
|
44
|
+
SELECT name, id
|
|
45
|
+
FROM cr_list_master_items
|
|
46
|
+
WHERE listtype = ? AND organization_id = ?
|
|
47
47
|
`, [list_type, organization_id]);
|
|
48
48
|
return result.map((row) => ({
|
|
49
49
|
label: row.name,
|
|
@@ -52,19 +52,19 @@ let ActionRepository = class ActionRepository {
|
|
|
52
52
|
}
|
|
53
53
|
async getActions(loggedInUser, stage_id) {
|
|
54
54
|
const { organization_id } = loggedInUser;
|
|
55
|
-
const stageActions = await this.dataSource.query(`
|
|
56
|
-
SELECT id, action_id
|
|
57
|
-
FROM cr_wf_stage_action_mapping
|
|
58
|
-
WHERE stage_id = ?
|
|
55
|
+
const stageActions = await this.dataSource.query(`
|
|
56
|
+
SELECT id, action_id
|
|
57
|
+
FROM cr_wf_stage_action_mapping
|
|
58
|
+
WHERE stage_id = ?
|
|
59
59
|
`, [stage_id]);
|
|
60
60
|
if (!stageActions?.length)
|
|
61
61
|
return [];
|
|
62
62
|
const actionIds = stageActions.map((sa) => sa.action_id);
|
|
63
63
|
const mappingIds = stageActions.map((sa) => sa.id);
|
|
64
|
-
const templateMappings = await this.dataSource.query(`
|
|
65
|
-
SELECT stg_act_mapping_id, template_code
|
|
66
|
-
FROM cr_wf_action_template_mapping
|
|
67
|
-
WHERE stg_act_mapping_id IN (${mappingIds.map(() => '?').join(',')})
|
|
64
|
+
const templateMappings = await this.dataSource.query(`
|
|
65
|
+
SELECT stg_act_mapping_id, template_code
|
|
66
|
+
FROM cr_wf_action_template_mapping
|
|
67
|
+
WHERE stg_act_mapping_id IN (${mappingIds.map(() => '?').join(',')})
|
|
68
68
|
`, mappingIds);
|
|
69
69
|
const templateCodes = templateMappings.map((tm) => tm.template_code);
|
|
70
70
|
const templateCodeToName = {};
|
|
@@ -30,17 +30,17 @@ let CommTemplateRepository = class CommTemplateRepository {
|
|
|
30
30
|
const { organization_id, level_id, level_type } = loggedInUser;
|
|
31
31
|
let is_template;
|
|
32
32
|
if (action_id) {
|
|
33
|
-
const [actionResult] = await this.dataSource.query(`SELECT is_template
|
|
34
|
-
FROM cr_wf_action
|
|
35
|
-
WHERE id = ? AND organization_id = ?
|
|
33
|
+
const [actionResult] = await this.dataSource.query(`SELECT is_template
|
|
34
|
+
FROM cr_wf_action
|
|
35
|
+
WHERE id = ? AND organization_id = ?
|
|
36
36
|
LIMIT 1`, [action_id, organization_id]);
|
|
37
37
|
if (!actionResult) {
|
|
38
38
|
throw new Error('Invalid action_id');
|
|
39
39
|
}
|
|
40
40
|
is_template = actionResult.is_template;
|
|
41
|
-
await this.dataSource.query(`UPDATE cr_wf_comm_template
|
|
42
|
-
SET is_template = ?
|
|
43
|
-
WHERE mapped_entity_type = ?
|
|
41
|
+
await this.dataSource.query(`UPDATE cr_wf_comm_template
|
|
42
|
+
SET is_template = ?
|
|
43
|
+
WHERE mapped_entity_type = ?
|
|
44
44
|
AND organization_id = ? AND level_id = ? AND level_type=?`, [is_template, entity_type, organization_id, level_id, level_type]);
|
|
45
45
|
}
|
|
46
46
|
const whereCondition = {
|
|
@@ -17,8 +17,8 @@ let FormMasterRepository = class FormMasterRepository {
|
|
|
17
17
|
this.dataSource = dataSource;
|
|
18
18
|
}
|
|
19
19
|
async getForms(organization_id, source_entity_type) {
|
|
20
|
-
const forms = await this.dataSource.query(`SELECT fm.id as fm_id, fm.name as fm_form_name
|
|
21
|
-
FROM cr_entity_view fm
|
|
20
|
+
const forms = await this.dataSource.query(`SELECT fm.id as fm_id, fm.name as fm_form_name
|
|
21
|
+
FROM cr_entity_view fm
|
|
22
22
|
WHERE fm.organization_id = ? AND fm.mapped_entity_type = ?`, [organization_id, source_entity_type]);
|
|
23
23
|
const formatted = forms.map((form) => ({
|
|
24
24
|
label: form.fm_form_name,
|
|
@@ -67,33 +67,33 @@ let StageGroupRepository = class StageGroupRepository {
|
|
|
67
67
|
if (!stageGroups.length)
|
|
68
68
|
return [];
|
|
69
69
|
const stageGroupIds = stageGroups.map((sg) => sg.id);
|
|
70
|
-
const stagesRaw = await this.dataSource.query(`
|
|
71
|
-
SELECT
|
|
72
|
-
cr_wf_stage.*
|
|
73
|
-
FROM cr_wf_stage
|
|
74
|
-
WHERE cr_wf_stage.stage_group_id IN (${stageGroupIds.map(() => '?').join(',')})
|
|
75
|
-
AND cr_wf_stage.organization_id = ?
|
|
76
|
-
ORDER BY cr_wf_stage.sequence ASC
|
|
70
|
+
const stagesRaw = await this.dataSource.query(`
|
|
71
|
+
SELECT
|
|
72
|
+
cr_wf_stage.*
|
|
73
|
+
FROM cr_wf_stage
|
|
74
|
+
WHERE cr_wf_stage.stage_group_id IN (${stageGroupIds.map(() => '?').join(',')})
|
|
75
|
+
AND cr_wf_stage.organization_id = ?
|
|
76
|
+
ORDER BY cr_wf_stage.sequence ASC
|
|
77
77
|
`, [...stageGroupIds, loggedInUser.organization_id]);
|
|
78
78
|
const stageIds = stagesRaw.map((s) => s.id);
|
|
79
|
-
const taskCounts = await this.dataSource.query(`
|
|
80
|
-
SELECT stage_id, COUNT(*) AS task_count
|
|
81
|
-
FROM cr_wf_task_data
|
|
82
|
-
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND is_system=0 AND mapped_entity_id = ?
|
|
83
|
-
GROUP BY stage_id
|
|
79
|
+
const taskCounts = await this.dataSource.query(`
|
|
80
|
+
SELECT stage_id, COUNT(*) AS task_count
|
|
81
|
+
FROM cr_wf_task_data
|
|
82
|
+
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND is_system=0 AND mapped_entity_id = ?
|
|
83
|
+
GROUP BY stage_id
|
|
84
84
|
`, [...stageIds, lead_id]);
|
|
85
|
-
const meetingCounts = await this.dataSource.query(`
|
|
86
|
-
SELECT stage_id, COUNT(*) AS meeting_count
|
|
87
|
-
FROM crm_lead_meeting
|
|
88
|
-
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
|
|
89
|
-
GROUP BY stage_id
|
|
85
|
+
const meetingCounts = await this.dataSource.query(`
|
|
86
|
+
SELECT stage_id, COUNT(*) AS meeting_count
|
|
87
|
+
FROM crm_lead_meeting
|
|
88
|
+
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
|
|
89
|
+
GROUP BY stage_id
|
|
90
90
|
`, [...stageIds, lead_id]);
|
|
91
|
-
const sendCommCounts = await this.dataSource.query(`
|
|
92
|
-
SELECT stage_id, COUNT(*) AS send_comm_count
|
|
93
|
-
FROM crm_lead_communication
|
|
94
|
-
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
|
|
95
|
-
AND type IN ('SEND', 'LOG')
|
|
96
|
-
GROUP BY stage_id
|
|
91
|
+
const sendCommCounts = await this.dataSource.query(`
|
|
92
|
+
SELECT stage_id, COUNT(*) AS send_comm_count
|
|
93
|
+
FROM crm_lead_communication
|
|
94
|
+
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
|
|
95
|
+
AND type IN ('SEND', 'LOG')
|
|
96
|
+
GROUP BY stage_id
|
|
97
97
|
`, [...stageIds, lead_id]);
|
|
98
98
|
const taskCountMap = new Map(taskCounts.map((row) => [Number(row.stage_id), Number(row.task_count)]));
|
|
99
99
|
const meetingCountMap = new Map(meetingCounts.map((row) => [
|
|
@@ -107,17 +107,17 @@ let StageMovementRepository = class StageMovementRepository {
|
|
|
107
107
|
return nextStageGroupFirstStage || null;
|
|
108
108
|
}
|
|
109
109
|
async getAllActionByStageId(stageId) {
|
|
110
|
-
const result = await this.dataSource.query(`
|
|
111
|
-
SELECT
|
|
112
|
-
a.*,
|
|
113
|
-
m.stage_id,
|
|
114
|
-
ac.code AS action_category_code,
|
|
115
|
-
arm.form_id
|
|
116
|
-
FROM cr_wf_action a
|
|
117
|
-
LEFT JOIN cr_wf_stage_action_mapping m ON a.id = m.action_id
|
|
118
|
-
LEFT JOIN cr_wf_action_category ac ON a.action_category = ac.id
|
|
119
|
-
LEFT JOIN cr_wf_action_resources_mapping arm ON m.id = arm.stg_act_mapping_id
|
|
120
|
-
WHERE m.stage_id = ?
|
|
110
|
+
const result = await this.dataSource.query(`
|
|
111
|
+
SELECT
|
|
112
|
+
a.*,
|
|
113
|
+
m.stage_id,
|
|
114
|
+
ac.code AS action_category_code,
|
|
115
|
+
arm.form_id
|
|
116
|
+
FROM cr_wf_action a
|
|
117
|
+
LEFT JOIN cr_wf_stage_action_mapping m ON a.id = m.action_id
|
|
118
|
+
LEFT JOIN cr_wf_action_category ac ON a.action_category = ac.id
|
|
119
|
+
LEFT JOIN cr_wf_action_resources_mapping arm ON m.id = arm.stg_act_mapping_id
|
|
120
|
+
WHERE m.stage_id = ?
|
|
121
121
|
`, [stageId]);
|
|
122
122
|
return result;
|
|
123
123
|
}
|
|
@@ -62,14 +62,14 @@ let StageRepository = class StageRepository {
|
|
|
62
62
|
if (!stageGroup) {
|
|
63
63
|
return [];
|
|
64
64
|
}
|
|
65
|
-
const rows = await this.dataSource.query(`
|
|
66
|
-
SELECT
|
|
67
|
-
g.id as stage_group_id, g.name as stage_group_name, g.workflow_id,
|
|
68
|
-
s.*
|
|
69
|
-
FROM cr_wf_stage_group g
|
|
70
|
-
INNER JOIN cr_wf_stage s ON s.stage_group_id = g.id
|
|
71
|
-
WHERE g.workflow_id = ? AND g.organization_id = ? AND g.id = ?
|
|
72
|
-
ORDER BY g.id, s.id
|
|
65
|
+
const rows = await this.dataSource.query(`
|
|
66
|
+
SELECT
|
|
67
|
+
g.id as stage_group_id, g.name as stage_group_name, g.workflow_id,
|
|
68
|
+
s.*
|
|
69
|
+
FROM cr_wf_stage_group g
|
|
70
|
+
INNER JOIN cr_wf_stage s ON s.stage_group_id = g.id
|
|
71
|
+
WHERE g.workflow_id = ? AND g.organization_id = ? AND g.id = ?
|
|
72
|
+
ORDER BY g.id, s.id
|
|
73
73
|
`, [stageGroup.workflow_id, organization_id, stage_group_id]);
|
|
74
74
|
if (!rows || rows.length === 0) {
|
|
75
75
|
return [];
|
|
@@ -19,16 +19,16 @@ let ActionTemplateMappingService = class ActionTemplateMappingService extends en
|
|
|
19
19
|
this.dataSource = dataSource;
|
|
20
20
|
}
|
|
21
21
|
async getTemplateByMode(stage_id, action_id, mode, loggedInUser) {
|
|
22
|
-
const stageAction = await this.dataSource.query(`
|
|
23
|
-
SELECT id FROM cr_wf_stage_action_mapping
|
|
24
|
-
WHERE stage_id = ? AND action_id = ?
|
|
22
|
+
const stageAction = await this.dataSource.query(`
|
|
23
|
+
SELECT id FROM cr_wf_stage_action_mapping
|
|
24
|
+
WHERE stage_id = ? AND action_id = ?
|
|
25
25
|
`, [stage_id, action_id]);
|
|
26
26
|
if (!stageAction?.length)
|
|
27
27
|
return [];
|
|
28
28
|
const stgActMappingId = stageAction[0].id;
|
|
29
|
-
const templates = await this.dataSource.query(`
|
|
30
|
-
SELECT template_code FROM cr_wf_action_resources_mapping
|
|
31
|
-
WHERE stg_act_mapping_id = ?
|
|
29
|
+
const templates = await this.dataSource.query(`
|
|
30
|
+
SELECT template_code FROM cr_wf_action_resources_mapping
|
|
31
|
+
WHERE stg_act_mapping_id = ?
|
|
32
32
|
`, [stgActMappingId]);
|
|
33
33
|
const listMasterItemData = await this.dataSource.query(`SELECT code FROM cr_list_master_items WHERE id = ?`, [mode]);
|
|
34
34
|
if (!listMasterItemData?.length)
|
|
@@ -36,10 +36,10 @@ let ActionTemplateMappingService = class ActionTemplateMappingService extends en
|
|
|
36
36
|
const templateCodes = templates.map((t) => t.template_code);
|
|
37
37
|
if (!templateCodes.length)
|
|
38
38
|
return [];
|
|
39
|
-
const commTemplates = await this.dataSource.query(`
|
|
40
|
-
SELECT id, name
|
|
41
|
-
FROM cr_wf_comm_template
|
|
42
|
-
WHERE code IN (?) AND mode = ? AND organization_id = ?
|
|
39
|
+
const commTemplates = await this.dataSource.query(`
|
|
40
|
+
SELECT id, name
|
|
41
|
+
FROM cr_wf_comm_template
|
|
42
|
+
WHERE code IN (?) AND mode = ? AND organization_id = ?
|
|
43
43
|
`, [templateCodes, listMasterItemData[0].code, loggedInUser.organization_id]);
|
|
44
44
|
return commTemplates;
|
|
45
45
|
}
|
|
@@ -25,12 +25,12 @@ let ActionService = class ActionService extends entity_service_impl_service_1.En
|
|
|
25
25
|
if (!actionData) {
|
|
26
26
|
return null;
|
|
27
27
|
}
|
|
28
|
-
const result = await this.dataSource.query(`SELECT template_code, form_id
|
|
29
|
-
FROM cr_wf_action_resources_mapping
|
|
30
|
-
WHERE stg_act_mapping_id IN (
|
|
31
|
-
SELECT id
|
|
32
|
-
FROM cr_wf_stage_action_mapping
|
|
33
|
-
WHERE action_id = ? AND entity_type = 'WFSA'
|
|
28
|
+
const result = await this.dataSource.query(`SELECT template_code, form_id
|
|
29
|
+
FROM cr_wf_action_resources_mapping
|
|
30
|
+
WHERE stg_act_mapping_id IN (
|
|
31
|
+
SELECT id
|
|
32
|
+
FROM cr_wf_stage_action_mapping
|
|
33
|
+
WHERE action_id = ? AND entity_type = 'WFSA'
|
|
34
34
|
)`, [actionData.id]);
|
|
35
35
|
const templates = result
|
|
36
36
|
.filter((t) => t.template_code !== null)
|
|
@@ -134,7 +134,7 @@ let ActionService = class ActionService extends entity_service_impl_service_1.En
|
|
|
134
134
|
return action;
|
|
135
135
|
}
|
|
136
136
|
async deleteEntity(entityType, id, loggedInUser) {
|
|
137
|
-
await this.dataSource.query(`DELETE FROM cr_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
|
|
137
|
+
await this.dataSource.query(`DELETE FROM cr_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
|
|
138
138
|
id FROM cr_wf_stage_action_mapping WHERE action_id = ? AND entity_type = 'WFSA')`, [id]);
|
|
139
139
|
await this.dataSource.query(`DELETE FROM cr_wf_stage_action_mapping WHERE action_id = ? AND entity_type ='WFSA'`, [id]);
|
|
140
140
|
const deleteAction = await super.deleteEntity(entityType, id, loggedInUser);
|
|
@@ -24,17 +24,17 @@ let EntityModificationService = class EntityModificationService extends entity_s
|
|
|
24
24
|
if (!mapped_entity_type || !mapped_entity_id || !attribute_key) {
|
|
25
25
|
throw new common_1.BadRequestException('Missing required modification data: mapped_entity_type, mapped_entity_id, or attribute_key');
|
|
26
26
|
}
|
|
27
|
-
const [entityMeta] = await this.dataSource.query(`
|
|
28
|
-
SELECT db_table_name
|
|
29
|
-
FROM cr_entity_master
|
|
30
|
-
WHERE mapped_entity_type = ? AND organization_id = ?
|
|
27
|
+
const [entityMeta] = await this.dataSource.query(`
|
|
28
|
+
SELECT db_table_name
|
|
29
|
+
FROM cr_entity_master
|
|
30
|
+
WHERE mapped_entity_type = ? AND organization_id = ?
|
|
31
31
|
`, [mapped_entity_type, organization_id]);
|
|
32
32
|
if (!entityMeta || !entityMeta.db_table_name) {
|
|
33
33
|
throw new common_1.NotFoundException('Entity metadata not found in cr_entity_master');
|
|
34
34
|
}
|
|
35
35
|
const tableName = entityMeta.db_table_name;
|
|
36
|
-
const [entityRow] = await this.dataSource.query(`
|
|
37
|
-
SELECT * FROM ${tableName} WHERE id = ?
|
|
36
|
+
const [entityRow] = await this.dataSource.query(`
|
|
37
|
+
SELECT * FROM ${tableName} WHERE id = ?
|
|
38
38
|
`, [mapped_entity_id]);
|
|
39
39
|
if (!entityRow) {
|
|
40
40
|
throw new common_1.NotFoundException(`No record found in ${tableName} with ID ${mapped_entity_id}`);
|
|
@@ -38,8 +38,8 @@ let StageGroupService = class StageGroupService extends entity_service_impl_serv
|
|
|
38
38
|
}
|
|
39
39
|
async getAllStageGroup(workflow_id, organization_id) {
|
|
40
40
|
const allStageGroup = await this.stageGroupRepository.getAllStageGroup(workflow_id, organization_id);
|
|
41
|
-
const statusListMaster = await this.dataSource.query(`SELECT id, name
|
|
42
|
-
FROM cr_list_master_items
|
|
41
|
+
const statusListMaster = await this.dataSource.query(`SELECT id, name
|
|
42
|
+
FROM cr_list_master_items
|
|
43
43
|
WHERE listtype = 'STS' AND organization_id = ?`, [organization_id]);
|
|
44
44
|
const statusMap = new Map(statusListMaster.map((s) => [String(s.id), s.name]));
|
|
45
45
|
for (const stage of allStageGroup) {
|
|
@@ -35,8 +35,8 @@ let StageService = StageService_1 = class StageService extends entity_service_im
|
|
|
35
35
|
async getAllStage(payload, organization_id, show_previous) {
|
|
36
36
|
if (!show_previous) {
|
|
37
37
|
const allStages = await this.stageRepository.getAllStage(payload.stage_group_id, organization_id);
|
|
38
|
-
const statusListMaster = await this.dataSource.query(`SELECT id, name
|
|
39
|
-
FROM cr_list_master_items
|
|
38
|
+
const statusListMaster = await this.dataSource.query(`SELECT id, name
|
|
39
|
+
FROM cr_list_master_items
|
|
40
40
|
WHERE listtype = 'STS' AND organization_id = ?`, [organization_id]);
|
|
41
41
|
const statusMap = new Map(statusListMaster.map((s) => [String(s.id), s.name]));
|
|
42
42
|
for (const stage of allStages) {
|
|
@@ -39,10 +39,10 @@ let TaskService = class TaskService extends entity_service_impl_service_1.Entity
|
|
|
39
39
|
async execute(payload) {
|
|
40
40
|
const { entity, user, config } = payload;
|
|
41
41
|
let toValue = null;
|
|
42
|
-
const stageRow = await this.dataSource.query(`SELECT stage_id
|
|
43
|
-
FROM cr_wf_stage_movement_data
|
|
44
|
-
WHERE mapped_entity_id = ?
|
|
45
|
-
AND is_current = 'Y'
|
|
42
|
+
const stageRow = await this.dataSource.query(`SELECT stage_id
|
|
43
|
+
FROM cr_wf_stage_movement_data
|
|
44
|
+
WHERE mapped_entity_id = ?
|
|
45
|
+
AND is_current = 'Y'
|
|
46
46
|
LIMIT 1`, [entity.id]);
|
|
47
47
|
const stageId = stageRow.length > 0 ? stageRow[0].stage_id : null;
|
|
48
48
|
if (!stageId) {
|
|
@@ -107,13 +107,13 @@ let TaskService = class TaskService extends entity_service_impl_service_1.Entity
|
|
|
107
107
|
return createdEntity;
|
|
108
108
|
}
|
|
109
109
|
async updateEntity(entityData, loggedInUser, appcode) {
|
|
110
|
-
const taskStatusQuery = `
|
|
111
|
-
SELECT name
|
|
112
|
-
FROM cr_list_master_items
|
|
113
|
-
WHERE id = ?
|
|
114
|
-
AND organization_id = ?
|
|
115
|
-
AND listtype = 'TKST'
|
|
116
|
-
LIMIT 1;
|
|
110
|
+
const taskStatusQuery = `
|
|
111
|
+
SELECT name
|
|
112
|
+
FROM cr_list_master_items
|
|
113
|
+
WHERE id = ?
|
|
114
|
+
AND organization_id = ?
|
|
115
|
+
AND listtype = 'TKST'
|
|
116
|
+
LIMIT 1;
|
|
117
117
|
`;
|
|
118
118
|
const statusRows = await this.dataSource.query(taskStatusQuery, [
|
|
119
119
|
entityData.status,
|
|
@@ -201,18 +201,18 @@ let TaskService = class TaskService extends entity_service_impl_service_1.Entity
|
|
|
201
201
|
whereClauses.push(`t.is_done = ?`);
|
|
202
202
|
params.push(0);
|
|
203
203
|
}
|
|
204
|
-
const sql = `
|
|
205
|
-
SELECT
|
|
206
|
-
t.*,
|
|
207
|
-
sg.name AS stage_group_name,
|
|
208
|
-
s.name AS stage_name,
|
|
209
|
-
a.name AS action_name
|
|
210
|
-
FROM cr_wf_task_data t
|
|
211
|
-
LEFT JOIN cr_wf_stage s ON t.stage_id = s.id
|
|
212
|
-
LEFT JOIN cr_wf_stage_group sg ON s.stage_group_id = sg.id
|
|
213
|
-
LEFT JOIN cr_wf_action a ON t.action_id = a.id
|
|
214
|
-
WHERE ${whereClauses.join(' AND ')}
|
|
215
|
-
ORDER BY t.created_date DESC
|
|
204
|
+
const sql = `
|
|
205
|
+
SELECT
|
|
206
|
+
t.*,
|
|
207
|
+
sg.name AS stage_group_name,
|
|
208
|
+
s.name AS stage_name,
|
|
209
|
+
a.name AS action_name
|
|
210
|
+
FROM cr_wf_task_data t
|
|
211
|
+
LEFT JOIN cr_wf_stage s ON t.stage_id = s.id
|
|
212
|
+
LEFT JOIN cr_wf_stage_group sg ON s.stage_group_id = sg.id
|
|
213
|
+
LEFT JOIN cr_wf_action a ON t.action_id = a.id
|
|
214
|
+
WHERE ${whereClauses.join(' AND ')}
|
|
215
|
+
ORDER BY t.created_date DESC
|
|
216
216
|
`;
|
|
217
217
|
const taskData = await this.dataSource.query(sql, params);
|
|
218
218
|
if (taskData) {
|
|
@@ -242,11 +242,11 @@ let TaskService = class TaskService extends entity_service_impl_service_1.Entity
|
|
|
242
242
|
if (taskData.length === 0) {
|
|
243
243
|
return [];
|
|
244
244
|
}
|
|
245
|
-
const taskStatusQuery = `
|
|
246
|
-
SELECT id, name
|
|
247
|
-
FROM cr_list_master_items
|
|
248
|
-
WHERE organization_id = ?
|
|
249
|
-
AND listtype = 'TKST'
|
|
245
|
+
const taskStatusQuery = `
|
|
246
|
+
SELECT id, name
|
|
247
|
+
FROM cr_list_master_items
|
|
248
|
+
WHERE organization_id = ?
|
|
249
|
+
AND listtype = 'TKST'
|
|
250
250
|
`;
|
|
251
251
|
const taskAllStatus = await this.dataSource.query(taskStatusQuery, [
|
|
252
252
|
loggedInUser.organization_id,
|
|
@@ -19,16 +19,16 @@ let WorkflowListMasterService = class WorkflowListMasterService extends entity_s
|
|
|
19
19
|
this.dataSource = dataSource;
|
|
20
20
|
}
|
|
21
21
|
async getActionCategoryListByStageId(stageId) {
|
|
22
|
-
const results = await this.dataSource.query(`
|
|
23
|
-
SELECT
|
|
24
|
-
ac.name AS name,
|
|
25
|
-
ac.logo AS logo,
|
|
26
|
-
ac.modalName AS modalName,
|
|
27
|
-
a.action_requirement AS actionRequirement
|
|
28
|
-
FROM cr_wf_stage_action_mapping sam
|
|
29
|
-
JOIN cr_wf_action a ON sam.action_id = a.id
|
|
30
|
-
JOIN cr_wf_action_category ac ON a.action_category = ac.id
|
|
31
|
-
WHERE sam.stage_id = ?
|
|
22
|
+
const results = await this.dataSource.query(`
|
|
23
|
+
SELECT
|
|
24
|
+
ac.name AS name,
|
|
25
|
+
ac.logo AS logo,
|
|
26
|
+
ac.modalName AS modalName,
|
|
27
|
+
a.action_requirement AS actionRequirement
|
|
28
|
+
FROM cr_wf_stage_action_mapping sam
|
|
29
|
+
JOIN cr_wf_action a ON sam.action_id = a.id
|
|
30
|
+
JOIN cr_wf_action_category ac ON a.action_category = ac.id
|
|
31
|
+
WHERE sam.stage_id = ?
|
|
32
32
|
`, [stageId]);
|
|
33
33
|
return results.map((item) => ({
|
|
34
34
|
name: item.name,
|
|
@@ -44,11 +44,11 @@ let WorkflowListMasterService = class WorkflowListMasterService extends entity_s
|
|
|
44
44
|
}
|
|
45
45
|
async getModes(loggedInUser) {
|
|
46
46
|
const { organization_id } = loggedInUser;
|
|
47
|
-
const modes = await this.dataSource.query(`
|
|
48
|
-
SELECT id, name
|
|
49
|
-
FROM cr_list_master_items
|
|
50
|
-
WHERE listtype = 'MOD'
|
|
51
|
-
AND organization_id = ?
|
|
47
|
+
const modes = await this.dataSource.query(`
|
|
48
|
+
SELECT id, name
|
|
49
|
+
FROM cr_list_master_items
|
|
50
|
+
WHERE listtype = 'MOD'
|
|
51
|
+
AND organization_id = ?
|
|
52
52
|
`, [organization_id]);
|
|
53
53
|
return modes;
|
|
54
54
|
}
|
|
@@ -211,9 +211,9 @@ let WorkflowMetaService = class WorkflowMetaService extends entity_service_impl_
|
|
|
211
211
|
action_id: entityData.action_id,
|
|
212
212
|
}, loggedInUser);
|
|
213
213
|
const leadData = await this.getEntityData('LEAD', lead_id, loggedInUser);
|
|
214
|
-
const unassignedListMasterItemData = await this.dataSource.query(`SELECT name, id
|
|
215
|
-
FROM cr_list_master_items
|
|
216
|
-
WHERE listtype = "LEST" AND organization_id = ?
|
|
214
|
+
const unassignedListMasterItemData = await this.dataSource.query(`SELECT name, id
|
|
215
|
+
FROM cr_list_master_items
|
|
216
|
+
WHERE listtype = "LEST" AND organization_id = ?
|
|
217
217
|
AND value IN (?, ?)`, [loggedInUser.organization_id, 'unassigned', 'active']);
|
|
218
218
|
const unassignedId = unassignedListMasterItemData.find((item) => item.name.toLowerCase() === 'unassigned')?.id;
|
|
219
219
|
const activeId = unassignedListMasterItemData.find((item) => item.name.toLowerCase() === 'active')?.id;
|
|
@@ -225,24 +225,24 @@ let WorkflowMetaService = class WorkflowMetaService extends entity_service_impl_
|
|
|
225
225
|
status: leadData?.lead_status,
|
|
226
226
|
lead_status: leadData?.lead_status,
|
|
227
227
|
}, loggedInUser);
|
|
228
|
-
await this.dataSource.query(`UPDATE cr_wf_action_data SET user_id =?
|
|
229
|
-
WHERE mapped_entity_id=?
|
|
230
|
-
AND mapped_entity_type = ?
|
|
231
|
-
AND stage_id = ?
|
|
232
|
-
AND (is_current = 'Y' OR is_current IS NULL)
|
|
228
|
+
await this.dataSource.query(`UPDATE cr_wf_action_data SET user_id =?
|
|
229
|
+
WHERE mapped_entity_id=?
|
|
230
|
+
AND mapped_entity_type = ?
|
|
231
|
+
AND stage_id = ?
|
|
232
|
+
AND (is_current = 'Y' OR is_current IS NULL)
|
|
233
233
|
`, [lead_owner, lead_id, entity_type, stage_id]);
|
|
234
|
-
await this.dataSource.query(`UPDATE crm_lead_meeting SET user_id=?
|
|
235
|
-
WHERE stage_id = ?
|
|
236
|
-
AND mapped_entity_id = ?
|
|
237
|
-
AND mapped_entity_type = "LEAD"
|
|
238
|
-
AND (status='scheduled' OR status='rescheduled')
|
|
234
|
+
await this.dataSource.query(`UPDATE crm_lead_meeting SET user_id=?
|
|
235
|
+
WHERE stage_id = ?
|
|
236
|
+
AND mapped_entity_id = ?
|
|
237
|
+
AND mapped_entity_type = "LEAD"
|
|
238
|
+
AND (status='scheduled' OR status='rescheduled')
|
|
239
239
|
`, [lead_owner, stage_id, lead_id]);
|
|
240
|
-
const taskRows = await this.dataSource.query(`SELECT id,status FROM cr_wf_task_data
|
|
241
|
-
WHERE mapped_entity_id = ?
|
|
242
|
-
AND mapped_entity_type = ?
|
|
240
|
+
const taskRows = await this.dataSource.query(`SELECT id,status FROM cr_wf_task_data
|
|
241
|
+
WHERE mapped_entity_id = ?
|
|
242
|
+
AND mapped_entity_type = ?
|
|
243
243
|
AND stage_id = ?`, [lead_id, entity_type, stage_id]);
|
|
244
244
|
for (const task of taskRows) {
|
|
245
|
-
const statusRows = await this.dataSource.query(`SELECT value FROM cr_list_master_items
|
|
245
|
+
const statusRows = await this.dataSource.query(`SELECT value FROM cr_list_master_items
|
|
246
246
|
WHERE id = ? AND organization_id = ?`, [task.status, loggedInUser.organization_id]);
|
|
247
247
|
const statusName = statusRows[0]?.value?.toLowerCase() || '';
|
|
248
248
|
if (['todo', 'in_progress'].includes(statusName) ||
|
|
@@ -272,49 +272,49 @@ let WorkflowMetaService = class WorkflowMetaService extends entity_service_impl_
|
|
|
272
272
|
}
|
|
273
273
|
async assignLead(loggedInUser, mapped_entity_id, mapped_entity_type, stage_id, actions) {
|
|
274
274
|
const { organization_id, level_id, level_type } = loggedInUser;
|
|
275
|
-
const owners = await this.dataSource.query(`
|
|
276
|
-
SELECT DISTINCT u.id
|
|
277
|
-
FROM sso_user u
|
|
278
|
-
JOIN sso_user_role_mapping urm ON u.id = urm.user_id
|
|
279
|
-
JOIN sso_role r ON urm.role_id = r.id
|
|
280
|
-
JOIN sso_module_access ma ON ma.role_code = r.code
|
|
281
|
-
WHERE urm.organization_id = ?
|
|
282
|
-
AND urm.level_id = ?
|
|
283
|
-
AND urm.level_type = ?
|
|
284
|
-
AND urm.appcode = 'CRM'
|
|
285
|
-
AND ma.appcode = 'CRM'
|
|
286
|
-
AND ma.module_code = 'lead_crm_sch'
|
|
287
|
-
AND ma.access_flag = 1
|
|
288
|
-
AND ma.action_type = 'LEAD_OWNER'
|
|
289
|
-
ORDER BY u.id ASC
|
|
275
|
+
const owners = await this.dataSource.query(`
|
|
276
|
+
SELECT DISTINCT u.id
|
|
277
|
+
FROM sso_user u
|
|
278
|
+
JOIN sso_user_role_mapping urm ON u.id = urm.user_id
|
|
279
|
+
JOIN sso_role r ON urm.role_id = r.id
|
|
280
|
+
JOIN sso_module_access ma ON ma.role_code = r.code
|
|
281
|
+
WHERE urm.organization_id = ?
|
|
282
|
+
AND urm.level_id = ?
|
|
283
|
+
AND urm.level_type = ?
|
|
284
|
+
AND urm.appcode = 'CRM'
|
|
285
|
+
AND ma.appcode = 'CRM'
|
|
286
|
+
AND ma.module_code = 'lead_crm_sch'
|
|
287
|
+
AND ma.access_flag = 1
|
|
288
|
+
AND ma.action_type = 'LEAD_OWNER'
|
|
289
|
+
ORDER BY u.id ASC
|
|
290
290
|
`, [organization_id, Number(level_id), level_type]);
|
|
291
291
|
if (!owners?.length)
|
|
292
292
|
throw new Error('No eligible users found');
|
|
293
293
|
const userIds = owners.map((o) => Number(o.id));
|
|
294
294
|
const placeholders = userIds.map(() => '?').join(',');
|
|
295
|
-
const lastRow = await this.dataSource.query(`
|
|
296
|
-
SELECT lead_owner
|
|
297
|
-
FROM crm_lead
|
|
298
|
-
WHERE organization_id = ?
|
|
299
|
-
AND level_id = ?
|
|
300
|
-
AND level_type = ?
|
|
301
|
-
AND lead_owner IN (${placeholders})
|
|
302
|
-
ORDER BY created_date DESC
|
|
303
|
-
LIMIT 1
|
|
295
|
+
const lastRow = await this.dataSource.query(`
|
|
296
|
+
SELECT lead_owner
|
|
297
|
+
FROM crm_lead
|
|
298
|
+
WHERE organization_id = ?
|
|
299
|
+
AND level_id = ?
|
|
300
|
+
AND level_type = ?
|
|
301
|
+
AND lead_owner IN (${placeholders})
|
|
302
|
+
ORDER BY created_date DESC
|
|
303
|
+
LIMIT 1
|
|
304
304
|
`, [organization_id, Number(level_id), level_type, ...userIds]);
|
|
305
305
|
const lastAssigned = lastRow.length ? Number(lastRow[0].lead_owner) : null;
|
|
306
306
|
const lastIdx = lastAssigned != null ? userIds.indexOf(lastAssigned) : -1;
|
|
307
307
|
const nextIdx = (lastIdx + 1) % userIds.length;
|
|
308
308
|
const nextUser = userIds[nextIdx];
|
|
309
|
-
await this.dataSource.query(`
|
|
310
|
-
UPDATE crm_lead
|
|
311
|
-
SET lead_owner = ?
|
|
312
|
-
WHERE organization_id = ?
|
|
313
|
-
AND level_id = ?
|
|
314
|
-
AND level_type = ?
|
|
315
|
-
AND lead_owner IS NULL
|
|
316
|
-
ORDER BY created_date ASC
|
|
317
|
-
LIMIT 1
|
|
309
|
+
await this.dataSource.query(`
|
|
310
|
+
UPDATE crm_lead
|
|
311
|
+
SET lead_owner = ?
|
|
312
|
+
WHERE organization_id = ?
|
|
313
|
+
AND level_id = ?
|
|
314
|
+
AND level_type = ?
|
|
315
|
+
AND lead_owner IS NULL
|
|
316
|
+
ORDER BY created_date ASC
|
|
317
|
+
LIMIT 1
|
|
318
318
|
`, [nextUser, organization_id, Number(level_id), level_type]);
|
|
319
319
|
console.log(`Assigning lead to user ID: ${nextUser}`);
|
|
320
320
|
const firstAction = actions[0];
|
|
@@ -72,8 +72,8 @@ let WorkflowService = class WorkflowService extends entity_service_impl_service_
|
|
|
72
72
|
currentId: workflowId,
|
|
73
73
|
})
|
|
74
74
|
.execute();
|
|
75
|
-
await this.dataSource.query(`UPDATE cr_wf_level_mapping
|
|
76
|
-
SET workflow_id = ?
|
|
75
|
+
await this.dataSource.query(`UPDATE cr_wf_level_mapping
|
|
76
|
+
SET workflow_id = ?
|
|
77
77
|
WHERE mapped_level_id = ? AND mapped_level_type = ?`, [workflowId, level_id, level_type]);
|
|
78
78
|
}
|
|
79
79
|
return super.updateEntity(entityData, loggedInUser);
|