rez_core 3.1.188 → 3.1.189
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/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/controller/module-access.controller.d.ts +3 -3
- package/dist/module/module/controller/module-access.controller.js +2 -0
- package/dist/module/module/controller/module-access.controller.js.map +1 -1
- package/dist/module/module/repository/menu.repository.js +12 -12
- package/dist/module/module/repository/module-access.repository.d.ts +5 -4
- package/dist/module/module/repository/module-access.repository.js +12 -4
- package/dist/module/module/repository/module-access.repository.js.map +1 -1
- package/dist/module/module/service/module-access.service.d.ts +6 -4
- package/dist/module/module/service/module-access.service.js +2 -2
- package/dist/module/module/service/module-access.service.js.map +1 -1
- 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 +2 -2
- 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 +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 -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 +344 -331
- 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 +138 -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 +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 +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 +531 -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
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 sso_module_access
|
|
39
|
-
WHERE role_id = ${user['role_id']}
|
|
37
|
+
const roleAccess = await this.entityManager.query(`SELECT *
|
|
38
|
+
FROM sso_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 sso_user
|
|
28
|
-
SET fcm_token = ?, ip = ?, browser = ?, os = ?
|
|
27
|
+
await this.dataSource.query(`UPDATE sso_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);
|
|
@@ -202,8 +202,8 @@ let FilterService = class FilterService {
|
|
|
202
202
|
});
|
|
203
203
|
}
|
|
204
204
|
console.log('🟠 [FilterService] Constructed baseWhere clauses:', baseWhere);
|
|
205
|
-
const layoutPreference = await this.dataSource.query(`SELECT mapped_json
|
|
206
|
-
FROM cr_entity_layout_pref
|
|
205
|
+
const layoutPreference = await this.dataSource.query(`SELECT mapped_json
|
|
206
|
+
FROM cr_entity_layout_pref
|
|
207
207
|
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]);
|
|
208
208
|
const layout = layoutPreference?.[0]?.mapped_json?.quick_tab || {};
|
|
209
209
|
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,
|
|
@@ -107,7 +107,7 @@ let IntegrationService = IntegrationService_1 = class IntegrationService {
|
|
|
107
107
|
}
|
|
108
108
|
async getAllIntegrationData(loggedInUser, integration_type) {
|
|
109
109
|
try {
|
|
110
|
-
const allIntegrationData = await this.dataSource.query(`SELECT *
|
|
110
|
+
const allIntegrationData = await this.dataSource.query(`SELECT *
|
|
111
111
|
FROM cr_integration_master`);
|
|
112
112
|
if (integration_type) {
|
|
113
113
|
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) {
|
|
@@ -126,17 +126,17 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
126
126
|
let resolvedTemplateId = entity?.templateId;
|
|
127
127
|
if (entity.template_code) {
|
|
128
128
|
this.logger.debug(`Looking up template for code=${entity.template_code}, level_id=${level_id}, level_type=${level_type}`);
|
|
129
|
-
let templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
|
|
130
|
-
WHERE code = ?
|
|
131
|
-
AND level_id = ?
|
|
132
|
-
AND level_type = ?
|
|
129
|
+
let templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
|
|
130
|
+
WHERE code = ?
|
|
131
|
+
AND level_id = ?
|
|
132
|
+
AND level_type = ?
|
|
133
133
|
LIMIT 1`, [entity.template_code, level_id, level_type]);
|
|
134
134
|
if (!templates || templates.length === 0) {
|
|
135
135
|
this.logger.warn(`No template found for ${entity.template_code} at provided level. Falling back to ORG-level.`);
|
|
136
|
-
templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
|
|
137
|
-
WHERE code = ?
|
|
138
|
-
AND level_type = 'ORG'
|
|
139
|
-
AND organization_id = ?
|
|
136
|
+
templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
|
|
137
|
+
WHERE code = ?
|
|
138
|
+
AND level_type = 'ORG'
|
|
139
|
+
AND organization_id = ?
|
|
140
140
|
LIMIT 1`, [entity.template_code, organization_id]);
|
|
141
141
|
}
|
|
142
142
|
if (templates && templates.length > 0) {
|
|
@@ -207,11 +207,11 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
207
207
|
};
|
|
208
208
|
}
|
|
209
209
|
this.logger.log(`No user-level config found, checking ORG-level...`);
|
|
210
|
-
const orgConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
|
|
211
|
-
WHERE level_id = 1
|
|
212
|
-
AND level_type = 'ORG'
|
|
213
|
-
AND integration_type = 'EMAIL'
|
|
214
|
-
AND app_code ='DEFAULT'
|
|
210
|
+
const orgConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
|
|
211
|
+
WHERE level_id = 1
|
|
212
|
+
AND level_type = 'ORG'
|
|
213
|
+
AND integration_type = 'EMAIL'
|
|
214
|
+
AND app_code ='DEFAULT'
|
|
215
215
|
AND status = 1`, []);
|
|
216
216
|
integrationConfig = await this.integrationService.getSingleActiveConfig(1, 'ORG', 'DEFAULT', 'EMAIL');
|
|
217
217
|
this.logger.debug(`ORG configs found: ${JSON.stringify(orgConfigs)}`);
|
|
@@ -229,8 +229,8 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
229
229
|
}
|
|
230
230
|
async getConfigCred(configId) {
|
|
231
231
|
this.logger.debug(`Fetching config JSON for configId=${configId}`);
|
|
232
|
-
const configRes = await this.datasource.query(`SELECT config_json
|
|
233
|
-
FROM cr_integration_config
|
|
232
|
+
const configRes = await this.datasource.query(`SELECT config_json
|
|
233
|
+
FROM cr_integration_config
|
|
234
234
|
WHERE id = ?`, [configId]);
|
|
235
235
|
this.logger.debug(`Config fetch result: ${JSON.stringify(configRes)}`);
|
|
236
236
|
return configRes?.[0]?.config_json || null;
|
|
@@ -238,9 +238,9 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
238
238
|
async sendIcsInvite(payload, levelId, levelType, appCode) {
|
|
239
239
|
this.logger.log(`Generating ICS file. Payload: ${JSON.stringify(payload)}`);
|
|
240
240
|
if (payload.template_code) {
|
|
241
|
-
let templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
|
|
242
|
-
WHERE code = ?
|
|
243
|
-
ORDER BY 1 DESC
|
|
241
|
+
let templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
|
|
242
|
+
WHERE code = ?
|
|
243
|
+
ORDER BY 1 DESC
|
|
244
244
|
LIMIT 1`, [payload.template_code]);
|
|
245
245
|
this.logger.log(`template by code ${JSON.stringify(payload)}`);
|
|
246
246
|
if (templates && templates.length > 0) {
|
|
@@ -132,8 +132,8 @@ let ListMasterItemService = class ListMasterItemService extends entity_service_i
|
|
|
132
132
|
return `Item with name ${code} deleted successfully from type ${listType}`;
|
|
133
133
|
}
|
|
134
134
|
async getListSourceType(loggedInUser, source) {
|
|
135
|
-
const data = await this.dataSource.query(`SELECT name AS label, type AS value
|
|
136
|
-
FROM 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
|
}
|
|
@@ -121,8 +121,8 @@ let ListMasterService = class ListMasterService {
|
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
123
|
else {
|
|
124
|
-
qb.andWhere(`${tableName}.parent_id = :organization_id
|
|
125
|
-
AND ${tableName}.type = 'BRN'
|
|
124
|
+
qb.andWhere(`${tableName}.parent_id = :organization_id
|
|
125
|
+
AND ${tableName}.type = 'BRN'
|
|
126
126
|
`, {
|
|
127
127
|
organization_id: loggedInUser.organization_id,
|
|
128
128
|
});
|
|
@@ -100,10 +100,10 @@ let FieldMapperService = class FieldMapperService extends entity_service_impl_se
|
|
|
100
100
|
await super.getResolvedEntityDataByDataSource(entityType, parent_id, userData);
|
|
101
101
|
}
|
|
102
102
|
else {
|
|
103
|
-
const relations = await this.datasource.query(`SELECT target_entity_id
|
|
104
|
-
FROM cr_entity_relation_data
|
|
105
|
-
WHERE source_entity_type = ?
|
|
106
|
-
AND source_entity_id = ?
|
|
103
|
+
const relations = await this.datasource.query(`SELECT target_entity_id
|
|
104
|
+
FROM cr_entity_relation_data
|
|
105
|
+
WHERE source_entity_type = ?
|
|
106
|
+
AND source_entity_id = ?
|
|
107
107
|
AND target_entity_type = ?`, [parent_type, parent_id, field.mapped_entity_type]);
|
|
108
108
|
const targetEntityIds = relations.map((r) => r.target_entity_id);
|
|
109
109
|
this.loggingService.log('package', 'fieldMapperService', 'targetEntityIds', targetEntityIds);
|
|
@@ -27,10 +27,10 @@ let MapperService = class MapperService extends entity_service_impl_service_1.En
|
|
|
27
27
|
async getByMappedEntityType(mappedEntityType, filter, status) {
|
|
28
28
|
if (!mappedEntityType)
|
|
29
29
|
return [];
|
|
30
|
-
const mappers = await this.dataSource.query(`SELECT id, name, code, status
|
|
31
|
-
FROM cr_mapper_master
|
|
32
|
-
WHERE mapped_entity_type = ? AND (-1 = ? OR name LIKE ? OR code LIKE ?)
|
|
33
|
-
AND (-1 = ? OR status = ?)
|
|
30
|
+
const mappers = await this.dataSource.query(`SELECT id, name, code, status
|
|
31
|
+
FROM cr_mapper_master
|
|
32
|
+
WHERE mapped_entity_type = ? AND (-1 = ? OR name LIKE ? OR code LIKE ?)
|
|
33
|
+
AND (-1 = ? OR status = ?)
|
|
34
34
|
`, [mappedEntityType, filter || -1, `%${filter}%`, `%${filter}%`, status || -1, status]);
|
|
35
35
|
const distinctStatuses = [
|
|
36
36
|
...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_entity_attribute
|
|
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_entity_attribute
|
|
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_entity_attribute
|
|
75
|
-
WHERE mapped_entity_type = ?
|
|
73
|
+
const attributes = await this.dataSource.query(`SELECT *
|
|
74
|
+
FROM cr_entity_attribute
|
|
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'] = {
|