rez_core 3.1.120 → 3.1.121
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/.prettierrc +3 -3
- package/.vscode/extensions.json +5 -0
- 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 +17 -17
- 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/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/resolver.service.js +3 -3
- package/dist/module/meta/service/view-master.service.js +1 -1
- package/dist/module/meta/service/view-master.service.js.map +1 -1
- package/dist/module/module/repository/menu.repository.js +12 -12
- package/dist/module/notification/service/notification.service.js +12 -12
- 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 +5 -5
- package/dist/module/workflow/service/stage.service.js +2 -2
- package/dist/module/workflow/service/task.service.js +33 -33
- 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/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 +282 -282
- 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 +841 -841
- 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 +60 -60
- 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 +39 -39
- 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 +70 -70
- 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 +2557 -2557
- package/src/module/integration/service/oauth.service.ts +224 -224
- package/src/module/integration/service/wrapper.service.ts +373 -373
- package/src/module/integration/strategies/email/gmail-api.strategy.ts +288 -288
- 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 +262 -262
- 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 +371 -371
- 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 +140 -140
- 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 +143 -143
- 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 +30 -30
- 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-item.service.ts +292 -292
- package/src/module/listmaster/service/list-master.service.ts +360 -360
- package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
- package/src/module/mapper/controller/mapper.controller.ts +14 -14
- package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
- package/src/module/mapper/entity/field-lovs.entity.ts +20 -20
- package/src/module/mapper/entity/field-mapper.entity.ts +37 -37
- package/src/module/mapper/entity/mapper.entity.ts +17 -17
- 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 +223 -223
- package/src/module/mapper/service/mapper.service.ts +72 -72
- package/src/module/master/controller/master.controller.ts +74 -74
- package/src/module/master/service/master.service.ts +486 -486
- 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/media.controller.ts +82 -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 +78 -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 +156 -156
- 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 +61 -61
- 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 +140 -140
- package/src/module/meta/service/populate-meta.service.ts +153 -153
- package/src/module/meta/service/preference.service.ts +16 -16
- package/src/module/meta/service/resolver.service.ts +256 -256
- 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 -110
- package/src/module/module/controller/menu.controller.ts +15 -15
- package/src/module/module/controller/module-access.controller.ts +132 -132
- 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 +326 -326
- 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 +23 -23
- 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 +138 -138
- package/src/module/notification/service/otp.service.ts +121 -121
- 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 +68 -68
- 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 +34 -34
- 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 +47 -47
- 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-master.entity.ts +27 -27
- 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 +219 -219
- package/src/module/workflow/repository/action.repository.ts +277 -277
- package/src/module/workflow/repository/activity-log.repository.ts +121 -121
- package/src/module/workflow/repository/comm-template.repository.ts +142 -142
- package/src/module/workflow/repository/form-master.repository.ts +61 -61
- 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 +118 -118
- package/src/module/workflow/repository/task.repository.ts +113 -113
- 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 +247 -247
- package/src/module/workflow/service/activity-log.service.ts +107 -107
- package/src/module/workflow/service/comm-template.service.ts +121 -121
- 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 +326 -326
- package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
- package/src/module/workflow/service/stage-group.service.ts +300 -300
- package/src/module/workflow/service/stage.service.ts +140 -140
- package/src/module/workflow/service/task.service.ts +504 -504
- package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
- package/src/module/workflow/service/workflow-meta.service.ts +564 -564
- 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 +343 -343
- 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 +23 -23
- 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/.claude/settings.local.json +0 -26
- package/.idea/250218_nodejs_core.iml +0 -9
- package/.idea/codeStyles/Project.xml +0 -59
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- 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/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/prettier.xml +0 -6
- package/.idea/vcs.xml +0 -6
- package/server.log +0 -850
package/.prettierrc
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{
|
|
2
|
-
"singleQuote": true,
|
|
3
|
-
"trailingComma": "all"
|
|
1
|
+
{
|
|
2
|
+
"singleQuote": true,
|
|
3
|
+
"trailingComma": "all"
|
|
4
4
|
}
|
package/README.md
CHANGED
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="120" alt="Nest Logo" /></a>
|
|
3
|
-
</p>
|
|
4
|
-
|
|
5
|
-
[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
|
|
6
|
-
[circleci-url]: https://circleci.com/gh/nestjs/nest
|
|
7
|
-
|
|
8
|
-
<p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p>
|
|
9
|
-
<p align="center">
|
|
10
|
-
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
|
|
11
|
-
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
|
|
12
|
-
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a>
|
|
13
|
-
<a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a>
|
|
14
|
-
<a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a>
|
|
15
|
-
<a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
|
|
16
|
-
<a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
|
|
17
|
-
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
|
|
18
|
-
<a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg" alt="Donate us"/></a>
|
|
19
|
-
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
|
|
20
|
-
<a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow" alt="Follow us on Twitter"></a>
|
|
21
|
-
</p>
|
|
22
|
-
<!--[](https://opencollective.com/nest#backer)
|
|
23
|
-
[](https://opencollective.com/nest#sponsor)-->
|
|
24
|
-
|
|
25
|
-
## Description
|
|
26
|
-
|
|
27
|
-
[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
|
|
28
|
-
|
|
29
|
-
## Project setup
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
$ npm install
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Compile and run the project
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
# development
|
|
39
|
-
$ npm run start
|
|
40
|
-
|
|
41
|
-
# watch mode
|
|
42
|
-
$ npm run start:dev
|
|
43
|
-
|
|
44
|
-
# production mode
|
|
45
|
-
$ npm run start:prod
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## Run tests
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
# unit tests
|
|
52
|
-
$ npm run test
|
|
53
|
-
|
|
54
|
-
# e2e tests
|
|
55
|
-
$ npm run test:e2e
|
|
56
|
-
|
|
57
|
-
# test coverage
|
|
58
|
-
$ npm run test:cov
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Deployment
|
|
62
|
-
|
|
63
|
-
When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information.
|
|
64
|
-
|
|
65
|
-
If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps:
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
$ npm install -g mau
|
|
69
|
-
$ mau deploy
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure.
|
|
73
|
-
|
|
74
|
-
## Resources
|
|
75
|
-
|
|
76
|
-
Check out a few resources that may come in handy when working with NestJS:
|
|
77
|
-
|
|
78
|
-
- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework.
|
|
79
|
-
- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy).
|
|
80
|
-
- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/).
|
|
81
|
-
- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks.
|
|
82
|
-
- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com).
|
|
83
|
-
- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com).
|
|
84
|
-
- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs).
|
|
85
|
-
- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com).
|
|
86
|
-
|
|
87
|
-
## Support
|
|
88
|
-
|
|
89
|
-
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).
|
|
90
|
-
|
|
91
|
-
## Stay in touch
|
|
92
|
-
|
|
93
|
-
- Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec)
|
|
94
|
-
- Website - [https://nestjs.com](https://nestjs.com/)
|
|
95
|
-
- Twitter - [@nestframework](https://twitter.com/nestframework)
|
|
96
|
-
|
|
97
|
-
## License
|
|
98
|
-
|
|
99
|
-
Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE).
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="120" alt="Nest Logo" /></a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
|
|
6
|
+
[circleci-url]: https://circleci.com/gh/nestjs/nest
|
|
7
|
+
|
|
8
|
+
<p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p>
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
|
|
11
|
+
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
|
|
12
|
+
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a>
|
|
13
|
+
<a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a>
|
|
14
|
+
<a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a>
|
|
15
|
+
<a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
|
|
16
|
+
<a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
|
|
17
|
+
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
|
|
18
|
+
<a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg" alt="Donate us"/></a>
|
|
19
|
+
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
|
|
20
|
+
<a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow" alt="Follow us on Twitter"></a>
|
|
21
|
+
</p>
|
|
22
|
+
<!--[](https://opencollective.com/nest#backer)
|
|
23
|
+
[](https://opencollective.com/nest#sponsor)-->
|
|
24
|
+
|
|
25
|
+
## Description
|
|
26
|
+
|
|
27
|
+
[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
|
|
28
|
+
|
|
29
|
+
## Project setup
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
$ npm install
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Compile and run the project
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# development
|
|
39
|
+
$ npm run start
|
|
40
|
+
|
|
41
|
+
# watch mode
|
|
42
|
+
$ npm run start:dev
|
|
43
|
+
|
|
44
|
+
# production mode
|
|
45
|
+
$ npm run start:prod
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Run tests
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# unit tests
|
|
52
|
+
$ npm run test
|
|
53
|
+
|
|
54
|
+
# e2e tests
|
|
55
|
+
$ npm run test:e2e
|
|
56
|
+
|
|
57
|
+
# test coverage
|
|
58
|
+
$ npm run test:cov
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Deployment
|
|
62
|
+
|
|
63
|
+
When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information.
|
|
64
|
+
|
|
65
|
+
If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
$ npm install -g mau
|
|
69
|
+
$ mau deploy
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure.
|
|
73
|
+
|
|
74
|
+
## Resources
|
|
75
|
+
|
|
76
|
+
Check out a few resources that may come in handy when working with NestJS:
|
|
77
|
+
|
|
78
|
+
- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework.
|
|
79
|
+
- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy).
|
|
80
|
+
- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/).
|
|
81
|
+
- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks.
|
|
82
|
+
- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com).
|
|
83
|
+
- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com).
|
|
84
|
+
- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs).
|
|
85
|
+
- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com).
|
|
86
|
+
|
|
87
|
+
## Support
|
|
88
|
+
|
|
89
|
+
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).
|
|
90
|
+
|
|
91
|
+
## Stay in touch
|
|
92
|
+
|
|
93
|
+
- Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec)
|
|
94
|
+
- Website - [https://nestjs.com](https://nestjs.com/)
|
|
95
|
+
- Twitter - [@nestframework](https://twitter.com/nestframework)
|
|
96
|
+
|
|
97
|
+
## License
|
|
98
|
+
|
|
99
|
+
Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE).
|
|
@@ -34,9 +34,9 @@ let RolesGuard = class RolesGuard {
|
|
|
34
34
|
}
|
|
35
35
|
const requiredModule = this.reflector.get('moduleCode', context.getHandler());
|
|
36
36
|
const requiredActions = this.reflector.get('actions', context.getHandler());
|
|
37
|
-
const roleAccess = await this.entityManager.query(`SELECT *
|
|
38
|
-
FROM cr_module_access
|
|
39
|
-
WHERE role_id = ${user['role_id']}
|
|
37
|
+
const roleAccess = await this.entityManager.query(`SELECT *
|
|
38
|
+
FROM cr_module_access
|
|
39
|
+
WHERE role_id = ${user['role_id']}
|
|
40
40
|
AND module_code = '${requiredModule}'`);
|
|
41
41
|
if (!roleAccess || roleAccess.length === 0) {
|
|
42
42
|
throw new common_1.ForbiddenException('Access denied: No permissions found for this module');
|
|
@@ -24,8 +24,8 @@ let AuthService = class AuthService {
|
|
|
24
24
|
}
|
|
25
25
|
async fcmtoken(fcmtoken, loggedInUser, ip, browser, os) {
|
|
26
26
|
const { id: userId, organization_id } = loggedInUser;
|
|
27
|
-
await this.dataSource.query(`UPDATE cr_user
|
|
28
|
-
SET fcm_token = ?, ip = ?, browser = ?, os = ?
|
|
27
|
+
await this.dataSource.query(`UPDATE cr_user
|
|
28
|
+
SET fcm_token = ?, ip = ?, browser = ?, os = ?
|
|
29
29
|
WHERE id = ? AND organization_id = ?`, [fcmtoken, ip, browser, os, userId, organization_id]);
|
|
30
30
|
return { message: 'FCM token updated successfully' };
|
|
31
31
|
}
|
|
@@ -117,10 +117,10 @@ let SavedFilterRepositoryService = class SavedFilterRepositoryService {
|
|
|
117
117
|
}));
|
|
118
118
|
}
|
|
119
119
|
async getSavedFilterByCode(code, loggedInUser) {
|
|
120
|
-
const [filterMaster] = await this.dataSource.query(`SELECT id, name, code
|
|
121
|
-
FROM cr_saved_filter_master
|
|
122
|
-
WHERE code = ? AND organization_id = ?
|
|
123
|
-
LIMIT 1
|
|
120
|
+
const [filterMaster] = await this.dataSource.query(`SELECT id, name, code
|
|
121
|
+
FROM cr_saved_filter_master
|
|
122
|
+
WHERE code = ? AND organization_id = ?
|
|
123
|
+
LIMIT 1
|
|
124
124
|
`, [code, loggedInUser.organization_id]);
|
|
125
125
|
if (!filterMaster) {
|
|
126
126
|
return null;
|
|
@@ -20,8 +20,8 @@ let FilterEvaluatorService = class FilterEvaluatorService {
|
|
|
20
20
|
}
|
|
21
21
|
async evaluateTriggerAttributes(oldEntity, newEntity, savedFilterCode) {
|
|
22
22
|
console.log('IN FILTER EVALUATOR SERVICE');
|
|
23
|
-
const triggerFilters = await this.dataSource.query(`SELECT *
|
|
24
|
-
FROM cr_saved_filter_detail
|
|
23
|
+
const triggerFilters = await this.dataSource.query(`SELECT *
|
|
24
|
+
FROM cr_saved_filter_detail
|
|
25
25
|
WHERE mapped_filter_code = ?`, [savedFilterCode]);
|
|
26
26
|
if (!triggerFilters || triggerFilters.length === 0) {
|
|
27
27
|
return true;
|
|
@@ -50,11 +50,11 @@ let FilterService = class FilterService {
|
|
|
50
50
|
});
|
|
51
51
|
whereSQL = `WHERE ${clauseParts.join(' AND ')}`;
|
|
52
52
|
}
|
|
53
|
-
const rawSQL = `
|
|
54
|
-
SELECT ${column} AS tab_value, COUNT(*) AS tab_value_count
|
|
55
|
-
FROM ${tableName}
|
|
56
|
-
${whereSQL}
|
|
57
|
-
GROUP BY ${column}
|
|
53
|
+
const rawSQL = `
|
|
54
|
+
SELECT ${column} AS tab_value, COUNT(*) AS tab_value_count
|
|
55
|
+
FROM ${tableName}
|
|
56
|
+
${whereSQL}
|
|
57
|
+
GROUP BY ${column}
|
|
58
58
|
`;
|
|
59
59
|
const rows = await this.dataSource.query(rawSQL, values);
|
|
60
60
|
const total = rows.reduce((sum, r) => sum + parseInt(r.tab_value_count, 10), 0);
|
|
@@ -193,8 +193,8 @@ let FilterService = class FilterService {
|
|
|
193
193
|
});
|
|
194
194
|
}
|
|
195
195
|
console.log('🟠 [FilterService] Constructed baseWhere clauses:', baseWhere);
|
|
196
|
-
const layoutPreference = await this.dataSource.query(`SELECT mapped_json
|
|
197
|
-
FROM cr_entity_layout_pref
|
|
196
|
+
const layoutPreference = await this.dataSource.query(`SELECT mapped_json
|
|
197
|
+
FROM cr_entity_layout_pref
|
|
198
198
|
WHERE user_id = ? AND mapped_entity_type = ? AND mapped_level_id = ? AND mapped_level_type = ? AND type = 'layout'`, [user_id, entity_type, level_id, level_type]);
|
|
199
199
|
const layout = layoutPreference?.[0]?.mapped_json?.quick_tab || {};
|
|
200
200
|
const showList = layout?.show_list?.map((val) => val.toLowerCase()) || [];
|
|
@@ -104,15 +104,15 @@ class CommunicationUsageExamples {
|
|
|
104
104
|
console.log('Gmail with attachments sent:', result);
|
|
105
105
|
}
|
|
106
106
|
async sendGmailWithTemplate() {
|
|
107
|
-
const htmlTemplate = `
|
|
108
|
-
<html>
|
|
109
|
-
<body>
|
|
110
|
-
<h2>Welcome {{userName}}!</h2>
|
|
111
|
-
<p>Thank you for joining our platform.</p>
|
|
112
|
-
<p>Your account ID is: {{accountId}}</p>
|
|
113
|
-
<a href="{{verificationLink}}">Verify your email</a>
|
|
114
|
-
</body>
|
|
115
|
-
</html>
|
|
107
|
+
const htmlTemplate = `
|
|
108
|
+
<html>
|
|
109
|
+
<body>
|
|
110
|
+
<h2>Welcome {{userName}}!</h2>
|
|
111
|
+
<p>Thank you for joining our platform.</p>
|
|
112
|
+
<p>Your account ID is: {{accountId}}</p>
|
|
113
|
+
<a href="{{verificationLink}}">Verify your email</a>
|
|
114
|
+
</body>
|
|
115
|
+
</html>
|
|
116
116
|
`;
|
|
117
117
|
const result = await this.communicationService.sendGenericMessage({
|
|
118
118
|
levelId: 1,
|
|
@@ -104,7 +104,7 @@ let IntegrationService = IntegrationService_1 = class IntegrationService {
|
|
|
104
104
|
}
|
|
105
105
|
async getAllIntegrationData(loggedInUser, integration_type) {
|
|
106
106
|
try {
|
|
107
|
-
const allIntegrationData = await this.dataSource.query(`SELECT *
|
|
107
|
+
const allIntegrationData = await this.dataSource.query(`SELECT *
|
|
108
108
|
FROM cr_integration_master`);
|
|
109
109
|
if (integration_type) {
|
|
110
110
|
return allIntegrationData.filter((data) => data.integration_type.toLowerCase() ===
|
|
@@ -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 cr_integration_config
|
|
33
|
-
WHERE level_id = ?
|
|
34
|
-
AND level_type = ?
|
|
35
|
-
AND status = 1
|
|
32
|
+
const configs = await this.datasource.query(`SELECT * FROM cr_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;
|
|
@@ -67,9 +67,9 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
67
67
|
}
|
|
68
68
|
else {
|
|
69
69
|
this.logger.warn(`No user-level configs found. Falling back to ORG-level`);
|
|
70
|
-
const fallbackConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
|
|
71
|
-
WHERE level_type = 'ORG'
|
|
72
|
-
AND integration_type = 'EMAIL'
|
|
70
|
+
const fallbackConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
|
|
71
|
+
WHERE level_type = 'ORG'
|
|
72
|
+
AND integration_type = 'EMAIL'
|
|
73
73
|
AND status = 1`);
|
|
74
74
|
this.logger.debug(`ORG-level configs: ${JSON.stringify(fallbackConfigs)}`);
|
|
75
75
|
if (!fallbackConfigs || fallbackConfigs.length === 0) {
|
|
@@ -127,10 +127,10 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
127
127
|
? [{ email: a.email }]
|
|
128
128
|
: []),
|
|
129
129
|
];
|
|
130
|
-
const userConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
|
|
131
|
-
WHERE level_id = ?
|
|
132
|
-
AND level_type = ?
|
|
133
|
-
AND status = 1
|
|
130
|
+
const userConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
|
|
131
|
+
WHERE level_id = ?
|
|
132
|
+
AND level_type = ?
|
|
133
|
+
AND status = 1
|
|
134
134
|
AND integration_type = 'EMAIL'`, [level_id, level_type]);
|
|
135
135
|
this.logger.debug(`User configs found: ${JSON.stringify(userConfigs)}`);
|
|
136
136
|
if (userConfigs && userConfigs.length > 0) {
|
|
@@ -155,10 +155,10 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
157
|
this.logger.log(`No user-level config found, checking ORG-level...`);
|
|
158
|
-
const orgConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
|
|
159
|
-
WHERE level_id = 1
|
|
160
|
-
AND level_type = 'ORG'
|
|
161
|
-
AND integration_type = 'EMAIL'
|
|
158
|
+
const orgConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
|
|
159
|
+
WHERE level_id = 1
|
|
160
|
+
AND level_type = 'ORG'
|
|
161
|
+
AND integration_type = 'EMAIL'
|
|
162
162
|
AND status = 1`, []);
|
|
163
163
|
this.logger.debug(`ORG configs found: ${JSON.stringify(orgConfigs)}`);
|
|
164
164
|
if (orgConfigs && orgConfigs.length > 0) {
|
|
@@ -195,8 +195,8 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
195
195
|
}
|
|
196
196
|
async getConfigCred(configId) {
|
|
197
197
|
this.logger.debug(`Fetching config JSON for configId=${configId}`);
|
|
198
|
-
const configRes = await this.datasource.query(`SELECT config_json
|
|
199
|
-
FROM cr_integration_config
|
|
198
|
+
const configRes = await this.datasource.query(`SELECT config_json
|
|
199
|
+
FROM cr_integration_config
|
|
200
200
|
WHERE id = ?`, [configId]);
|
|
201
201
|
this.logger.debug(`Config fetch result: ${JSON.stringify(configRes)}`);
|
|
202
202
|
return configRes?.[0]?.config_json || null;
|
|
@@ -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 cr_list_master
|
|
135
|
+
const data = await this.dataSource.query(`SELECT name AS label, type AS value
|
|
136
|
+
FROM cr_list_master
|
|
137
137
|
WHERE organization_id = ? AND source = ?`, [loggedInUser.organization_id, source]);
|
|
138
138
|
return data;
|
|
139
139
|
}
|
|
@@ -81,8 +81,8 @@ let ListMasterService = class ListMasterService {
|
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
else {
|
|
84
|
-
qb.andWhere(`${tableName}.parent_id = :organization_id
|
|
85
|
-
AND ${tableName}.type = 'BRN'
|
|
84
|
+
qb.andWhere(`${tableName}.parent_id = :organization_id
|
|
85
|
+
AND ${tableName}.type = 'BRN'
|
|
86
86
|
`, {
|
|
87
87
|
organization_id: loggedInUser.organization_id,
|
|
88
88
|
});
|
|
@@ -95,10 +95,10 @@ let FieldMapperService = class FieldMapperService extends entity_service_impl_se
|
|
|
95
95
|
await super.getResolvedEntityDataByDataSource(entityType, parent_id, userData);
|
|
96
96
|
}
|
|
97
97
|
else {
|
|
98
|
-
const relations = await this.datasource.query(`SELECT target_entity_id
|
|
99
|
-
FROM cr_entity_relation_data
|
|
100
|
-
WHERE source_entity_type = ?
|
|
101
|
-
AND source_entity_id = ?
|
|
98
|
+
const relations = await this.datasource.query(`SELECT target_entity_id
|
|
99
|
+
FROM cr_entity_relation_data
|
|
100
|
+
WHERE source_entity_type = ?
|
|
101
|
+
AND source_entity_id = ?
|
|
102
102
|
AND target_entity_type = ?`, [parent_type, parent_id, field.mapped_entity_type]);
|
|
103
103
|
const targetEntityIds = relations.map((r) => r.target_entity_id);
|
|
104
104
|
if (targetEntityIds.length > 0) {
|
|
@@ -27,8 +27,8 @@ let MapperService = class MapperService extends entity_service_impl_service_1.En
|
|
|
27
27
|
async getByMappedEntityType(mappedEntityType, filter) {
|
|
28
28
|
if (!mappedEntityType)
|
|
29
29
|
return [];
|
|
30
|
-
const mappers = await this.dataSource.query(`SELECT id, name, code, status
|
|
31
|
-
FROM cr_mapper
|
|
30
|
+
const mappers = await this.dataSource.query(`SELECT id, name, code, status
|
|
31
|
+
FROM cr_mapper
|
|
32
32
|
WHERE mapped_entity_type = ? AND (-1 = ? OR name LIKE ? OR code LIKE ?)`, [mappedEntityType, 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.getEntity(entityType, id, loggedInUser);
|
|
152
|
-
const relatedEntities = await this.dataSource.query(`SELECT * FROM cr_entity_relation_data WHERE source_entity_id = ? AND target_entity_type IN (
|
|
152
|
+
const relatedEntities = await this.dataSource.query(`SELECT * FROM cr_entity_relation_data WHERE source_entity_id = ? AND target_entity_type IN (
|
|
153
153
|
SELECT target_entity_type FROM cr_entity_relation WHERE source_entity_type = ?)`, [id, entityType]);
|
|
154
154
|
const response = {
|
|
155
155
|
entity_type: entityType,
|
|
@@ -207,8 +207,8 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
207
207
|
targetEntityId = createdEntity.insertId || createdEntity.id;
|
|
208
208
|
entityData = await this.getEntity(targetEntityType, targetEntityId, loggedInUser);
|
|
209
209
|
}
|
|
210
|
-
await this.dataSource.query(`INSERT INTO cr_entity_relation_data
|
|
211
|
-
(organization_id, source_entity_id, source_entity_type, target_entity_id, target_entity_type, relation_type)
|
|
210
|
+
await this.dataSource.query(`INSERT INTO cr_entity_relation_data
|
|
211
|
+
(organization_id, source_entity_id, source_entity_type, target_entity_id, target_entity_type, relation_type)
|
|
212
212
|
VALUES (?, ?, ?, ?, ?,?)`, [
|
|
213
213
|
organizationId,
|
|
214
214
|
id,
|
|
@@ -253,8 +253,8 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
253
253
|
entityData.enterprise_id = loggedInUser.enterprise_id;
|
|
254
254
|
}
|
|
255
255
|
if (!entityData.code && loggedInUser) {
|
|
256
|
-
const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
|
|
257
|
-
FROM ${tableName}
|
|
256
|
+
const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
|
|
257
|
+
FROM ${tableName}
|
|
258
258
|
WHERE entity_type = ?`, [entityData.entity_type]);
|
|
259
259
|
let maxSeqNo = result?.[0]?.max_seq_no ? Number(result[0].max_seq_no) : 0;
|
|
260
260
|
maxSeqNo += 1;
|
|
@@ -365,13 +365,13 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
365
365
|
return result[0].db_table_name;
|
|
366
366
|
}
|
|
367
367
|
async getAttributeCodes(entityType, organizationId) {
|
|
368
|
-
const result = await this.dataSource.query(`SELECT attribute_key,
|
|
369
|
-
MAX(db_datatype) AS db_datatype,
|
|
370
|
-
MAX(element_type) AS element_type,
|
|
371
|
-
MAX(is_hidden) AS is_hidden
|
|
372
|
-
FROM cr_attribute_master
|
|
373
|
-
WHERE mapped_entity_type = ? AND organization_id = ?
|
|
374
|
-
and (is_hidden IS NULL OR is_hidden = 0) -- Exclude hidden attributes
|
|
368
|
+
const result = await this.dataSource.query(`SELECT attribute_key,
|
|
369
|
+
MAX(db_datatype) AS db_datatype,
|
|
370
|
+
MAX(element_type) AS element_type,
|
|
371
|
+
MAX(is_hidden) AS is_hidden
|
|
372
|
+
FROM cr_attribute_master
|
|
373
|
+
WHERE mapped_entity_type = ? AND organization_id = ?
|
|
374
|
+
and (is_hidden IS NULL OR is_hidden = 0) -- Exclude hidden attributes
|
|
375
375
|
GROUP BY attribute_key`, [entityType, organizationId]);
|
|
376
376
|
if (!result.length) {
|
|
377
377
|
console.log(`No attributes found for entity '${entityType}' and org '${organizationId}'`);
|
|
@@ -403,15 +403,15 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
403
403
|
}
|
|
404
404
|
async getCode(entityType, loggedInUser) {
|
|
405
405
|
const organizationId = loggedInUser.organization_id;
|
|
406
|
-
const result = await this.dataSource.query(`SELECT db_table_name
|
|
407
|
-
FROM cr_entity_master
|
|
406
|
+
const result = await this.dataSource.query(`SELECT db_table_name
|
|
407
|
+
FROM cr_entity_master
|
|
408
408
|
WHERE mapped_entity_type = ? AND organization_id = ?`, [entityType, organizationId]);
|
|
409
409
|
if (!result.length) {
|
|
410
410
|
throw new Error(`Entity type '${entityType}' not found in cr_entity_master for org '${organizationId}'`);
|
|
411
411
|
}
|
|
412
412
|
const tableName = result[0].db_table_name;
|
|
413
|
-
const seqResult = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
|
|
414
|
-
FROM \`${tableName}\`
|
|
413
|
+
const seqResult = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
|
|
414
|
+
FROM \`${tableName}\`
|
|
415
415
|
WHERE entity_type = ?`, [entityType]);
|
|
416
416
|
let maxSeqNo = seqResult?.[0]?.max_seq_no
|
|
417
417
|
? 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 COUNT(1) seq_no
|
|
126
|
+
const query = `SELECT COUNT(1) seq_no
|
|
127
127
|
FROM ${tableName} WHERE 1=1 `;
|
|
128
128
|
const argsObjectList = [];
|
|
129
129
|
const result = await this.entityManager.query(query, argsObjectList);
|
|
@@ -70,9 +70,9 @@ let EntityMasterService = class EntityMasterService {
|
|
|
70
70
|
if (!entityMasterData) {
|
|
71
71
|
throw new Error(`Entity master with mapped_entity_type "${entityType}" not found.`);
|
|
72
72
|
}
|
|
73
|
-
const attributes = await this.dataSource.query(`SELECT *
|
|
74
|
-
FROM cr_attribute_master
|
|
75
|
-
WHERE mapped_entity_type = ?
|
|
73
|
+
const attributes = await this.dataSource.query(`SELECT *
|
|
74
|
+
FROM cr_attribute_master
|
|
75
|
+
WHERE mapped_entity_type = ?
|
|
76
76
|
AND organization_id = ? `, [entityMasterData.mapped_entity_type, loggedInUser.organization_id]);
|
|
77
77
|
entityMasterData['attribute_list'] = attributes;
|
|
78
78
|
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 cr_entity_relation
|
|
22
|
+
const relations = await this.dataSource.query(`SELECT name as label, target_entity_type as value, id
|
|
23
|
+
FROM cr_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 cr_entity_master
|
|
26
|
+
const [entity] = await this.dataSource.query(`SELECT name as label
|
|
27
|
+
FROM cr_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 cr_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 cr_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 cr_list_master_items
|
|
55
|
-
WHERE code = ?
|
|
53
|
+
const statusList = await repo.query(`SELECT id
|
|
54
|
+
FROM cr_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}`);
|