rez_core 4.0.111 → 4.0.113
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/.idea/250218_nodejs_core.iml +11 -8
- package/.idea/codeStyles/Project.xml +58 -58
- package/.idea/codeStyles/codeStyleConfig.xml +4 -4
- package/.idea/inspectionProfiles/Project_Default.xml +1 -1
- package/.idea/modules.xml +7 -7
- package/.idea/prettier.xml +5 -5
- package/.idea/vcs.xml +5 -5
- 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 +22 -22
- 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/mapper/service/field-mapper.service.js +4 -4
- package/dist/module/mapper/service/mapper.service.js +2 -2
- package/dist/module/meta/service/entity-dynamic.service.js +9 -9
- 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/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 +20 -20
- 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 +15 -15
- package/dist/module/workflow/repository/stage.repository.js +8 -8
- package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
- 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 +35 -35
- 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 +119 -119
- package/src/app.controller.ts +12 -12
- package/src/app.module.ts +52 -52
- 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 +278 -278
- 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 +1004 -1004
- 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 +2633 -2633
- package/src/module/integration/service/oauth.service.ts +224 -224
- package/src/module/integration/service/wrapper.service.ts +493 -493
- 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 +73 -73
- package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
- package/src/module/layout_preference/layout_preference.module.ts +22 -22
- package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
- package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
- 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 +230 -230
- package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
- package/src/module/listmaster/entity/list-master.entity.ts +33 -33
- package/src/module/listmaster/listmaster.module.ts +46 -46
- 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 +535 -535
- package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
- package/src/module/mapper/controller/mapper.controller.ts +20 -20
- 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 +266 -266
- 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 +392 -392
- package/src/module/meta/controller/entity.public.controller.ts +75 -75
- package/src/module/meta/controller/media.controller.ts +107 -107
- 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 +89 -89
- package/src/module/meta/entity/base-entity.entity.ts +75 -75
- package/src/module/meta/entity/entity-master.entity.ts +85 -85
- 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 +118 -118
- 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 +126 -126
- package/src/module/meta/service/common.service.ts +9 -9
- package/src/module/meta/service/entity-dynamic.service.ts +819 -819
- package/src/module/meta/service/entity-list.service.ts +205 -205
- package/src/module/meta/service/entity-master.service.ts +169 -169
- 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 +525 -525
- 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 +187 -187
- 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 +507 -507
- package/src/module/meta/service/populate-meta.service.ts +193 -193
- package/src/module/meta/service/preference.service.ts +16 -16
- package/src/module/meta/service/resolver.service.ts +267 -267
- 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 +127 -127
- package/src/module/microservice-client/microservice-clients.module.ts +13 -13
- package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
- package/src/module/microservice-client/service/microservice-clients.ts +4 -4
- 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 +163 -163
- 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 +73 -73
- package/src/module/user/entity/user.entity.ts +59 -59
- 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 +290 -290
- 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 +365 -365
- 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 +111 -111
- package/src/module/workflow/controller/activity-log.controller.ts +55 -55
- package/src/module/workflow/controller/comm-template.controller.ts +43 -43
- 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 +333 -333
- package/src/module/workflow/repository/action.repository.ts +323 -323
- package/src/module/workflow/repository/activity-log.repository.ts +148 -148
- 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 +244 -244
- package/src/module/workflow/repository/stage.repository.ts +172 -172
- package/src/module/workflow/repository/task.repository.ts +127 -127
- 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 +106 -106
- package/src/module/workflow/service/action.service.ts +279 -279
- package/src/module/workflow/service/activity-log.service.ts +107 -107
- package/src/module/workflow/service/comm-template.service.ts +180 -180
- 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 +319 -319
- package/src/module/workflow/service/stage.service.ts +199 -199
- package/src/module/workflow/service/task.service.ts +560 -560
- package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
- package/src/module/workflow/service/workflow-meta.service.ts +640 -640
- package/src/module/workflow/service/workflow.service.ts +205 -205
- package/src/module/workflow/workflow.module.ts +176 -176
- 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 +347 -347
- 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 +31 -31
- package/src/table.config.ts +126 -126
- 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/.claude/settings.local.json +0 -26
- package/.idea/copilot.data.migration.agent.xml +0 -6
- package/.idea/copilot.data.migration.ask.xml +0 -6
- package/.idea/copilot.data.migration.ask2agent.xml +0 -6
- package/.idea/copilot.data.migration.edit.xml +0 -6
- package/.idea/misc.xml +0 -6
- package/server.log +0 -850
|
@@ -29,10 +29,10 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
29
29
|
this.logger.log(`sendMailWrapper called. User: ${JSON.stringify(loggedInUser)}, Payload: ${JSON.stringify(payload)}`);
|
|
30
30
|
const { level_id, level_type, organization_id } = loggedInUser;
|
|
31
31
|
this.logger.debug(`Fetching configs for level_id=${level_id}, level_type=${level_type}`);
|
|
32
|
-
const configs = await this.datasource.query(`SELECT * FROM frm_integration_config
|
|
33
|
-
WHERE level_id = ?
|
|
34
|
-
AND level_type = ?
|
|
35
|
-
AND status = 1
|
|
32
|
+
const configs = await this.datasource.query(`SELECT * FROM frm_integration_config
|
|
33
|
+
WHERE level_id = ?
|
|
34
|
+
AND level_type = ?
|
|
35
|
+
AND status = 1
|
|
36
36
|
AND integration_type = 'EMAIL'`, [level_id, level_type]);
|
|
37
37
|
this.logger.debug(`Configs found: ${JSON.stringify(configs)}`);
|
|
38
38
|
let templateCode;
|
|
@@ -68,9 +68,9 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
68
68
|
}
|
|
69
69
|
else {
|
|
70
70
|
this.logger.warn(`No user-level configs found. Falling back to ORG-level`);
|
|
71
|
-
const fallbackConfigs = await this.datasource.query(`SELECT * FROM frm_integration_config
|
|
72
|
-
WHERE level_type = 'ORG'
|
|
73
|
-
AND integration_type = 'EMAIL'
|
|
71
|
+
const fallbackConfigs = await this.datasource.query(`SELECT * FROM frm_integration_config
|
|
72
|
+
WHERE level_type = 'ORG'
|
|
73
|
+
AND integration_type = 'EMAIL'
|
|
74
74
|
AND status = 1`);
|
|
75
75
|
this.logger.debug(`ORG-level configs: ${JSON.stringify(fallbackConfigs)}`);
|
|
76
76
|
if (!fallbackConfigs || fallbackConfigs.length === 0) {
|
|
@@ -128,17 +128,17 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
128
128
|
let resolvedTemplateId = entity?.templateId;
|
|
129
129
|
if (entity.template_code) {
|
|
130
130
|
this.logger.debug(`Looking up template for code=${entity.template_code}, level_id=${level_id}, level_type=${level_type}`);
|
|
131
|
-
let templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
|
|
132
|
-
WHERE code = ?
|
|
133
|
-
AND level_id = ?
|
|
134
|
-
AND level_type = ?
|
|
131
|
+
let templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
|
|
132
|
+
WHERE code = ?
|
|
133
|
+
AND level_id = ?
|
|
134
|
+
AND level_type = ?
|
|
135
135
|
LIMIT 1`, [entity.template_code, level_id, level_type]);
|
|
136
136
|
if (!templates || templates.length === 0) {
|
|
137
137
|
this.logger.warn(`No template found for ${entity.template_code} at provided level. Falling back to ORG-level.`);
|
|
138
|
-
templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
|
|
139
|
-
WHERE code = ?
|
|
140
|
-
AND level_type = 'ORG'
|
|
141
|
-
AND organization_id = ?
|
|
138
|
+
templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
|
|
139
|
+
WHERE code = ?
|
|
140
|
+
AND level_type = 'ORG'
|
|
141
|
+
AND organization_id = ?
|
|
142
142
|
LIMIT 1`, [entity.template_code, organization_id]);
|
|
143
143
|
}
|
|
144
144
|
if (templates && templates.length > 0) {
|
|
@@ -204,11 +204,11 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
204
204
|
};
|
|
205
205
|
}
|
|
206
206
|
this.logger.log(`No user-level config found, checking ORG-level...`);
|
|
207
|
-
const orgConfigs = await this.datasource.query(`SELECT * FROM frm_integration_config
|
|
208
|
-
WHERE level_id = 1
|
|
209
|
-
AND level_type = 'ORG'
|
|
210
|
-
AND integration_type = 'EMAIL'
|
|
211
|
-
AND app_code ='DEFAULT'
|
|
207
|
+
const orgConfigs = await this.datasource.query(`SELECT * FROM frm_integration_config
|
|
208
|
+
WHERE level_id = 1
|
|
209
|
+
AND level_type = 'ORG'
|
|
210
|
+
AND integration_type = 'EMAIL'
|
|
211
|
+
AND app_code ='DEFAULT'
|
|
212
212
|
AND status = 1`, []);
|
|
213
213
|
integrationConfig = await this.integrationService.getSingleActiveConfig(1, 'ORG', 'DEFAULT', 'EMAIL');
|
|
214
214
|
this.logger.debug(`ORG configs found: ${JSON.stringify(orgConfigs)}`);
|
|
@@ -226,8 +226,8 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
226
226
|
}
|
|
227
227
|
async getConfigCred(configId) {
|
|
228
228
|
this.logger.debug(`Fetching config JSON for configId=${configId}`);
|
|
229
|
-
const configRes = await this.datasource.query(`SELECT config_json
|
|
230
|
-
FROM frm_integration_config
|
|
229
|
+
const configRes = await this.datasource.query(`SELECT config_json
|
|
230
|
+
FROM frm_integration_config
|
|
231
231
|
WHERE id = ?`, [configId]);
|
|
232
232
|
this.logger.debug(`Config fetch result: ${JSON.stringify(configRes)}`);
|
|
233
233
|
return configRes?.[0]?.config_json || null;
|
|
@@ -235,9 +235,9 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
235
235
|
async sendIcsInvite(payload, levelId, levelType, appCode, organizationId, mapped_entities) {
|
|
236
236
|
this.logger.log(`Generating ICS file. Payload: ${JSON.stringify(payload)}`);
|
|
237
237
|
if (payload.template_code) {
|
|
238
|
-
let templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
|
|
239
|
-
WHERE code = ?
|
|
240
|
-
ORDER BY 1 DESC
|
|
238
|
+
let templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
|
|
239
|
+
WHERE code = ?
|
|
240
|
+
ORDER BY 1 DESC
|
|
241
241
|
LIMIT 1`, [payload.template_code]);
|
|
242
242
|
this.logger.log(`template by code ${JSON.stringify(payload)}`);
|
|
243
243
|
if (templates && templates.length > 0) {
|
|
@@ -132,8 +132,8 @@ let ListMasterItemService = class ListMasterItemService extends entity_service_i
|
|
|
132
132
|
return `Item with name ${code} deleted successfully from type ${listType}`;
|
|
133
133
|
}
|
|
134
134
|
async getListSourceType(loggedInUser, source) {
|
|
135
|
-
const data = await this.dataSource.query(`SELECT name AS label, type AS value
|
|
136
|
-
FROM frm_list_master
|
|
135
|
+
const data = await this.dataSource.query(`SELECT name AS label, type AS value
|
|
136
|
+
FROM frm_list_master
|
|
137
137
|
WHERE organization_id = ? AND source = ?`, [loggedInUser.organization_id, source]);
|
|
138
138
|
return data;
|
|
139
139
|
}
|
|
@@ -107,10 +107,10 @@ let FieldMapperService = class FieldMapperService extends entity_service_impl_se
|
|
|
107
107
|
entity_data[field.mapped_entity_type];
|
|
108
108
|
}
|
|
109
109
|
else {
|
|
110
|
-
const relations = await this.datasource.query(`SELECT target_entity_id
|
|
111
|
-
FROM frm_entity_relation_data
|
|
112
|
-
WHERE source_entity_type = ?
|
|
113
|
-
AND source_entity_id = ?
|
|
110
|
+
const relations = await this.datasource.query(`SELECT target_entity_id
|
|
111
|
+
FROM frm_entity_relation_data
|
|
112
|
+
WHERE source_entity_type = ?
|
|
113
|
+
AND source_entity_id = ?
|
|
114
114
|
AND target_entity_type = ?`, [parent_type, parent_id, field.mapped_entity_type]);
|
|
115
115
|
const targetEntityIds = relations.map((r) => r.target_entity_id);
|
|
116
116
|
this.loggingService.log('package', 'fieldMapperService', 'targetEntityIds', targetEntityIds);
|
|
@@ -27,8 +27,8 @@ let MapperService = class MapperService extends entity_service_impl_service_1.En
|
|
|
27
27
|
async getByMappedEntityType(mappedEntityType, loggedInUser, filter, status) {
|
|
28
28
|
if (!mappedEntityType)
|
|
29
29
|
return [];
|
|
30
|
-
const mappers = await this.dataSource.query(`SELECT id, name, code, status
|
|
31
|
-
FROM frm_mapper_master
|
|
30
|
+
const mappers = await this.dataSource.query(`SELECT id, name, code, status
|
|
31
|
+
FROM frm_mapper_master
|
|
32
32
|
WHERE mapped_entity_type = ? AND organization_id = ? AND (-1 = ? OR name LIKE ? OR code LIKE ?)`, [mappedEntityType, loggedInUser.organization_id, filter || -1, `%${filter}%`, `%${filter}%`]);
|
|
33
33
|
const distinctStatuses = [
|
|
34
34
|
...new Set(mappers.map((m) => m.status).filter((s) => s !== null)),
|
|
@@ -43,8 +43,8 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
43
43
|
entityData.entity_type = entityType;
|
|
44
44
|
}
|
|
45
45
|
if (!entityData.code && loggedInUser) {
|
|
46
|
-
const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
|
|
47
|
-
FROM ${tableName}
|
|
46
|
+
const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
|
|
47
|
+
FROM ${tableName}
|
|
48
48
|
WHERE entity_type = ?`, [entityData.entity_type]);
|
|
49
49
|
let maxSeqNo = result?.[0]?.max_seq_no ? Number(result[0].max_seq_no) : 0;
|
|
50
50
|
maxSeqNo += 1;
|
|
@@ -149,7 +149,7 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
149
149
|
}
|
|
150
150
|
async getEntityWithRelation(entityType, id, loggedInUser) {
|
|
151
151
|
const mainEntity = await this.getEntityByDataSource(entityType, id, loggedInUser);
|
|
152
|
-
const relatedEntities = await this.dataSource.query(`SELECT * FROM frm_entity_relation_data WHERE source_entity_id = ? AND target_entity_type IN (
|
|
152
|
+
const relatedEntities = await this.dataSource.query(`SELECT * FROM frm_entity_relation_data WHERE source_entity_id = ? AND target_entity_type IN (
|
|
153
153
|
SELECT target_entity_type FROM frm_entity_relation WHERE source_entity_type = ?)`, [id, entityType]);
|
|
154
154
|
const response = {
|
|
155
155
|
entity_type: entityType,
|
|
@@ -202,8 +202,8 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
202
202
|
const createdEntity = await this.createEntity(targetEntityType, item, loggedInUser, Number(id));
|
|
203
203
|
targetEntityId = createdEntity.insertId || createdEntity.id;
|
|
204
204
|
entityData = await this.getEntity(targetEntityType, targetEntityId, loggedInUser);
|
|
205
|
-
await this.dataSource.query(`INSERT INTO frm_entity_relation_data
|
|
206
|
-
(organization_id, source_entity_id, source_entity_type, target_entity_id, target_entity_type, relation_type)
|
|
205
|
+
await this.dataSource.query(`INSERT INTO frm_entity_relation_data
|
|
206
|
+
(organization_id, source_entity_id, source_entity_type, target_entity_id, target_entity_type, relation_type)
|
|
207
207
|
VALUES (?, ?, ?, ?, ?,?)`, [
|
|
208
208
|
organizationId,
|
|
209
209
|
id,
|
|
@@ -432,15 +432,15 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
432
432
|
}
|
|
433
433
|
async getCode(entityType, loggedInUser) {
|
|
434
434
|
const organizationId = loggedInUser.organization_id;
|
|
435
|
-
const result = await this.dataSource.query(`SELECT db_table_name
|
|
436
|
-
FROM frm_entity_master
|
|
435
|
+
const result = await this.dataSource.query(`SELECT db_table_name
|
|
436
|
+
FROM frm_entity_master
|
|
437
437
|
WHERE mapped_entity_type = ? AND organization_id = ?`, [entityType, organizationId]);
|
|
438
438
|
if (!result.length) {
|
|
439
439
|
throw new Error(`Entity type '${entityType}' not found in frm_entity_master for org '${organizationId}'`);
|
|
440
440
|
}
|
|
441
441
|
const tableName = result[0].db_table_name;
|
|
442
|
-
const seqResult = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
|
|
443
|
-
FROM \`${tableName}\`
|
|
442
|
+
const seqResult = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
|
|
443
|
+
FROM \`${tableName}\`
|
|
444
444
|
WHERE entity_type = ?`, [entityType]);
|
|
445
445
|
let maxSeqNo = seqResult?.[0]?.max_seq_no
|
|
446
446
|
? Number(seqResult[0].max_seq_no)
|
|
@@ -75,11 +75,11 @@ let EntityListService = class EntityListService {
|
|
|
75
75
|
}
|
|
76
76
|
getQuery(source, groupByColumn) {
|
|
77
77
|
if (groupByColumn) {
|
|
78
|
-
return `SELECT ${groupByColumn} as tab_value, COUNT(1) AS tab_value_count
|
|
78
|
+
return `SELECT ${groupByColumn} as tab_value, COUNT(1) AS tab_value_count
|
|
79
79
|
FROM ${source}`;
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
|
-
return `SELECT *
|
|
82
|
+
return `SELECT *
|
|
83
83
|
FROM ${source}`;
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -123,7 +123,7 @@ let EntityListService = class EntityListService {
|
|
|
123
123
|
return { query, argumentList: argsObjectList };
|
|
124
124
|
}
|
|
125
125
|
async getMaxSequenceNumber(tableName, parentType, parentId) {
|
|
126
|
-
const query = `SELECT max(id) as seq_no
|
|
126
|
+
const query = `SELECT max(id) as seq_no
|
|
127
127
|
FROM ${tableName} WHERE 1=1 `;
|
|
128
128
|
const argsObjectList = [];
|
|
129
129
|
const result = await this.entityManager.query(query, argsObjectList);
|
|
@@ -74,9 +74,9 @@ let EntityMasterService = class EntityMasterService {
|
|
|
74
74
|
if (!entityMasterData) {
|
|
75
75
|
throw new Error(`Entity master with mapped_entity_type "${entityType}" not found.`);
|
|
76
76
|
}
|
|
77
|
-
const attributes = await this.dataSource.query(`SELECT *
|
|
78
|
-
FROM frm_entity_attribute
|
|
79
|
-
WHERE mapped_entity_type = ?
|
|
77
|
+
const attributes = await this.dataSource.query(`SELECT *
|
|
78
|
+
FROM frm_entity_attribute
|
|
79
|
+
WHERE mapped_entity_type = ?
|
|
80
80
|
AND organization_id = ? `, [entityMasterData.mapped_entity_type, loggedInUser.organization_id]);
|
|
81
81
|
entityMasterData['attribute_list'] = attributes;
|
|
82
82
|
entityMasterData['operation_list'] = {
|
|
@@ -19,12 +19,12 @@ let EntityRelationService = class EntityRelationService extends entity_service_i
|
|
|
19
19
|
this.dataSource = dataSource;
|
|
20
20
|
}
|
|
21
21
|
async getEntityRelations(entityType, loggedInUser, includeSelf = false) {
|
|
22
|
-
const relations = await this.dataSource.query(`SELECT name as label, target_entity_type as value, id
|
|
23
|
-
FROM frm_entity_relation
|
|
22
|
+
const relations = await this.dataSource.query(`SELECT name as label, target_entity_type as value, id
|
|
23
|
+
FROM frm_entity_relation
|
|
24
24
|
WHERE source_entity_type = ? AND organization_id = ?`, [entityType, loggedInUser.organization_id]);
|
|
25
25
|
if (includeSelf) {
|
|
26
|
-
const [entity] = await this.dataSource.query(`SELECT name as label
|
|
27
|
-
FROM frm_entity_master
|
|
26
|
+
const [entity] = await this.dataSource.query(`SELECT name as label
|
|
27
|
+
FROM frm_entity_master
|
|
28
28
|
WHERE mapped_entity_type = ? AND organization_id = ?`, [entityType, loggedInUser.organization_id]);
|
|
29
29
|
if (entity) {
|
|
30
30
|
relations.unshift({
|
|
@@ -39,13 +39,13 @@ let EntityRelationService = class EntityRelationService extends entity_service_i
|
|
|
39
39
|
async getRelatedEntityIds(sourceEntity, targetEntity, targetIds, orgId) {
|
|
40
40
|
if (!targetIds.length)
|
|
41
41
|
return [];
|
|
42
|
-
const result = await this.dataSource.query(`
|
|
43
|
-
SELECT DISTINCT source_entity_id
|
|
44
|
-
FROM frm_entity_relation_data
|
|
45
|
-
WHERE source_entity_type = ?
|
|
46
|
-
AND target_entity_type = ?
|
|
47
|
-
AND target_entity_id IN (?)
|
|
48
|
-
AND organization_id = ?
|
|
42
|
+
const result = await this.dataSource.query(`
|
|
43
|
+
SELECT DISTINCT source_entity_id
|
|
44
|
+
FROM frm_entity_relation_data
|
|
45
|
+
WHERE source_entity_type = ?
|
|
46
|
+
AND target_entity_type = ?
|
|
47
|
+
AND target_entity_id IN (?)
|
|
48
|
+
AND organization_id = ?
|
|
49
49
|
`, [sourceEntity, targetEntity, targetIds, orgId]);
|
|
50
50
|
return result.map((r) => r.source_entity_id);
|
|
51
51
|
}
|
|
@@ -50,9 +50,9 @@ let EntityServiceImpl = class EntityServiceImpl {
|
|
|
50
50
|
maxSeqNo = Number(maxSeqNo) + 1;
|
|
51
51
|
entityData.code = entityData.entity_type + maxSeqNo;
|
|
52
52
|
}
|
|
53
|
-
const statusList = await repo.query(`SELECT id
|
|
54
|
-
FROM frm_list_master_items
|
|
55
|
-
WHERE code = ?
|
|
53
|
+
const statusList = await repo.query(`SELECT id
|
|
54
|
+
FROM frm_list_master_items
|
|
55
|
+
WHERE code = ?
|
|
56
56
|
AND organization_id = ?`, [global_constant_1.STATUS_ACTIVE, loggedInUser?.organization_id || -1]);
|
|
57
57
|
console.log('Status List:', statusList);
|
|
58
58
|
console.log(`status_code,${global_constant_1.STATUS_ACTIVE},statusList, ${loggedInUser?.organization_id}`);
|
|
@@ -142,12 +142,12 @@ let ResolverService = class ResolverService {
|
|
|
142
142
|
displayValue === '') {
|
|
143
143
|
return displayValue;
|
|
144
144
|
}
|
|
145
|
-
const [attr] = await this.dataSource.query(`SELECT * FROM frm_entity_attribute
|
|
145
|
+
const [attr] = await this.dataSource.query(`SELECT * FROM frm_entity_attribute
|
|
146
146
|
WHERE mapped_entity_type = ? AND organization_id = ? AND attribute_key = ?`, [entityType, loggedInUser.organization_id, attrKey]);
|
|
147
147
|
if (!attr)
|
|
148
148
|
return displayValue;
|
|
149
149
|
if (attr.data_source_type === 'entity') {
|
|
150
|
-
const [entityDef] = await this.dataSource.query(`SELECT * FROM frm_entity_master
|
|
150
|
+
const [entityDef] = await this.dataSource.query(`SELECT * FROM frm_entity_master
|
|
151
151
|
WHERE mapped_entity_type = ? AND organization_id = ?`, [attr.datasource_list, loggedInUser.organization_id]);
|
|
152
152
|
if (!entityDef)
|
|
153
153
|
return displayValue;
|
|
@@ -162,7 +162,7 @@ let ResolverService = class ResolverService {
|
|
|
162
162
|
return item?.id ?? displayValue;
|
|
163
163
|
}
|
|
164
164
|
else if (attr.data_source_type === 'master') {
|
|
165
|
-
const [item] = await this.dataSource.query(`SELECT id FROM frm_list_master_items
|
|
165
|
+
const [item] = await this.dataSource.query(`SELECT id FROM frm_list_master_items
|
|
166
166
|
WHERE ${attr.data_source_attribute} = ? AND organization_id = ? AND listtype = ?`, [displayValue, loggedInUser.organization_id, attr.datasource_list]);
|
|
167
167
|
return item?.id ?? displayValue;
|
|
168
168
|
}
|
|
@@ -60,10 +60,10 @@ let MenuRepository = class MenuRepository extends typeorm_1.Repository {
|
|
|
60
60
|
async getMenuItems(moduleCodes, appcode, levelType) {
|
|
61
61
|
return await this.menuData
|
|
62
62
|
.createQueryBuilder('menu')
|
|
63
|
-
.leftJoin('sso_module', 'module', `
|
|
64
|
-
menu.module_code = module.module_code
|
|
65
|
-
AND LOWER(menu.appcode) = LOWER(module.appcode)
|
|
66
|
-
AND menu.level_type = module.level_type
|
|
63
|
+
.leftJoin('sso_module', 'module', `
|
|
64
|
+
menu.module_code = module.module_code
|
|
65
|
+
AND LOWER(menu.appcode) = LOWER(module.appcode)
|
|
66
|
+
AND menu.level_type = module.level_type
|
|
67
67
|
`)
|
|
68
68
|
.where('menu.module_code IN (:...moduleCodes)', { moduleCodes })
|
|
69
69
|
.andWhere('LOWER(menu.appcode) = LOWER(:appcode)', { appcode })
|
|
@@ -82,11 +82,11 @@ let MenuRepository = class MenuRepository extends typeorm_1.Repository {
|
|
|
82
82
|
async resolveUserRoles(userId, appcode, levelType, levelId) {
|
|
83
83
|
const repo = this.dataSource.getRepository(user_role_mapping_entity_1.UserRoleMapping);
|
|
84
84
|
if (userId) {
|
|
85
|
-
const getUserDetails = await this.dataSource.query(`
|
|
86
|
-
SELECT * from sso_user where id = ?
|
|
85
|
+
const getUserDetails = await this.dataSource.query(`
|
|
86
|
+
SELECT * from sso_user where id = ?
|
|
87
87
|
`, [userId]);
|
|
88
|
-
const getUserUrm = await this.dataSource.query(`
|
|
89
|
-
SELECT * from sso_user_role_mapping where user_id = ? and appcode = ?
|
|
88
|
+
const getUserUrm = await this.dataSource.query(`
|
|
89
|
+
SELECT * from sso_user_role_mapping where user_id = ? and appcode = ?
|
|
90
90
|
`, [userId, appcode]);
|
|
91
91
|
if (getUserDetails.length > 0 &&
|
|
92
92
|
getUserDetails[0].organization_id === 1) {
|
|
@@ -105,10 +105,10 @@ let MenuRepository = class MenuRepository extends typeorm_1.Repository {
|
|
|
105
105
|
if (roles.length)
|
|
106
106
|
return roles.map((r) => r.urm_role_id);
|
|
107
107
|
if (levelType === 'SCH') {
|
|
108
|
-
const [sch] = await this.dataSource.query(`
|
|
109
|
-
SELECT s.brand_id, s.organization_id
|
|
110
|
-
FROM sso_school s
|
|
111
|
-
WHERE s.id = ?
|
|
108
|
+
const [sch] = await this.dataSource.query(`
|
|
109
|
+
SELECT s.brand_id, s.organization_id
|
|
110
|
+
FROM sso_school s
|
|
111
|
+
WHERE s.id = ?
|
|
112
112
|
`, [levelId]);
|
|
113
113
|
const brandId = sch?.brand_id;
|
|
114
114
|
const orgId = sch?.organization_id;
|
|
@@ -66,11 +66,11 @@ let NotificationsService = class NotificationsService {
|
|
|
66
66
|
const isReadBool = String(filterQuery.is_read).toLowerCase() === 'true';
|
|
67
67
|
isReadFilter = isReadBool ? 1 : 0;
|
|
68
68
|
}
|
|
69
|
-
let query = `
|
|
70
|
-
SELECT
|
|
71
|
-
n.*
|
|
72
|
-
FROM frm_notification n
|
|
73
|
-
WHERE n.user_id = ? AND n.level_id = ? AND n.level_type = ?
|
|
69
|
+
let query = `
|
|
70
|
+
SELECT
|
|
71
|
+
n.*
|
|
72
|
+
FROM frm_notification n
|
|
73
|
+
WHERE n.user_id = ? AND n.level_id = ? AND n.level_type = ?
|
|
74
74
|
`;
|
|
75
75
|
const params = [id, level_id, level_type];
|
|
76
76
|
if (isReadFilter !== undefined) {
|
|
@@ -103,10 +103,10 @@ let NotificationsService = class NotificationsService {
|
|
|
103
103
|
}
|
|
104
104
|
async markAllAsRead(loggedInUser) {
|
|
105
105
|
const { id, level_id, level_type } = loggedInUser;
|
|
106
|
-
const query = `
|
|
107
|
-
UPDATE frm_notification
|
|
108
|
-
SET is_read = 1
|
|
109
|
-
WHERE user_id = ? AND level_id = ? AND level_type = ? AND is_read = 0
|
|
106
|
+
const query = `
|
|
107
|
+
UPDATE frm_notification
|
|
108
|
+
SET is_read = 1
|
|
109
|
+
WHERE user_id = ? AND level_id = ? AND level_type = ? AND is_read = 0
|
|
110
110
|
`;
|
|
111
111
|
const params = [id, level_id, level_type];
|
|
112
112
|
const result = await this.dataSource.query(query, params);
|
|
@@ -57,27 +57,27 @@ let LoginController = class LoginController {
|
|
|
57
57
|
try {
|
|
58
58
|
const actualState = state.replace('gmail_config:', '');
|
|
59
59
|
const result = await this.integrationService.handleGmailTokensCallback(email, googleAccessToken, googleRefreshToken, actualState);
|
|
60
|
-
return res.send(`<html><body><script>
|
|
61
|
-
window.opener.postMessage({ type: 'CONFIG_SUCCESS' }, '*');
|
|
62
|
-
window.close();
|
|
60
|
+
return res.send(`<html><body><script>
|
|
61
|
+
window.opener.postMessage({ type: 'CONFIG_SUCCESS' }, '*');
|
|
62
|
+
window.close();
|
|
63
63
|
</script> <p>Configuration successful. You can close this window.</p> </body></html>`);
|
|
64
64
|
}
|
|
65
65
|
catch (error) {
|
|
66
|
-
return res.send(`
|
|
67
|
-
<html>
|
|
68
|
-
<body>
|
|
69
|
-
<script>
|
|
70
|
-
if (window.opener) {
|
|
71
|
-
window.opener.postMessage({
|
|
72
|
-
type: "CONFIG_FAILED",
|
|
73
|
-
error: "${error.message || 'Something went wrong'}"
|
|
74
|
-
}, "*");
|
|
75
|
-
}
|
|
76
|
-
window.close();
|
|
77
|
-
</script>
|
|
78
|
-
<p>Configuration failed. Please close this window.</p>
|
|
79
|
-
</body>
|
|
80
|
-
</html>
|
|
66
|
+
return res.send(`
|
|
67
|
+
<html>
|
|
68
|
+
<body>
|
|
69
|
+
<script>
|
|
70
|
+
if (window.opener) {
|
|
71
|
+
window.opener.postMessage({
|
|
72
|
+
type: "CONFIG_FAILED",
|
|
73
|
+
error: "${error.message || 'Something went wrong'}"
|
|
74
|
+
}, "*");
|
|
75
|
+
}
|
|
76
|
+
window.close();
|
|
77
|
+
</script>
|
|
78
|
+
<p>Configuration failed. Please close this window.</p>
|
|
79
|
+
</body>
|
|
80
|
+
</html>
|
|
81
81
|
`);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -76,10 +76,10 @@ let RoleService = class RoleService extends entity_service_impl_service_1.Entity
|
|
|
76
76
|
if (!existingRole) {
|
|
77
77
|
return { success: false, error: 'Role not found' };
|
|
78
78
|
}
|
|
79
|
-
const associatedUsers = await this.entityManager.query(`SELECT map.*
|
|
80
|
-
FROM sso_user_role_mapping map
|
|
81
|
-
JOIN sso_user usr ON map.user_id = usr.id
|
|
82
|
-
WHERE usr.status = ${resolveStatus.id}
|
|
79
|
+
const associatedUsers = await this.entityManager.query(`SELECT map.*
|
|
80
|
+
FROM sso_user_role_mapping map
|
|
81
|
+
JOIN sso_user usr ON map.user_id = usr.id
|
|
82
|
+
WHERE usr.status = ${resolveStatus.id}
|
|
83
83
|
and map.role_id = ${existingRole?.id}`);
|
|
84
84
|
if (associatedUsers.length > 0) {
|
|
85
85
|
return {
|
|
@@ -71,8 +71,8 @@ let UserSessionService = class UserSessionService {
|
|
|
71
71
|
};
|
|
72
72
|
let getUserDetails;
|
|
73
73
|
if (currentUser) {
|
|
74
|
-
getUserDetails = await this.dataSource.query(`
|
|
75
|
-
SELECT * from sso_user where id = ?
|
|
74
|
+
getUserDetails = await this.dataSource.query(`
|
|
75
|
+
SELECT * from sso_user where id = ?
|
|
76
76
|
`, [currentUser.id]);
|
|
77
77
|
}
|
|
78
78
|
if (getUserDetails[0].organization_id == 1 && payload.level_type == 'ORG') {
|
|
@@ -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 frm_list_master
|
|
30
|
-
WHERE organization_id = ? AND source = 'master'
|
|
27
|
+
const result = await this.dataSource.query(`
|
|
28
|
+
SELECT name, type
|
|
29
|
+
FROM frm_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 frm_list_master_items
|
|
46
|
-
WHERE listtype = ? AND organization_id = ?
|
|
43
|
+
const result = await this.dataSource.query(`
|
|
44
|
+
SELECT name, id
|
|
45
|
+
FROM frm_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 frm_wf_stage_action_mapping
|
|
58
|
-
WHERE stage_id = ?
|
|
55
|
+
const stageActions = await this.dataSource.query(`
|
|
56
|
+
SELECT id, action_id
|
|
57
|
+
FROM frm_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 frm_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 frm_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 = {};
|
|
@@ -127,10 +127,10 @@ let ActionRepository = class ActionRepository {
|
|
|
127
127
|
return enrichedResult;
|
|
128
128
|
}
|
|
129
129
|
async getDependentActions(loggedInUser, stage_id, action_id) {
|
|
130
|
-
const stageActions = await this.dataSource.query(`
|
|
131
|
-
SELECT action_id
|
|
132
|
-
FROM frm_wf_stage_action_mapping
|
|
133
|
-
WHERE stage_id = ?
|
|
130
|
+
const stageActions = await this.dataSource.query(`
|
|
131
|
+
SELECT action_id
|
|
132
|
+
FROM frm_wf_stage_action_mapping
|
|
133
|
+
WHERE stage_id = ?
|
|
134
134
|
`, [stage_id]);
|
|
135
135
|
if (!stageActions?.length)
|
|
136
136
|
return [];
|
|
@@ -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 frm_wf_action
|
|
35
|
-
WHERE id = ? AND organization_id = ?
|
|
33
|
+
const [actionResult] = await this.dataSource.query(`SELECT is_template
|
|
34
|
+
FROM frm_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 frm_wf_comm_template
|
|
42
|
-
SET is_template = ?
|
|
43
|
-
WHERE mapped_entity_type = ?
|
|
41
|
+
await this.dataSource.query(`UPDATE frm_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 frm_entity_view fm
|
|
20
|
+
const forms = await this.dataSource.query(`SELECT fm.id as fm_id, fm.name as fm_form_name
|
|
21
|
+
FROM frm_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
|
-
frm_wf_stage.*
|
|
73
|
-
FROM frm_wf_stage
|
|
74
|
-
WHERE frm_wf_stage.stage_group_id IN (${stageGroupIds.map(() => '?').join(',')})
|
|
75
|
-
AND frm_wf_stage.organization_id = ?
|
|
76
|
-
ORDER BY frm_wf_stage.sequence ASC
|
|
70
|
+
const stagesRaw = await this.dataSource.query(`
|
|
71
|
+
SELECT
|
|
72
|
+
frm_wf_stage.*
|
|
73
|
+
FROM frm_wf_stage
|
|
74
|
+
WHERE frm_wf_stage.stage_group_id IN (${stageGroupIds.map(() => '?').join(',')})
|
|
75
|
+
AND frm_wf_stage.organization_id = ?
|
|
76
|
+
ORDER BY frm_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 frm_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 frm_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) => [
|