rez_core 3.1.192 → 3.1.194
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 +25 -25
- package/dist/module/listmaster/service/list-master-item.service.js +2 -2
- package/dist/module/listmaster/service/list-master.service.js +2 -2
- package/dist/module/mapper/service/field-mapper.service.js +4 -4
- package/dist/module/mapper/service/mapper.service.js +4 -4
- 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/module/repository/menu.repository.js +12 -12
- package/dist/module/notification/service/notification.service.d.ts +3 -1
- package/dist/module/notification/service/notification.service.js +31 -23
- package/dist/module/notification/service/notification.service.js.map +1 -1
- 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/controller/activity-log.controller.d.ts +0 -2
- package/dist/module/workflow/repository/action.repository.js +16 -16
- package/dist/module/workflow/repository/activity-log.repository.d.ts +3 -3
- package/dist/module/workflow/repository/activity-log.repository.js +29 -11
- package/dist/module/workflow/repository/activity-log.repository.js.map +1 -1
- 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/activity-log.service.d.ts +0 -2
- 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.d.ts +3 -1
- package/dist/module/workflow/service/task.service.js +58 -45
- package/dist/module/workflow/service/task.service.js.map +1 -1
- 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 +281 -281
- package/src/module/enterprise/service/brand.service.ts +5 -5
- package/src/module/enterprise/service/enterprise.service.ts +16 -16
- package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
- package/src/module/enterprise/service/organization.service.ts +145 -145
- package/src/module/filter/controller/filter.controller.ts +84 -84
- package/src/module/filter/dto/filter-request.dto.ts +38 -38
- package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
- package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
- package/src/module/filter/filter.module.ts +31 -31
- package/src/module/filter/repository/saved-filter.repository.ts +168 -168
- package/src/module/filter/service/filter-evaluator.service.ts +86 -86
- package/src/module/filter/service/filter.service.ts +868 -868
- package/src/module/filter/service/saved-filter.service.ts +170 -170
- package/src/module/ics/controller/ics.controller.ts +21 -21
- package/src/module/ics/dto/ics.dto.ts +55 -55
- package/src/module/ics/ics.module.ts +13 -13
- package/src/module/ics/service/ics.service.ts +57 -57
- package/src/module/integration/controller/calender-event.controller.ts +31 -31
- package/src/module/integration/controller/integration.controller.ts +662 -662
- package/src/module/integration/controller/wrapper.controller.ts +37 -37
- package/src/module/integration/dto/create-config.dto.ts +526 -526
- package/src/module/integration/entity/integration-config.entity.ts +112 -112
- package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
- package/src/module/integration/entity/integration-source.entity.ts +17 -17
- package/src/module/integration/entity/user-integration.entity.ts +71 -71
- package/src/module/integration/examples/usage.example.ts +338 -338
- package/src/module/integration/factories/base.factory.ts +7 -7
- package/src/module/integration/factories/email.factory.ts +49 -49
- package/src/module/integration/factories/integration.factory.ts +121 -121
- package/src/module/integration/factories/sms.factory.ts +51 -51
- package/src/module/integration/factories/telephone.factory.ts +41 -41
- package/src/module/integration/factories/whatsapp.factory.ts +56 -56
- package/src/module/integration/integration.module.ts +110 -110
- package/src/module/integration/service/calendar-event.service.ts +118 -118
- package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
- package/src/module/integration/service/integration-queue.service.ts +229 -229
- package/src/module/integration/service/integration.service.ts +2572 -2572
- package/src/module/integration/service/oauth.service.ts +224 -224
- package/src/module/integration/service/wrapper.service.ts +457 -457
- package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
- package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
- package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
- package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
- package/src/module/integration/strategies/integration.strategy.ts +97 -97
- package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
- package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
- package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
- package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
- package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
- package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
- package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
- package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
- package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
- package/src/module/layout/controller/layout.controller.ts +47 -47
- package/src/module/layout/entity/header-items.entity.ts +28 -28
- package/src/module/layout/entity/header-section.entity.ts +19 -19
- package/src/module/layout/layout.module.ts +21 -21
- package/src/module/layout/repository/header-items.repository.ts +18 -18
- package/src/module/layout/repository/header-section.repository.ts +22 -22
- package/src/module/layout/service/header-section.service.ts +25 -25
- package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
- package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
- package/src/module/layout_preference/layout_preference.module.ts +18 -18
- package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
- package/src/module/layout_preference/service/layout_preference.service.ts +172 -172
- package/src/module/lead/controller/lead.controller.ts +30 -30
- package/src/module/lead/lead.module.ts +14 -14
- package/src/module/lead/repository/lead.repository.ts +41 -41
- package/src/module/lead/service/lead.service.ts +54 -54
- package/src/module/listmaster/controller/list-master.controller.ts +187 -187
- package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
- package/src/module/listmaster/entity/list-master.entity.ts +32 -32
- package/src/module/listmaster/listmaster.module.ts +44 -44
- package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
- package/src/module/listmaster/repository/list-master.repository.ts +46 -46
- package/src/module/listmaster/service/list-master-engine.ts +19 -19
- package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
- package/src/module/listmaster/service/list-master-item.service.ts +292 -292
- package/src/module/listmaster/service/list-master-registry.ts +15 -15
- package/src/module/listmaster/service/list-master.service.ts +424 -424
- package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
- package/src/module/mapper/controller/mapper.controller.ts +15 -15
- package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
- package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
- package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
- package/src/module/mapper/entity/mapper.entity.ts +16 -16
- package/src/module/mapper/mapper.module.ts +34 -34
- package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
- package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
- package/src/module/mapper/repository/mapper.repository.ts +15 -15
- package/src/module/mapper/service/field-mapper.service.ts +245 -245
- package/src/module/mapper/service/mapper.service.ts +74 -74
- package/src/module/master/controller/master.controller.ts +74 -74
- package/src/module/master/service/master.service.ts +483 -483
- package/src/module/meta/controller/app-master.controller.ts +38 -38
- package/src/module/meta/controller/attribute-master.controller.ts +66 -66
- package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
- package/src/module/meta/controller/entity-master.controller.ts +28 -28
- package/src/module/meta/controller/entity-relation.controller.ts +36 -36
- package/src/module/meta/controller/entity.controller.ts +385 -385
- package/src/module/meta/controller/entity.public.controller.ts +75 -75
- package/src/module/meta/controller/media.controller.ts +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 +158 -158
- package/src/module/meta/repository/app-master.repository.ts +20 -20
- package/src/module/meta/repository/attribute-master.repository.ts +110 -110
- package/src/module/meta/repository/entity-master.repository.ts +69 -69
- package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
- package/src/module/meta/repository/entity-table.repository.ts +53 -53
- package/src/module/meta/repository/media-data.repository.ts +50 -50
- package/src/module/meta/repository/preference.repository.ts +20 -20
- package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
- package/src/module/meta/repository/view-master.repository.ts +42 -42
- package/src/module/meta/service/app-master.service.ts +37 -37
- package/src/module/meta/service/attribute-master.service.ts +117 -117
- package/src/module/meta/service/common.service.ts +9 -9
- package/src/module/meta/service/entity-dynamic.service.ts +762 -762
- package/src/module/meta/service/entity-list.service.ts +205 -205
- package/src/module/meta/service/entity-master.service.ts +164 -164
- package/src/module/meta/service/entity-realation-data.service.ts +9 -9
- package/src/module/meta/service/entity-relation.service.ts +69 -69
- package/src/module/meta/service/entity-service-impl.service.ts +524 -524
- package/src/module/meta/service/entity-table-column.service.ts +39 -39
- package/src/module/meta/service/entity-table.service.ts +150 -150
- package/src/module/meta/service/entity-validation.service.ts +185 -185
- package/src/module/meta/service/entity.service.ts +67 -67
- package/src/module/meta/service/field-group.service.ts +103 -103
- package/src/module/meta/service/media-data.service.ts +149 -149
- package/src/module/meta/service/populate-meta.service.ts +173 -173
- package/src/module/meta/service/preference.service.ts +16 -16
- package/src/module/meta/service/resolver.service.ts +240 -240
- package/src/module/meta/service/section-master.service.ts +104 -104
- package/src/module/meta/service/update-form-json.service.ts +22 -22
- package/src/module/meta/service/user-app-mapping.service.ts +17 -17
- package/src/module/meta/service/view-master.service.ts +111 -111
- package/src/module/module/controller/menu.controller.ts +15 -15
- package/src/module/module/controller/module-access.controller.ts +134 -134
- package/src/module/module/entity/menu.entity.ts +43 -43
- package/src/module/module/entity/module-access.entity.ts +25 -25
- package/src/module/module/entity/module-action.entity.ts +17 -17
- package/src/module/module/entity/module.entity.ts +52 -52
- package/src/module/module/module.module.ts +42 -42
- package/src/module/module/repository/menu.repository.ts +184 -184
- package/src/module/module/repository/module-access.repository.ts +344 -344
- package/src/module/module/service/menu.service.ts +82 -82
- package/src/module/module/service/module-access.service.ts +209 -209
- package/src/module/notification/controller/notification.controller.ts +58 -58
- package/src/module/notification/controller/otp.controller.ts +117 -117
- package/src/module/notification/entity/notification.entity.ts +26 -26
- package/src/module/notification/entity/otp.entity.ts +28 -28
- package/src/module/notification/firebase-admin.config.ts +22 -22
- package/src/module/notification/notification.module.ts +69 -69
- package/src/module/notification/repository/otp.repository.ts +27 -27
- package/src/module/notification/service/email.service.ts +127 -127
- package/src/module/notification/service/notification.service.ts +164 -138
- package/src/module/notification/service/otp.service.ts +125 -125
- package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
- package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
- package/src/module/third-party-module/service/api-registry.service.ts +13 -13
- package/src/module/third-party-module/third-party.module.ts +12 -12
- package/src/module/user/controller/login.controller.ts +197 -197
- package/src/module/user/controller/user.controller.ts +40 -40
- package/src/module/user/dto/create-user.dto.ts +62 -62
- package/src/module/user/dto/update-user.dto.ts +4 -4
- package/src/module/user/entity/role.entity.ts +33 -33
- package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
- package/src/module/user/entity/user-session.entity.ts +61 -61
- package/src/module/user/entity/user.entity.ts +71 -71
- package/src/module/user/repository/role.repository.ts +96 -96
- package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
- package/src/module/user/repository/user.repository.ts +50 -50
- package/src/module/user/repository/userSession.repository.ts +33 -33
- package/src/module/user/service/login.service.ts +280 -280
- package/src/module/user/service/role.service.ts +189 -189
- package/src/module/user/service/user-role-mapping.service.ts +98 -98
- package/src/module/user/service/user-session.service.ts +168 -168
- package/src/module/user/service/user.service.ts +353 -353
- package/src/module/user/user.module.ts +65 -65
- package/src/module/workflow/controller/action-category.controller.ts +54 -54
- package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
- package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
- package/src/module/workflow/controller/action.controller.ts +95 -95
- package/src/module/workflow/controller/activity-log.controller.ts +55 -55
- package/src/module/workflow/controller/comm-template.controller.ts +41 -41
- package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
- package/src/module/workflow/controller/form-master.controller.ts +43 -43
- package/src/module/workflow/controller/stage-group.controller.ts +48 -48
- package/src/module/workflow/controller/stage.controller.ts +50 -50
- package/src/module/workflow/controller/task.controller.ts +77 -77
- package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
- package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
- package/src/module/workflow/controller/workflow.controller.ts +67 -67
- package/src/module/workflow/entity/action-category.entity.ts +38 -38
- package/src/module/workflow/entity/action-data.entity.ts +55 -55
- package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
- package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
- package/src/module/workflow/entity/action.entity.ts +50 -50
- package/src/module/workflow/entity/activity-log.entity.ts +43 -43
- package/src/module/workflow/entity/comm-template.entity.ts +43 -43
- package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
- package/src/module/workflow/entity/form.entity.ts +25 -25
- package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
- package/src/module/workflow/entity/stage-group.entity.ts +23 -23
- package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
- package/src/module/workflow/entity/stage.entity.ts +20 -20
- package/src/module/workflow/entity/task-data.entity.ts +88 -88
- package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
- package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
- package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
- package/src/module/workflow/entity/workflow.entity.ts +20 -20
- package/src/module/workflow/repository/action-category.repository.ts +79 -79
- package/src/module/workflow/repository/action-data.repository.ts +242 -242
- package/src/module/workflow/repository/action.repository.ts +277 -277
- package/src/module/workflow/repository/activity-log.repository.ts +149 -121
- package/src/module/workflow/repository/comm-template.repository.ts +149 -149
- package/src/module/workflow/repository/form-master.repository.ts +59 -59
- package/src/module/workflow/repository/stage-group.repository.ts +176 -176
- package/src/module/workflow/repository/stage-movement.repository.ts +227 -227
- package/src/module/workflow/repository/stage.repository.ts +172 -172
- package/src/module/workflow/repository/task.repository.ts +117 -117
- package/src/module/workflow/repository/workflow.repository.ts +42 -42
- package/src/module/workflow/service/action-category.service.ts +33 -33
- package/src/module/workflow/service/action-data.service.ts +62 -62
- package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
- package/src/module/workflow/service/action-template-mapping.service.ts +55 -55
- package/src/module/workflow/service/action.service.ts +263 -263
- package/src/module/workflow/service/activity-log.service.ts +107 -107
- package/src/module/workflow/service/comm-template.service.ts +176 -176
- package/src/module/workflow/service/entity-modification.service.ts +67 -67
- package/src/module/workflow/service/form-master.service.ts +35 -35
- package/src/module/workflow/service/populate-workflow.service.ts +303 -303
- package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
- package/src/module/workflow/service/stage-group.service.ts +330 -330
- package/src/module/workflow/service/stage.service.ts +199 -199
- package/src/module/workflow/service/task.service.ts +561 -531
- package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
- package/src/module/workflow/service/workflow-meta.service.ts +581 -581
- package/src/module/workflow/service/workflow.service.ts +205 -205
- package/src/module/workflow/workflow.module.ts +174 -174
- package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
- package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
- package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
- package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
- package/src/module/workflow-automation/interface/action.interface.ts +5 -5
- package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
- package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
- package/src/module/workflow-automation/service/workflow-automation.service.ts +345 -345
- package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
- package/src/resources/dev.properties.yaml +30 -30
- package/src/resources/local.properties.yaml +27 -27
- package/src/resources/properties.module.ts +12 -12
- package/src/resources/properties.yaml.ts +11 -11
- package/src/resources/uat.properties.yaml +15 -15
- package/src/utils/dto/excel-data.dto.ts +14 -14
- package/src/utils/dto/excelsheet-data.dto.ts +5 -5
- package/src/utils/service/base64util.service.ts +18 -18
- package/src/utils/service/clockIDGenUtil.service.ts +21 -21
- package/src/utils/service/codeGenerator.service.ts +22 -22
- package/src/utils/service/dateUtil.service.ts +17 -17
- package/src/utils/service/encryptUtil.service.ts +97 -97
- package/src/utils/service/excel-helper.service.ts +72 -72
- package/src/utils/service/excelUtil.service.ts +15 -15
- package/src/utils/service/file-util.service.ts +11 -11
- package/src/utils/service/json-util.service.ts +23 -23
- package/src/utils/service/loggingUtil.service.ts +34 -34
- package/src/utils/service/reflection-helper.service.ts +62 -62
- package/src/utils/service/wbsCodeGen.service.ts +8 -8
- package/src/utils/utils.module.ts +25 -25
- package/tsconfig.build.json +4 -4
- package/tsconfig.json +24 -24
- package/.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
|
@@ -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}`);
|
|
@@ -125,12 +125,12 @@ let ResolverService = class ResolverService {
|
|
|
125
125
|
displayValue === '') {
|
|
126
126
|
return displayValue;
|
|
127
127
|
}
|
|
128
|
-
const [attr] = await this.dataSource.query(`SELECT * FROM cr_entity_attribute
|
|
128
|
+
const [attr] = await this.dataSource.query(`SELECT * FROM cr_entity_attribute
|
|
129
129
|
WHERE mapped_entity_type = ? AND organization_id = ? AND attribute_key = ?`, [entityType, loggedInUser.organization_id, attrKey]);
|
|
130
130
|
if (!attr)
|
|
131
131
|
return displayValue;
|
|
132
132
|
if (attr.data_source_type === 'entity') {
|
|
133
|
-
const [entityDef] = await this.dataSource.query(`SELECT * FROM cr_entity_master
|
|
133
|
+
const [entityDef] = await this.dataSource.query(`SELECT * FROM cr_entity_master
|
|
134
134
|
WHERE mapped_entity_type = ? AND organization_id = ?`, [attr.datasource_list, loggedInUser.organization_id]);
|
|
135
135
|
if (!entityDef)
|
|
136
136
|
return displayValue;
|
|
@@ -145,7 +145,7 @@ let ResolverService = class ResolverService {
|
|
|
145
145
|
return item?.id ?? displayValue;
|
|
146
146
|
}
|
|
147
147
|
else if (attr.data_source_type === 'master') {
|
|
148
|
-
const [item] = await this.dataSource.query(`SELECT id FROM cr_list_master_items
|
|
148
|
+
const [item] = await this.dataSource.query(`SELECT id FROM cr_list_master_items
|
|
149
149
|
WHERE ${attr.data_source_attribute} = ? AND organization_id = ?`, [displayValue, loggedInUser.organization_id]);
|
|
150
150
|
return item?.id ?? displayValue;
|
|
151
151
|
}
|
|
@@ -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 eth_school_profile s
|
|
111
|
-
WHERE s.id = ?
|
|
108
|
+
const [sch] = await this.dataSource.query(`
|
|
109
|
+
SELECT s.brand_id, s.organization_id
|
|
110
|
+
FROM eth_school_profile s
|
|
111
|
+
WHERE s.id = ?
|
|
112
112
|
`, [levelId]);
|
|
113
113
|
const brandId = sch?.brand_id;
|
|
114
114
|
const orgId = sch?.organization_id;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { DataSource } from 'typeorm';
|
|
2
2
|
import { MediaDataService } from 'src/module/meta/service/media-data.service';
|
|
3
3
|
import * as admin from 'firebase-admin';
|
|
4
|
+
import { ConfigService } from '@nestjs/config';
|
|
4
5
|
export declare class NotificationsService {
|
|
5
6
|
private readonly dataSource;
|
|
6
7
|
private readonly mediaDataService;
|
|
8
|
+
private readonly configService;
|
|
7
9
|
private readonly firebaseAdmin;
|
|
8
|
-
constructor(dataSource: DataSource, mediaDataService: MediaDataService, firebaseAdmin: typeof admin);
|
|
10
|
+
constructor(dataSource: DataSource, mediaDataService: MediaDataService, configService: ConfigService, firebaseAdmin: typeof admin);
|
|
9
11
|
private tokens;
|
|
10
12
|
saveToken(userId: string | undefined, token: string): Promise<{
|
|
11
13
|
success: boolean;
|
|
@@ -16,10 +16,13 @@ exports.NotificationsService = void 0;
|
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const typeorm_1 = require("typeorm");
|
|
18
18
|
const media_data_service_1 = require("../../meta/service/media-data.service");
|
|
19
|
+
const axios_1 = require("axios");
|
|
20
|
+
const config_1 = require("@nestjs/config");
|
|
19
21
|
let NotificationsService = class NotificationsService {
|
|
20
|
-
constructor(dataSource, mediaDataService, firebaseAdmin) {
|
|
22
|
+
constructor(dataSource, mediaDataService, configService, firebaseAdmin) {
|
|
21
23
|
this.dataSource = dataSource;
|
|
22
24
|
this.mediaDataService = mediaDataService;
|
|
25
|
+
this.configService = configService;
|
|
23
26
|
this.firebaseAdmin = firebaseAdmin;
|
|
24
27
|
this.tokens = new Map();
|
|
25
28
|
}
|
|
@@ -63,14 +66,11 @@ let NotificationsService = class NotificationsService {
|
|
|
63
66
|
const isReadBool = String(filterQuery.is_read).toLowerCase() === 'true';
|
|
64
67
|
isReadFilter = isReadBool ? 1 : 0;
|
|
65
68
|
}
|
|
66
|
-
let query = `
|
|
67
|
-
SELECT
|
|
68
|
-
n
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
FROM cr_notification n
|
|
72
|
-
LEFT JOIN eth_user_profile u ON n.user_id = u.parent_id
|
|
73
|
-
WHERE n.user_id = ? AND n.level_id = ? AND n.level_type = ?
|
|
69
|
+
let query = `
|
|
70
|
+
SELECT
|
|
71
|
+
n.*
|
|
72
|
+
FROM cr_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) {
|
|
@@ -82,25 +82,32 @@ let NotificationsService = class NotificationsService {
|
|
|
82
82
|
const mediaCache = new Map();
|
|
83
83
|
for (const notification of notifications) {
|
|
84
84
|
notification.is_read = !!notification.is_read;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
|
|
85
|
+
try {
|
|
86
|
+
const baseUrl = this.configService.get('REDIRECT_BE_URL');
|
|
87
|
+
const queryParams = new URLSearchParams({
|
|
88
|
+
loggedInUser: JSON.stringify(loggedInUser),
|
|
89
|
+
}).toString();
|
|
90
|
+
const response = await axios_1.default.get(`${baseUrl}/users/profile-image-url/${notification?.user_id}?entity_type=UPR&${queryParams}`, {
|
|
91
|
+
headers: {
|
|
92
|
+
'Content-Type': 'application/json',
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
console.log('✅ Internal Entity API response:', response.data);
|
|
96
|
+
notification.user_name = response.data.name;
|
|
97
|
+
notification.user_profile = response.data.profile_image;
|
|
91
98
|
}
|
|
92
|
-
|
|
93
|
-
|
|
99
|
+
catch (error) {
|
|
100
|
+
console.error('⚠️ Internal Entity API call failed:', error.message);
|
|
94
101
|
}
|
|
95
102
|
}
|
|
96
103
|
return notifications;
|
|
97
104
|
}
|
|
98
105
|
async markAllAsRead(loggedInUser) {
|
|
99
106
|
const { id, level_id, level_type } = loggedInUser;
|
|
100
|
-
const query = `
|
|
101
|
-
UPDATE cr_notification
|
|
102
|
-
SET is_read = 1
|
|
103
|
-
WHERE user_id = ? AND level_id = ? AND level_type = ? AND is_read = 0
|
|
107
|
+
const query = `
|
|
108
|
+
UPDATE cr_notification
|
|
109
|
+
SET is_read = 1
|
|
110
|
+
WHERE user_id = ? AND level_id = ? AND level_type = ? AND is_read = 0
|
|
104
111
|
`;
|
|
105
112
|
const params = [id, level_id, level_type];
|
|
106
113
|
const result = await this.dataSource.query(query, params);
|
|
@@ -110,8 +117,9 @@ let NotificationsService = class NotificationsService {
|
|
|
110
117
|
exports.NotificationsService = NotificationsService;
|
|
111
118
|
exports.NotificationsService = NotificationsService = __decorate([
|
|
112
119
|
(0, common_1.Injectable)(),
|
|
113
|
-
__param(
|
|
120
|
+
__param(3, (0, common_1.Inject)('FIREBASE_ADMIN')),
|
|
114
121
|
__metadata("design:paramtypes", [typeorm_1.DataSource,
|
|
115
|
-
media_data_service_1.MediaDataService,
|
|
122
|
+
media_data_service_1.MediaDataService,
|
|
123
|
+
config_1.ConfigService, Object])
|
|
116
124
|
], NotificationsService);
|
|
117
125
|
//# sourceMappingURL=notification.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.service.js","sourceRoot":"","sources":["../../../../src/module/notification/service/notification.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,qCAAqC;AACrC,8EAA8E;
|
|
1
|
+
{"version":3,"file":"notification.service.js","sourceRoot":"","sources":["../../../../src/module/notification/service/notification.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -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') {
|
|
@@ -6,8 +6,6 @@ export declare class ActivityLogController {
|
|
|
6
6
|
user: any;
|
|
7
7
|
}, mapped_entity_type: string, mapped_entity_id: string, category: string): Promise<{
|
|
8
8
|
category: string;
|
|
9
|
-
user_name: any;
|
|
10
|
-
profile: any;
|
|
11
9
|
created_date: string | null;
|
|
12
10
|
mapped_entity_type: string;
|
|
13
11
|
mapped_entity_id: string;
|
|
@@ -24,10 +24,10 @@ let ActionRepository = class ActionRepository {
|
|
|
24
24
|
}
|
|
25
25
|
async getReasonCode(loggedInUser) {
|
|
26
26
|
const { organization_id } = loggedInUser;
|
|
27
|
-
const result = await this.dataSource.query(`
|
|
28
|
-
SELECT name, type
|
|
29
|
-
FROM cr_list_master
|
|
30
|
-
WHERE organization_id = ? AND source = 'master'
|
|
27
|
+
const result = await this.dataSource.query(`
|
|
28
|
+
SELECT name, type
|
|
29
|
+
FROM cr_list_master
|
|
30
|
+
WHERE organization_id = ? AND source = 'master'
|
|
31
31
|
`, [organization_id]);
|
|
32
32
|
const formatted = result.map((item) => ({
|
|
33
33
|
label: item.name,
|
|
@@ -40,10 +40,10 @@ let ActionRepository = class ActionRepository {
|
|
|
40
40
|
if (!list_type) {
|
|
41
41
|
throw new common_1.BadRequestException('list_type is required');
|
|
42
42
|
}
|
|
43
|
-
const result = await this.dataSource.query(`
|
|
44
|
-
SELECT name, id
|
|
45
|
-
FROM cr_list_master_items
|
|
46
|
-
WHERE listtype = ? AND organization_id = ?
|
|
43
|
+
const result = await this.dataSource.query(`
|
|
44
|
+
SELECT name, id
|
|
45
|
+
FROM cr_list_master_items
|
|
46
|
+
WHERE listtype = ? AND organization_id = ?
|
|
47
47
|
`, [list_type, organization_id]);
|
|
48
48
|
return result.map((row) => ({
|
|
49
49
|
label: row.name,
|
|
@@ -52,19 +52,19 @@ let ActionRepository = class ActionRepository {
|
|
|
52
52
|
}
|
|
53
53
|
async getActions(loggedInUser, stage_id) {
|
|
54
54
|
const { organization_id } = loggedInUser;
|
|
55
|
-
const stageActions = await this.dataSource.query(`
|
|
56
|
-
SELECT id, action_id
|
|
57
|
-
FROM cr_wf_stage_action_mapping
|
|
58
|
-
WHERE stage_id = ?
|
|
55
|
+
const stageActions = await this.dataSource.query(`
|
|
56
|
+
SELECT id, action_id
|
|
57
|
+
FROM cr_wf_stage_action_mapping
|
|
58
|
+
WHERE stage_id = ?
|
|
59
59
|
`, [stage_id]);
|
|
60
60
|
if (!stageActions?.length)
|
|
61
61
|
return [];
|
|
62
62
|
const actionIds = stageActions.map((sa) => sa.action_id);
|
|
63
63
|
const mappingIds = stageActions.map((sa) => sa.id);
|
|
64
|
-
const templateMappings = await this.dataSource.query(`
|
|
65
|
-
SELECT stg_act_mapping_id, template_code
|
|
66
|
-
FROM cr_wf_action_template_mapping
|
|
67
|
-
WHERE stg_act_mapping_id IN (${mappingIds.map(() => '?').join(',')})
|
|
64
|
+
const templateMappings = await this.dataSource.query(`
|
|
65
|
+
SELECT stg_act_mapping_id, template_code
|
|
66
|
+
FROM cr_wf_action_template_mapping
|
|
67
|
+
WHERE stg_act_mapping_id IN (${mappingIds.map(() => '?').join(',')})
|
|
68
68
|
`, mappingIds);
|
|
69
69
|
const templateCodes = templateMappings.map((tm) => tm.template_code);
|
|
70
70
|
const templateCodeToName = {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MediaDataService } from 'src/module/meta/service/media-data.service';
|
|
2
2
|
import { ActivityLog } from '../entity/activity-log.entity';
|
|
3
3
|
import { Repository } from 'typeorm';
|
|
4
|
+
import { ConfigService } from '@nestjs/config';
|
|
4
5
|
export declare const ACTIVITY_CATEGORIES: {
|
|
5
6
|
readonly ASSIGN: "ASSIGN";
|
|
6
7
|
readonly INTERACTION: "INTERACTION";
|
|
@@ -18,11 +19,10 @@ export type ActivityCategoryType = keyof typeof ACTIVITY_CATEGORIES;
|
|
|
18
19
|
export declare class ActivityLogRepository {
|
|
19
20
|
private readonly activityLogRepository;
|
|
20
21
|
private readonly mediaDataService;
|
|
21
|
-
|
|
22
|
+
private readonly configService;
|
|
23
|
+
constructor(activityLogRepository: Repository<ActivityLog>, mediaDataService: MediaDataService, configService: ConfigService);
|
|
22
24
|
getAllActivityLog(mapped_entity_type: string, mapped_entity_id: number | string, category: string | undefined, loggedInUser: any): Promise<{
|
|
23
25
|
category: string;
|
|
24
|
-
user_name: any;
|
|
25
|
-
profile: any;
|
|
26
26
|
created_date: string | null;
|
|
27
27
|
mapped_entity_type: string;
|
|
28
28
|
mapped_entity_id: string;
|
|
@@ -18,6 +18,8 @@ const media_data_service_1 = require("../../meta/service/media-data.service");
|
|
|
18
18
|
const activity_log_entity_1 = require("../entity/activity-log.entity");
|
|
19
19
|
const typeorm_2 = require("typeorm");
|
|
20
20
|
const moment = require("moment");
|
|
21
|
+
const axios_1 = require("axios");
|
|
22
|
+
const config_1 = require("@nestjs/config");
|
|
21
23
|
exports.ACTIVITY_CATEGORIES = {
|
|
22
24
|
ASSIGN: 'ASSIGN',
|
|
23
25
|
INTERACTION: 'INTERACTION',
|
|
@@ -32,18 +34,15 @@ exports.ACTIVITY_CATEGORIES = {
|
|
|
32
34
|
STAGEGROUP: 'STAGE_GROUP',
|
|
33
35
|
};
|
|
34
36
|
let ActivityLogRepository = class ActivityLogRepository {
|
|
35
|
-
constructor(activityLogRepository, mediaDataService) {
|
|
37
|
+
constructor(activityLogRepository, mediaDataService, configService) {
|
|
36
38
|
this.activityLogRepository = activityLogRepository;
|
|
37
39
|
this.mediaDataService = mediaDataService;
|
|
40
|
+
this.configService = configService;
|
|
38
41
|
}
|
|
39
42
|
async getAllActivityLog(mapped_entity_type, mapped_entity_id, category, loggedInUser) {
|
|
40
43
|
const { organization_id, id: loggedInUserId } = loggedInUser;
|
|
41
44
|
const query = this.activityLogRepository
|
|
42
45
|
.createQueryBuilder('log')
|
|
43
|
-
.leftJoin('sso_user', 'user', 'log.created_by = user.id')
|
|
44
|
-
.leftJoin('eth_user_profile', 'profile', 'profile.parent_id = user.id')
|
|
45
|
-
.addSelect('user.name', 'user_name')
|
|
46
|
-
.addSelect('profile.profile_image', 'profile_image')
|
|
47
46
|
.where('log.mapped_entity_type = :mapped_entity_type', {
|
|
48
47
|
mapped_entity_type,
|
|
49
48
|
})
|
|
@@ -56,12 +55,32 @@ let ActivityLogRepository = class ActivityLogRepository {
|
|
|
56
55
|
}
|
|
57
56
|
query.orderBy('log.created_date', 'DESC');
|
|
58
57
|
const rows = await query.getRawAndEntities();
|
|
58
|
+
if (rows?.entities) {
|
|
59
|
+
let user = null;
|
|
60
|
+
for (const param of rows?.entities) {
|
|
61
|
+
try {
|
|
62
|
+
const baseUrl = this.configService.get('REDIRECT_BE_URL');
|
|
63
|
+
const queryParams = new URLSearchParams({
|
|
64
|
+
loggedInUser: JSON.stringify(loggedInUser),
|
|
65
|
+
}).toString();
|
|
66
|
+
const response = await axios_1.default.get(`${baseUrl}/users/profile-image-url/${param?.created_by}?entity_type=UPR&${queryParams}`, {
|
|
67
|
+
headers: {
|
|
68
|
+
'Content-Type': 'application/json',
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
console.log('✅ Internal Entity API response:', response.data);
|
|
72
|
+
user = response.data;
|
|
73
|
+
param.user_name = user.name;
|
|
74
|
+
param.profile_image = user.profile_image;
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
console.error('⚠️ Internal Entity API call failed:', error.message);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
59
81
|
const result = await Promise.all(rows.entities.map(async (entity, i) => {
|
|
60
82
|
const profileImageId = rows.raw[i].profile_image;
|
|
61
83
|
let profile = null;
|
|
62
|
-
if (profileImageId) {
|
|
63
|
-
profile = await this.mediaDataService.getMediaDownloadUrl(profileImageId, loggedInUser);
|
|
64
|
-
}
|
|
65
84
|
const formattedLabel = entity.category
|
|
66
85
|
.toLowerCase()
|
|
67
86
|
.replace(/_/g, ' ')
|
|
@@ -69,8 +88,6 @@ let ActivityLogRepository = class ActivityLogRepository {
|
|
|
69
88
|
return {
|
|
70
89
|
...entity,
|
|
71
90
|
category: formattedLabel,
|
|
72
|
-
user_name: rows.raw[i].user_name,
|
|
73
|
-
profile,
|
|
74
91
|
created_date: entity.created_date
|
|
75
92
|
? moment(entity.created_date).local().format('DD-MMM, hh:mm A')
|
|
76
93
|
: null,
|
|
@@ -107,6 +124,7 @@ exports.ActivityLogRepository = ActivityLogRepository;
|
|
|
107
124
|
exports.ActivityLogRepository = ActivityLogRepository = __decorate([
|
|
108
125
|
__param(0, (0, typeorm_1.InjectRepository)(activity_log_entity_1.ActivityLog)),
|
|
109
126
|
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
110
|
-
media_data_service_1.MediaDataService
|
|
127
|
+
media_data_service_1.MediaDataService,
|
|
128
|
+
config_1.ConfigService])
|
|
111
129
|
], ActivityLogRepository);
|
|
112
130
|
//# sourceMappingURL=activity-log.repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-log.repository.js","sourceRoot":"","sources":["../../../../src/module/workflow/repository/activity-log.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAmD;AACnD,8EAA8E;AAC9E,uEAA4D;AAC5D,qCAAqC;AACrC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"activity-log.repository.js","sourceRoot":"","sources":["../../../../src/module/workflow/repository/activity-log.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,17 +30,17 @@ let CommTemplateRepository = class CommTemplateRepository {
|
|
|
30
30
|
const { organization_id, level_id, level_type } = loggedInUser;
|
|
31
31
|
let is_template;
|
|
32
32
|
if (action_id) {
|
|
33
|
-
const [actionResult] = await this.dataSource.query(`SELECT is_template
|
|
34
|
-
FROM cr_wf_action
|
|
35
|
-
WHERE id = ? AND organization_id = ?
|
|
33
|
+
const [actionResult] = await this.dataSource.query(`SELECT is_template
|
|
34
|
+
FROM cr_wf_action
|
|
35
|
+
WHERE id = ? AND organization_id = ?
|
|
36
36
|
LIMIT 1`, [action_id, organization_id]);
|
|
37
37
|
if (!actionResult) {
|
|
38
38
|
throw new Error('Invalid action_id');
|
|
39
39
|
}
|
|
40
40
|
is_template = actionResult.is_template;
|
|
41
|
-
await this.dataSource.query(`UPDATE cr_wf_comm_template
|
|
42
|
-
SET is_template = ?
|
|
43
|
-
WHERE mapped_entity_type = ?
|
|
41
|
+
await this.dataSource.query(`UPDATE cr_wf_comm_template
|
|
42
|
+
SET is_template = ?
|
|
43
|
+
WHERE mapped_entity_type = ?
|
|
44
44
|
AND organization_id = ? AND level_id = ? AND level_type=?`, [is_template, entity_type, organization_id, level_id, level_type]);
|
|
45
45
|
}
|
|
46
46
|
const whereCondition = {
|
|
@@ -17,8 +17,8 @@ let FormMasterRepository = class FormMasterRepository {
|
|
|
17
17
|
this.dataSource = dataSource;
|
|
18
18
|
}
|
|
19
19
|
async getForms(organization_id, source_entity_type) {
|
|
20
|
-
const forms = await this.dataSource.query(`SELECT fm.id as fm_id, fm.name as fm_form_name
|
|
21
|
-
FROM cr_entity_view fm
|
|
20
|
+
const forms = await this.dataSource.query(`SELECT fm.id as fm_id, fm.name as fm_form_name
|
|
21
|
+
FROM cr_entity_view fm
|
|
22
22
|
WHERE fm.organization_id = ? AND fm.mapped_entity_type = ?`, [organization_id, source_entity_type]);
|
|
23
23
|
const formatted = forms.map((form) => ({
|
|
24
24
|
label: form.fm_form_name,
|
|
@@ -67,33 +67,33 @@ let StageGroupRepository = class StageGroupRepository {
|
|
|
67
67
|
if (!stageGroups.length)
|
|
68
68
|
return [];
|
|
69
69
|
const stageGroupIds = stageGroups.map((sg) => sg.id);
|
|
70
|
-
const stagesRaw = await this.dataSource.query(`
|
|
71
|
-
SELECT
|
|
72
|
-
cr_wf_stage.*
|
|
73
|
-
FROM cr_wf_stage
|
|
74
|
-
WHERE cr_wf_stage.stage_group_id IN (${stageGroupIds.map(() => '?').join(',')})
|
|
75
|
-
AND cr_wf_stage.organization_id = ?
|
|
76
|
-
ORDER BY cr_wf_stage.sequence ASC
|
|
70
|
+
const stagesRaw = await this.dataSource.query(`
|
|
71
|
+
SELECT
|
|
72
|
+
cr_wf_stage.*
|
|
73
|
+
FROM cr_wf_stage
|
|
74
|
+
WHERE cr_wf_stage.stage_group_id IN (${stageGroupIds.map(() => '?').join(',')})
|
|
75
|
+
AND cr_wf_stage.organization_id = ?
|
|
76
|
+
ORDER BY cr_wf_stage.sequence ASC
|
|
77
77
|
`, [...stageGroupIds, loggedInUser.organization_id]);
|
|
78
78
|
const stageIds = stagesRaw.map((s) => s.id);
|
|
79
|
-
const taskCounts = await this.dataSource.query(`
|
|
80
|
-
SELECT stage_id, COUNT(*) AS task_count
|
|
81
|
-
FROM cr_wf_task_data
|
|
82
|
-
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND is_system=0 AND mapped_entity_id = ?
|
|
83
|
-
GROUP BY stage_id
|
|
79
|
+
const taskCounts = await this.dataSource.query(`
|
|
80
|
+
SELECT stage_id, COUNT(*) AS task_count
|
|
81
|
+
FROM cr_wf_task_data
|
|
82
|
+
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND is_system=0 AND mapped_entity_id = ?
|
|
83
|
+
GROUP BY stage_id
|
|
84
84
|
`, [...stageIds, lead_id]);
|
|
85
|
-
const meetingCounts = await this.dataSource.query(`
|
|
86
|
-
SELECT stage_id, COUNT(*) AS meeting_count
|
|
87
|
-
FROM crm_lead_meeting
|
|
88
|
-
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
|
|
89
|
-
GROUP BY stage_id
|
|
85
|
+
const meetingCounts = await this.dataSource.query(`
|
|
86
|
+
SELECT stage_id, COUNT(*) AS meeting_count
|
|
87
|
+
FROM crm_lead_meeting
|
|
88
|
+
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
|
|
89
|
+
GROUP BY stage_id
|
|
90
90
|
`, [...stageIds, lead_id]);
|
|
91
|
-
const sendCommCounts = await this.dataSource.query(`
|
|
92
|
-
SELECT stage_id, COUNT(*) AS send_comm_count
|
|
93
|
-
FROM crm_lead_communication
|
|
94
|
-
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
|
|
95
|
-
AND type IN ('SEND', 'LOG')
|
|
96
|
-
GROUP BY stage_id
|
|
91
|
+
const sendCommCounts = await this.dataSource.query(`
|
|
92
|
+
SELECT stage_id, COUNT(*) AS send_comm_count
|
|
93
|
+
FROM crm_lead_communication
|
|
94
|
+
WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
|
|
95
|
+
AND type IN ('SEND', 'LOG')
|
|
96
|
+
GROUP BY stage_id
|
|
97
97
|
`, [...stageIds, lead_id]);
|
|
98
98
|
const taskCountMap = new Map(taskCounts.map((row) => [Number(row.stage_id), Number(row.task_count)]));
|
|
99
99
|
const meetingCountMap = new Map(meetingCounts.map((row) => [
|