rez_core 5.0.84 → 5.0.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/250218_nodejs_core.iml +11 -8
- package/.idea/codeStyles/Project.xml +58 -58
- package/.idea/codeStyles/codeStyleConfig.xml +4 -4
- package/.idea/inspectionProfiles/Project_Default.xml +1 -1
- package/.idea/modules.xml +7 -7
- package/.idea/prettier.xml +5 -5
- package/.idea/vcs.xml +5 -5
- package/.prettierrc +3 -3
- package/README.md +99 -99
- package/dist/module/auth/guards/role.guard.js +3 -3
- package/dist/module/auth/services/auth.service.d.ts +3 -3
- package/dist/module/auth/services/auth.service.js +18 -7
- package/dist/module/auth/services/auth.service.js.map +1 -1
- package/dist/module/dashboard/controller/dashboard.controller.d.ts +1 -1
- package/dist/module/dashboard/repository/dashboard.repository.d.ts +5 -4
- package/dist/module/dashboard/repository/dashboard.repository.js +31 -18
- package/dist/module/dashboard/repository/dashboard.repository.js.map +1 -1
- package/dist/module/dashboard/service/dashboard.service.d.ts +1 -1
- package/dist/module/filter/filter.module.js +2 -0
- package/dist/module/filter/filter.module.js.map +1 -1
- package/dist/module/filter/repository/saved-filter.repository.d.ts +4 -3
- package/dist/module/filter/repository/saved-filter.repository.js +11 -8
- package/dist/module/filter/repository/saved-filter.repository.js.map +1 -1
- package/dist/module/filter/repository/saved.filter-detail.repository.d.ts +7 -0
- package/dist/module/filter/repository/saved.filter-detail.repository.js +38 -0
- package/dist/module/filter/repository/saved.filter-detail.repository.js.map +1 -0
- package/dist/module/filter/service/filter-evaluator.service.d.ts +3 -3
- package/dist/module/filter/service/filter-evaluator.service.js +6 -9
- package/dist/module/filter/service/filter-evaluator.service.js.map +1 -1
- package/dist/module/filter/service/filter.service.d.ts +5 -3
- package/dist/module/filter/service/filter.service.js +47 -37
- package/dist/module/filter/service/filter.service.js.map +1 -1
- package/dist/module/integration/examples/usage.example.js +9 -9
- package/dist/module/integration/service/integration.service.d.ts +3 -1
- package/dist/module/integration/service/integration.service.js +7 -4
- package/dist/module/integration/service/integration.service.js.map +1 -1
- package/dist/module/integration/service/wrapper.service.d.ts +3 -7
- package/dist/module/integration/service/wrapper.service.js +71 -69
- package/dist/module/integration/service/wrapper.service.js.map +1 -1
- package/dist/module/listmaster/repository/list-master.repository.d.ts +1 -0
- package/dist/module/listmaster/repository/list-master.repository.js +9 -0
- package/dist/module/listmaster/repository/list-master.repository.js.map +1 -1
- package/dist/module/listmaster/service/list-master-item.service.d.ts +2 -1
- package/dist/module/listmaster/service/list-master-item.service.js +3 -5
- package/dist/module/listmaster/service/list-master-item.service.js.map +1 -1
- package/dist/module/mapper/service/field-mapper.service.js +4 -4
- package/dist/module/meta/repository/attribute-master.repository.d.ts +5 -3
- package/dist/module/meta/repository/attribute-master.repository.js +28 -8
- package/dist/module/meta/repository/attribute-master.repository.js.map +1 -1
- package/dist/module/meta/repository/entity-attribute-update.repository.js +3 -3
- package/dist/module/meta/repository/entity-master.repository.js +6 -6
- package/dist/module/meta/service/entity-dynamic.service.d.ts +3 -5
- package/dist/module/meta/service/entity-dynamic.service.js +61 -67
- package/dist/module/meta/service/entity-dynamic.service.js.map +1 -1
- package/dist/module/meta/service/entity-list.service.js +3 -3
- package/dist/module/meta/service/entity-relation.service.js +9 -9
- package/dist/module/meta/service/entity-service-impl.service.js +3 -3
- package/dist/module/meta/service/media-data.service.d.ts +3 -3
- package/dist/module/meta/service/media-data.service.js +37 -16
- package/dist/module/meta/service/media-data.service.js.map +1 -1
- package/dist/module/meta/service/resolver.service.js +34 -34
- package/dist/module/meta/service/resolver.service.js.map +1 -1
- package/dist/module/module/repository/menu.repository.d.ts +3 -1
- package/dist/module/module/repository/menu.repository.js +37 -35
- package/dist/module/module/repository/menu.repository.js.map +1 -1
- package/dist/module/notification/service/notification.service.js +10 -10
- package/dist/module/user/controller/login.controller.js +18 -18
- package/dist/module/user/service/user-session.service.js +2 -2
- package/dist/module/workflow/repository/action.repository.js +12 -12
- package/dist/module/workflow/repository/comm-template.repository.d.ts +3 -1
- package/dist/module/workflow/repository/comm-template.repository.js +15 -9
- package/dist/module/workflow/repository/comm-template.repository.js.map +1 -1
- package/dist/module/workflow/repository/form-master.repository.js +2 -2
- package/dist/module/workflow/repository/stage-group.repository.js +20 -20
- package/dist/module/workflow/repository/stage.repository.js +8 -8
- package/dist/module/workflow/repository/task.repository.d.ts +2 -1
- package/dist/module/workflow/repository/task.repository.js +5 -5
- package/dist/module/workflow/repository/task.repository.js.map +1 -1
- package/dist/module/workflow/service/action-template-mapping.service.js +13 -13
- package/dist/module/workflow/service/action.service.js +7 -7
- package/dist/module/workflow/service/entity-modification.service.js +2 -2
- 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 +19 -19
- 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 +26 -26
- package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
- package/dist/module/workflow-automation/service/schedule-handler.service.js +9 -9
- package/dist/module/workflow-schedule/processors/schedule.processor.js +4 -4
- package/dist/module/workflow-schedule/service/workflow-schedule.service.js +9 -9
- 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 +125 -125
- package/src/app.controller.ts +12 -12
- package/src/app.module.ts +66 -66
- package/src/app.service.ts +8 -8
- package/src/config/bull.config.ts +69 -69
- package/src/config/config.module.ts +17 -17
- package/src/config/database.config.ts +48 -48
- package/src/constant/global.constant.ts +67 -67
- package/src/core.module.ts +91 -91
- 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 +56 -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 +51 -42
- package/src/module/dashboard/service/dashboard.service.ts +73 -73
- package/src/module/enterprise/controller/organization.controller.ts +36 -36
- package/src/module/enterprise/enterprise.module.ts +30 -30
- package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
- package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
- package/src/module/enterprise/entity/organization.entity.ts +92 -92
- package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
- package/src/module/enterprise/repository/organization.repository.ts +26 -26
- package/src/module/enterprise/repository/school.repository.ts +278 -278
- package/src/module/enterprise/service/brand.service.ts +5 -5
- package/src/module/enterprise/service/enterprise.service.ts +16 -16
- package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
- package/src/module/enterprise/service/organization.service.ts +145 -145
- package/src/module/entity_json/controller/entity_json.controller.ts +47 -47
- package/src/module/entity_json/entity/entityJson.entity.ts +39 -39
- package/src/module/entity_json/entity_json.module.ts +18 -18
- package/src/module/entity_json/service/entityJson.repository.ts +37 -37
- package/src/module/entity_json/service/entity_json.service.ts +234 -234
- 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 +33 -31
- package/src/module/filter/repository/saved-filter.repository.ts +168 -168
- package/src/module/filter/repository/saved.filter-detail.repository.ts +20 -0
- package/src/module/filter/service/filter-evaluator.service.ts +82 -86
- package/src/module/filter/service/filter.service.ts +1304 -1299
- 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 +2634 -2633
- package/src/module/integration/service/oauth.service.ts +224 -224
- package/src/module/integration/service/wrapper.service.ts +716 -738
- package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
- package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
- package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
- package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
- package/src/module/integration/strategies/integration.strategy.ts +97 -97
- package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
- package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
- package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
- package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
- package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
- package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
- package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
- package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
- package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
- package/src/module/layout/controller/layout.controller.ts +47 -47
- package/src/module/layout/entity/header-items.entity.ts +28 -28
- package/src/module/layout/entity/header-section.entity.ts +19 -19
- package/src/module/layout/layout.module.ts +21 -21
- package/src/module/layout/repository/header-items.repository.ts +18 -18
- package/src/module/layout/repository/header-section.repository.ts +22 -22
- package/src/module/layout/service/header-section.service.ts +25 -25
- package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
- package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
- package/src/module/layout_preference/layout_preference.module.ts +22 -22
- package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
- package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
- package/src/module/lead/controller/lead.controller.ts +30 -30
- package/src/module/lead/lead.module.ts +14 -14
- package/src/module/lead/repository/lead.repository.ts +41 -41
- package/src/module/lead/service/lead.service.ts +54 -54
- package/src/module/linked_attributes/controller/linked_attributes.controller.ts +37 -37
- package/src/module/linked_attributes/entity/linked_attribute.entity.ts +51 -51
- package/src/module/linked_attributes/linked_attributes.module.ts +16 -16
- package/src/module/linked_attributes/repository/linked_attribute.repository.ts +12 -12
- package/src/module/linked_attributes/service/linked_attributes.service.ts +75 -75
- package/src/module/listmaster/controller/list-master.controller.ts +230 -230
- package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
- package/src/module/listmaster/entity/list-master.entity.ts +33 -33
- package/src/module/listmaster/listmaster.module.ts +46 -46
- package/src/module/listmaster/repository/list-master-items.repository.ts +173 -173
- package/src/module/listmaster/repository/list-master.repository.ts +56 -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 +281 -292
- package/src/module/listmaster/service/list-master-registry.ts +15 -15
- package/src/module/listmaster/service/list-master.service.ts +535 -535
- package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
- package/src/module/mapper/controller/mapper.controller.ts +20 -20
- package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
- package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
- package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
- package/src/module/mapper/entity/mapper.entity.ts +16 -16
- package/src/module/mapper/mapper.module.ts +35 -35
- 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 +32 -32
- package/src/module/mapper/service/field-mapper.service.ts +271 -271
- package/src/module/mapper/service/mapper.service.ts +81 -81
- 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 +84 -84
- package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
- package/src/module/meta/controller/entity-master.controller.ts +41 -41
- package/src/module/meta/controller/entity-relation.controller.ts +36 -36
- package/src/module/meta/controller/entity.controller.ts +392 -392
- package/src/module/meta/controller/entity.public.controller.ts +75 -75
- package/src/module/meta/controller/media.controller.ts +107 -107
- package/src/module/meta/controller/meta.controller.ts +96 -96
- package/src/module/meta/controller/view-master.controller.ts +86 -86
- package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
- package/src/module/meta/dto/entity-tab.dto.ts +4 -4
- package/src/module/meta/dto/entity-table.dto.ts +9 -9
- package/src/module/meta/entity/app-master.entity.ts +34 -34
- package/src/module/meta/entity/attribute-master.entity.ts +92 -92
- package/src/module/meta/entity/base-entity.entity.ts +75 -75
- package/src/module/meta/entity/entity-master.entity.ts +85 -85
- package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
- package/src/module/meta/entity/entity-relation.entity.ts +23 -23
- package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
- package/src/module/meta/entity/entity-table.entity.ts +50 -50
- package/src/module/meta/entity/media-data.entity.ts +32 -32
- package/src/module/meta/entity/preference.entity.ts +62 -62
- package/src/module/meta/entity/view-master.entity.ts +41 -41
- package/src/module/meta/entity.module.ts +166 -166
- package/src/module/meta/repository/app-master.repository.ts +20 -20
- package/src/module/meta/repository/attribute-master.repository.ts +156 -138
- package/src/module/meta/repository/entity-attribute-update.repository.ts +44 -44
- package/src/module/meta/repository/entity-master.repository.ts +111 -111
- 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 +130 -130
- package/src/module/meta/service/common.service.ts +9 -9
- package/src/module/meta/service/entity-attribute-update.service.ts +28 -28
- package/src/module/meta/service/entity-dynamic.service.ts +846 -857
- package/src/module/meta/service/entity-list.service.ts +205 -205
- package/src/module/meta/service/entity-master.service.ts +171 -171
- package/src/module/meta/service/entity-realation-data.service.ts +9 -9
- package/src/module/meta/service/entity-relation.service.ts +87 -87
- package/src/module/meta/service/entity-service-impl.service.ts +525 -525
- package/src/module/meta/service/entity-table-column.service.ts +39 -39
- package/src/module/meta/service/entity-table.service.ts +150 -150
- package/src/module/meta/service/entity-validation.service.ts +187 -187
- package/src/module/meta/service/entity.service.ts +67 -67
- package/src/module/meta/service/field-group.service.ts +103 -103
- package/src/module/meta/service/media-data.service.ts +510 -507
- package/src/module/meta/service/populate-meta.service.ts +222 -222
- package/src/module/meta/service/preference.service.ts +16 -16
- package/src/module/meta/service/resolver.service.ts +316 -318
- package/src/module/meta/service/section-master.service.ts +104 -104
- package/src/module/meta/service/update-form-json.service.ts +22 -22
- package/src/module/meta/service/user-app-mapping.service.ts +17 -17
- package/src/module/meta/service/view-master.service.ts +127 -127
- package/src/module/microservice-client/microservice-clients.module.ts +13 -13
- package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
- package/src/module/microservice-client/service/microservice-clients.ts +4 -4
- package/src/module/module/controller/menu.controller.ts +15 -15
- package/src/module/module/controller/module-access.controller.ts +134 -134
- package/src/module/module/entity/menu.entity.ts +43 -43
- package/src/module/module/entity/module-access.entity.ts +25 -25
- package/src/module/module/entity/module-action.entity.ts +17 -17
- package/src/module/module/entity/module.entity.ts +52 -52
- package/src/module/module/module.module.ts +42 -42
- package/src/module/module/repository/menu.repository.ts +184 -191
- 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 +195 -195
- 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 +160 -160
- package/src/module/notification/service/otp.service.ts +133 -133
- 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 +198 -198
- package/src/module/user/controller/user.controller.ts +40 -40
- package/src/module/user/dto/create-user.dto.ts +62 -62
- package/src/module/user/dto/update-user.dto.ts +4 -4
- package/src/module/user/entity/role.entity.ts +33 -33
- package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
- package/src/module/user/entity/user-session.entity.ts +73 -73
- package/src/module/user/entity/user.entity.ts +59 -59
- package/src/module/user/repository/role.repository.ts +96 -96
- package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
- package/src/module/user/repository/user.repository.ts +50 -50
- package/src/module/user/repository/userSession.repository.ts +33 -33
- package/src/module/user/service/login.service.ts +326 -326
- package/src/module/user/service/role.service.ts +197 -197
- 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 +368 -368
- package/src/module/user/user.module.ts +65 -65
- package/src/module/workflow/controller/action-category.controller.ts +54 -54
- package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
- package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
- package/src/module/workflow/controller/action.controller.ts +111 -111
- package/src/module/workflow/controller/activity-log.controller.ts +55 -55
- package/src/module/workflow/controller/comm-template.controller.ts +43 -43
- package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
- package/src/module/workflow/controller/form-master.controller.ts +43 -43
- package/src/module/workflow/controller/stage-group.controller.ts +48 -48
- package/src/module/workflow/controller/stage.controller.ts +50 -50
- package/src/module/workflow/controller/task.controller.ts +77 -77
- package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
- package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
- package/src/module/workflow/controller/workflow.controller.ts +67 -67
- package/src/module/workflow/entity/action-category.entity.ts +38 -38
- package/src/module/workflow/entity/action-data.entity.ts +55 -55
- package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
- package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
- package/src/module/workflow/entity/action.entity.ts +53 -53
- 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 +339 -339
- package/src/module/workflow/repository/action.repository.ts +341 -341
- package/src/module/workflow/repository/activity-log.repository.ts +148 -148
- package/src/module/workflow/repository/comm-template.repository.ts +151 -149
- package/src/module/workflow/repository/form-master.repository.ts +59 -59
- package/src/module/workflow/repository/stage-group.repository.ts +197 -197
- package/src/module/workflow/repository/stage-movement.repository.ts +253 -253
- package/src/module/workflow/repository/stage.repository.ts +172 -172
- package/src/module/workflow/repository/task.repository.ts +151 -149
- 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 +131 -131
- package/src/module/workflow/service/action.service.ts +279 -279
- package/src/module/workflow/service/activity-log.service.ts +107 -107
- package/src/module/workflow/service/comm-template.service.ts +180 -180
- package/src/module/workflow/service/entity-modification.service.ts +61 -61
- package/src/module/workflow/service/form-master.service.ts +35 -35
- package/src/module/workflow/service/populate-workflow.service.ts +333 -333
- package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
- package/src/module/workflow/service/stage-group.service.ts +342 -342
- package/src/module/workflow/service/stage.service.ts +199 -199
- package/src/module/workflow/service/task.service.ts +549 -549
- package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
- package/src/module/workflow/service/workflow-meta.service.ts +653 -674
- package/src/module/workflow/service/workflow.service.ts +209 -209
- package/src/module/workflow/workflow.module.ts +180 -180
- package/src/module/workflow-automation/SCHEDULING_GUIDE.md +145 -145
- package/src/module/workflow-automation/controller/workflow-automation.controller.ts +43 -43
- package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
- package/src/module/workflow-automation/entity/workflow-automation.entity.ts +40 -40
- 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/schedule-handler.service.ts +168 -168
- package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +224 -224
- package/src/module/workflow-automation/service/workflow-automation.service.ts +515 -515
- package/src/module/workflow-automation/workflow-automation.module.ts +54 -54
- package/src/module/workflow-schedule/INSTALLATION.md +244 -244
- package/src/module/workflow-schedule/MULTI_PROJECT_GUIDE.md +196 -196
- package/src/module/workflow-schedule/README.md +422 -422
- package/src/module/workflow-schedule/constants/schedule.constants.ts +48 -48
- package/src/module/workflow-schedule/controller/workflow-schedule.controller.ts +255 -255
- package/src/module/workflow-schedule/docs/CLAUDE_CODE_GUIDE.md +510 -510
- package/src/module/workflow-schedule/docs/CLAUDE_CODE_PROMPT.md +362 -362
- package/src/module/workflow-schedule/docs/RUN_CLAUDE_CODE.sh +68 -68
- package/src/module/workflow-schedule/dto/create-schedule.dto.ts +147 -147
- package/src/module/workflow-schedule/dto/get-execution-logs.dto.ts +119 -119
- package/src/module/workflow-schedule/dto/update-schedule.dto.ts +96 -96
- package/src/module/workflow-schedule/entities/scheduled-workflow.entity.ts +148 -148
- package/src/module/workflow-schedule/entities/workflow-execution-log.entity.ts +154 -154
- package/src/module/workflow-schedule/interfaces/schedule-job-data.interface.ts +53 -53
- package/src/module/workflow-schedule/interfaces/workflow-schedule-options.interface.ts +12 -12
- package/src/module/workflow-schedule/processors/schedule.processor.ts +584 -584
- package/src/module/workflow-schedule/service/workflow-schedule.service.ts +600 -600
- package/src/module/workflow-schedule/workflow-schedule.module.ts +67 -67
- package/src/resources/dev.properties.yaml +31 -31
- package/src/resources/local.properties.yaml +27 -27
- package/src/resources/properties.module.ts +12 -12
- package/src/resources/properties.yaml.ts +11 -11
- package/src/resources/uat.properties.yaml +31 -31
- package/src/table.config.ts +133 -133
- 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 +88 -88
- 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 +27 -27
- package/tsconfig.build.json +4 -4
- package/tsconfig.json +24 -24
- package/.claude/settings.local.json +0 -26
- package/.idea/copilot.data.migration.agent.xml +0 -6
- package/.idea/copilot.data.migration.ask.xml +0 -6
- package/.idea/copilot.data.migration.ask2agent.xml +0 -6
- package/.idea/copilot.data.migration.edit.xml +0 -6
- package/.idea/misc.xml +0 -6
- package/dist/module/dev/dev.module.d.ts +0 -2
- package/dist/module/dev/dev.module.js +0 -25
- package/dist/module/dev/dev.module.js.map +0 -1
- package/dist/module/dev/service/dev.service.d.ts +0 -5
- package/dist/module/dev/service/dev.service.js +0 -25
- package/dist/module/dev/service/dev.service.js.map +0 -1
- package/server.log +0 -850
- package/src/module/dev/dev.module.ts +0 -12
- package/src/module/dev/service/dev.service.ts +0 -7
|
@@ -12,6 +12,7 @@ import { BulkMessageDto, BulkCreateUserIntegrationDto, CreateUserIntegrationDto,
|
|
|
12
12
|
import { FieldMapperService } from '../../mapper/service/field-mapper.service';
|
|
13
13
|
import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
|
|
14
14
|
import { MediaDataService } from '../../meta/service/media-data.service';
|
|
15
|
+
import { ReflectionHelper } from '../../../utils/service/reflection-helper.service';
|
|
15
16
|
export interface SendMessageDto {
|
|
16
17
|
levelId: number;
|
|
17
18
|
levelType: string;
|
|
@@ -63,10 +64,11 @@ export declare class IntegrationService {
|
|
|
63
64
|
private readonly mediaService;
|
|
64
65
|
private readonly fieldMapperService;
|
|
65
66
|
private readonly entityService;
|
|
67
|
+
private readonly reflectionHelper;
|
|
66
68
|
private readonly queueService?;
|
|
67
69
|
private readonly logger;
|
|
68
70
|
private readonly gmailOAuthStates;
|
|
69
|
-
constructor(configRepository: Repository<IntegrationConfig>, userIntegrationRepository: Repository<UserIntegration>, entityMapperRepository: Repository<IntegrationEntityMapper>, dataSource: DataSource, integrationFactory: IntegrationFactory, gmailApiStrategy: GmailApiStrategy, sendGridApiStrategy: SendGridApiStrategy, configService: ConfigService, mediaService: MediaDataService, fieldMapperService: FieldMapperService, entityService: EntityServiceImpl, queueService?: IntegrationQueueService | undefined);
|
|
71
|
+
constructor(configRepository: Repository<IntegrationConfig>, userIntegrationRepository: Repository<UserIntegration>, entityMapperRepository: Repository<IntegrationEntityMapper>, dataSource: DataSource, integrationFactory: IntegrationFactory, gmailApiStrategy: GmailApiStrategy, sendGridApiStrategy: SendGridApiStrategy, configService: ConfigService, mediaService: MediaDataService, fieldMapperService: FieldMapperService, entityService: EntityServiceImpl, reflectionHelper: ReflectionHelper, queueService?: IntegrationQueueService | undefined);
|
|
70
72
|
private deriveServiceType;
|
|
71
73
|
sendMessage({ levelId, levelType, app_code, to, message, mode, priority, user_id, }: SendMessageDto): Promise<IntegrationResult>;
|
|
72
74
|
getActiveConfigs(levelId: number, levelType: string, app_code: string, mode?: 'EMAIL' | 'SMS' | 'WA' | 'TELEPHONE'): Promise<IntegrationConfig[]>;
|
|
@@ -31,8 +31,9 @@ const global_constant_1 = require("../../../constant/global.constant");
|
|
|
31
31
|
const entity_service_impl_service_1 = require("../../meta/service/entity-service-impl.service");
|
|
32
32
|
const media_data_service_1 = require("../../meta/service/media-data.service");
|
|
33
33
|
const axios_1 = require("axios");
|
|
34
|
+
const reflection_helper_service_1 = require("../../../utils/service/reflection-helper.service");
|
|
34
35
|
let IntegrationService = IntegrationService_1 = class IntegrationService {
|
|
35
|
-
constructor(configRepository, userIntegrationRepository, entityMapperRepository, dataSource, integrationFactory, gmailApiStrategy, sendGridApiStrategy, configService, mediaService, fieldMapperService, entityService, queueService) {
|
|
36
|
+
constructor(configRepository, userIntegrationRepository, entityMapperRepository, dataSource, integrationFactory, gmailApiStrategy, sendGridApiStrategy, configService, mediaService, fieldMapperService, entityService, reflectionHelper, queueService) {
|
|
36
37
|
this.configRepository = configRepository;
|
|
37
38
|
this.userIntegrationRepository = userIntegrationRepository;
|
|
38
39
|
this.entityMapperRepository = entityMapperRepository;
|
|
@@ -44,6 +45,7 @@ let IntegrationService = IntegrationService_1 = class IntegrationService {
|
|
|
44
45
|
this.mediaService = mediaService;
|
|
45
46
|
this.fieldMapperService = fieldMapperService;
|
|
46
47
|
this.entityService = entityService;
|
|
48
|
+
this.reflectionHelper = reflectionHelper;
|
|
47
49
|
this.queueService = queueService;
|
|
48
50
|
this.logger = new common_1.Logger(IntegrationService_1.name);
|
|
49
51
|
this.gmailOAuthStates = new Map();
|
|
@@ -109,8 +111,8 @@ let IntegrationService = IntegrationService_1 = class IntegrationService {
|
|
|
109
111
|
}
|
|
110
112
|
async getAllIntegrationData(loggedInUser, integration_type) {
|
|
111
113
|
try {
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
+
const integrationSourceRepo = this.reflectionHelper.getRepoService('IntegrationSource');
|
|
115
|
+
const allIntegrationData = await integrationSourceRepo.find();
|
|
114
116
|
if (integration_type) {
|
|
115
117
|
return allIntegrationData.filter((data) => data.integration_type.toLowerCase() ===
|
|
116
118
|
integration_type.toLowerCase());
|
|
@@ -1570,7 +1572,7 @@ exports.IntegrationService = IntegrationService = IntegrationService_1 = __decor
|
|
|
1570
1572
|
__param(1, (0, typeorm_1.InjectRepository)(user_integration_entity_1.UserIntegration)),
|
|
1571
1573
|
__param(2, (0, typeorm_1.InjectRepository)(integration_entity_mapper_entity_1.IntegrationEntityMapper)),
|
|
1572
1574
|
__param(9, (0, common_1.Inject)('FieldMapperService')),
|
|
1573
|
-
__param(
|
|
1575
|
+
__param(12, (0, common_1.Inject)((0, common_1.forwardRef)(() => integration_queue_service_1.IntegrationQueueService))),
|
|
1574
1576
|
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
1575
1577
|
typeorm_2.Repository,
|
|
1576
1578
|
typeorm_2.Repository,
|
|
@@ -1582,6 +1584,7 @@ exports.IntegrationService = IntegrationService = IntegrationService_1 = __decor
|
|
|
1582
1584
|
media_data_service_1.MediaDataService,
|
|
1583
1585
|
field_mapper_service_1.FieldMapperService,
|
|
1584
1586
|
entity_service_impl_service_1.EntityServiceImpl,
|
|
1587
|
+
reflection_helper_service_1.ReflectionHelper,
|
|
1585
1588
|
integration_queue_service_1.IntegrationQueueService])
|
|
1586
1589
|
], IntegrationService);
|
|
1587
1590
|
//# sourceMappingURL=integration.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.service.js","sourceRoot":"","sources":["../../../../src/module/integration/service/integration.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"integration.service.js","sourceRoot":"","sources":["../../../../src/module/integration/service/integration.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import { DataSource } from 'typeorm';
|
|
2
1
|
import { IntegrationService } from './integration.service';
|
|
3
|
-
import { GoogleService } from './calendar-event.service';
|
|
4
2
|
import { IcsMeetingService } from 'src/module/ics/service/ics.service';
|
|
5
3
|
import { LoggingService } from 'src/utils/service/loggingUtil.service';
|
|
6
|
-
import {
|
|
4
|
+
import { ReflectionHelper } from '../../../utils/service/reflection-helper.service';
|
|
7
5
|
export declare class WrapperService {
|
|
8
|
-
private readonly datasource;
|
|
9
6
|
private readonly integrationService;
|
|
10
|
-
private readonly googleService;
|
|
11
7
|
private readonly icsService;
|
|
12
8
|
private readonly loggingService;
|
|
13
|
-
private readonly
|
|
9
|
+
private readonly reflectionHelper;
|
|
14
10
|
private readonly logger;
|
|
15
|
-
constructor(
|
|
11
|
+
constructor(integrationService: IntegrationService, icsService: IcsMeetingService, loggingService: LoggingService, reflectionHelper: ReflectionHelper);
|
|
16
12
|
sendMailWrapper(payload: any, loggedInUser: any): Promise<{
|
|
17
13
|
success: boolean;
|
|
18
14
|
data: import("../strategies/integration.strategy").IntegrationResult;
|
|
@@ -12,21 +12,16 @@ var WrapperService_1;
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.WrapperService = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
-
const typeorm_1 = require("typeorm");
|
|
16
15
|
const integration_service_1 = require("./integration.service");
|
|
17
|
-
const calendar_event_service_1 = require("./calendar-event.service");
|
|
18
16
|
const ics_service_1 = require("../../ics/service/ics.service");
|
|
19
17
|
const loggingUtil_service_1 = require("../../../utils/service/loggingUtil.service");
|
|
20
|
-
const
|
|
21
|
-
const axios_1 = require("axios");
|
|
18
|
+
const reflection_helper_service_1 = require("../../../utils/service/reflection-helper.service");
|
|
22
19
|
let WrapperService = WrapperService_1 = class WrapperService {
|
|
23
|
-
constructor(
|
|
24
|
-
this.datasource = datasource;
|
|
20
|
+
constructor(integrationService, icsService, loggingService, reflectionHelper) {
|
|
25
21
|
this.integrationService = integrationService;
|
|
26
|
-
this.googleService = googleService;
|
|
27
22
|
this.icsService = icsService;
|
|
28
23
|
this.loggingService = loggingService;
|
|
29
|
-
this.
|
|
24
|
+
this.reflectionHelper = reflectionHelper;
|
|
30
25
|
this.logger = new common_1.Logger(WrapperService_1.name);
|
|
31
26
|
}
|
|
32
27
|
async sendMailWrapper(payload, loggedInUser) {
|
|
@@ -34,19 +29,30 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
34
29
|
this.loggingService.log('debug', 'wrapperService', 'sendMailWrapper', `sendMailWrapper called. User: ${JSON.stringify(loggedInUser)}, Payload: ${JSON.stringify(payload)}`, [], []);
|
|
35
30
|
const { level_id, level_type, organization_id } = loggedInUser;
|
|
36
31
|
this.loggingService.log('debug', 'wrapperService', 'sendMailWrapper', `Fetching configs for level_id=${level_id}, level_type=${level_type}`, [], []);
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
const intergrationConfigRepo = this.reflectionHelper.getRepoService('IntegrationConfig');
|
|
33
|
+
const configs = await intergrationConfigRepo.find({
|
|
34
|
+
where: {
|
|
35
|
+
level_id: level_id,
|
|
36
|
+
level_type: level_type,
|
|
37
|
+
status: 1,
|
|
38
|
+
integration_type: 'EMAIL',
|
|
39
|
+
},
|
|
40
|
+
});
|
|
42
41
|
this.loggingService.log('debug', 'wrapperService', 'sendMailWrapper', `Configs found: ${JSON.stringify(configs)}`, [], []);
|
|
43
42
|
let templateCode;
|
|
44
43
|
if (payload.templateCode) {
|
|
45
44
|
this.loggingService.log('debug', 'wrapperService', 'sendMailWrapper', `Looking up templateCode=${payload.templateCode} for current level`, [], []);
|
|
46
|
-
const
|
|
45
|
+
const templateRepo = this.reflectionHelper.getRepoService('CommTemplate');
|
|
46
|
+
const template = await templateRepo.findOne({
|
|
47
|
+
where: {
|
|
48
|
+
code: payload.templateCode,
|
|
49
|
+
level_id: level_id,
|
|
50
|
+
level_type: level_type,
|
|
51
|
+
},
|
|
52
|
+
});
|
|
47
53
|
this.loggingService.log('debug', 'wrapperService', 'sendMailWrapper', `Template lookup result: ${JSON.stringify(template)}`, [], []);
|
|
48
|
-
if (template
|
|
49
|
-
templateCode = template
|
|
54
|
+
if (template) {
|
|
55
|
+
templateCode = template.rich_text;
|
|
50
56
|
}
|
|
51
57
|
else {
|
|
52
58
|
this.loggingService.log('warn', 'wrapperService', 'sendMailWrapper', `No template found for templateCode=${payload.templateCode} and current level`, [], []);
|
|
@@ -73,10 +79,13 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
73
79
|
}
|
|
74
80
|
else {
|
|
75
81
|
this.loggingService.log('warn', 'wrapperService', 'sendMailWrapper', `No user-level configs found. Falling back to ORG-level`, [], []);
|
|
76
|
-
const fallbackConfigs = await
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
82
|
+
const fallbackConfigs = await intergrationConfigRepo.find({
|
|
83
|
+
where: {
|
|
84
|
+
level_type: 'ORG',
|
|
85
|
+
integration_type: 'EMAIL',
|
|
86
|
+
status: 1,
|
|
87
|
+
},
|
|
88
|
+
});
|
|
80
89
|
this.loggingService.log('debug', 'wrapperService', 'sendMailWrapper', `ORG-level configs: ${JSON.stringify(fallbackConfigs)}`, [], []);
|
|
81
90
|
if (!fallbackConfigs || fallbackConfigs.length === 0) {
|
|
82
91
|
this.loggingService.log('warn', 'wrapperService', 'sendMailWrapper', 'No active email communication config found', [], []);
|
|
@@ -133,18 +142,22 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
133
142
|
let resolvedTemplateId = entity?.templateId;
|
|
134
143
|
if (entity.template_code) {
|
|
135
144
|
this.loggingService.log('debug', 'wrapperService', 'sendCommunicationWrapperService', `Looking up template for code=${entity.template_code}, level_id=${level_id}, level_type=${level_type}`, [], []);
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
145
|
+
const commTemplateRepo = this.reflectionHelper.getRepoService('CommTemplate');
|
|
146
|
+
let templates = await commTemplateRepo.find({
|
|
147
|
+
where: {
|
|
148
|
+
code: entity.template_code,
|
|
149
|
+
level_id: level_id,
|
|
150
|
+
level_type: level_type,
|
|
151
|
+
},
|
|
152
|
+
});
|
|
141
153
|
if (!templates || templates.length === 0) {
|
|
142
154
|
this.loggingService.log('warn', 'wrapperService', 'sendCommunicationWrapperService', `No template found for ${entity.template_code} at provided level. Falling back to ORG-level.`, [], []);
|
|
143
|
-
templates = await
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
155
|
+
templates = await commTemplateRepo.find({
|
|
156
|
+
where: {
|
|
157
|
+
code: entity.template_code,
|
|
158
|
+
organization_id: organization_id,
|
|
159
|
+
},
|
|
160
|
+
});
|
|
148
161
|
}
|
|
149
162
|
if (templates && templates.length > 0) {
|
|
150
163
|
resolvedTemplateId = templates[0]?.id;
|
|
@@ -169,28 +182,10 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
169
182
|
user_id: loggedInUser.id,
|
|
170
183
|
entity_type: entity.entity_type,
|
|
171
184
|
entity_id: entity.entity_id,
|
|
172
|
-
attachments:
|
|
185
|
+
attachments: entity.attachments,
|
|
173
186
|
mediaUrl: entity.mediaUrl,
|
|
174
187
|
organization_id: organization_id,
|
|
175
188
|
};
|
|
176
|
-
if (entity.attachments && entity.attachments.length > 0) {
|
|
177
|
-
mailPayload.attachments = [];
|
|
178
|
-
for (const attachmentId of entity.attachments) {
|
|
179
|
-
const url = await this.mediaService.getMediaDownloadUrl(attachmentId, {}, 60000);
|
|
180
|
-
if (!url?.signedUrl)
|
|
181
|
-
continue;
|
|
182
|
-
const response = await axios_1.default.get(url.signedUrl, {
|
|
183
|
-
responseType: 'arraybuffer',
|
|
184
|
-
});
|
|
185
|
-
const base64Content = Buffer.from(response.data).toString('base64');
|
|
186
|
-
mailPayload.attachments.push({
|
|
187
|
-
content: base64Content,
|
|
188
|
-
type: response.headers['content-type'] || 'application/octet-stream',
|
|
189
|
-
filename: url.fileName,
|
|
190
|
-
disposition: 'attachment',
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
189
|
this.loggingService.log('debug', 'wrapperService', 'sendCommunicationWrapperService', `Final payload for sendGenericMessage: ${JSON.stringify(mailPayload)}`, [], []);
|
|
195
190
|
const result = await this.integrationService.sendGenericMessage(mailPayload);
|
|
196
191
|
this.loggingService.log('log', 'wrapperService', 'sendCommunicationWrapperService', `sendCommunicationWrapper SUCCESS. Result: ${JSON.stringify(result)}`, [], []);
|
|
@@ -227,12 +222,16 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
227
222
|
};
|
|
228
223
|
}
|
|
229
224
|
this.loggingService.log('log', 'wrapperService', 'scheduleMeetingWrapper', `No user-level config found, checking ORG-level...`, [], []);
|
|
230
|
-
const
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
225
|
+
const integrationConfigRepo = this.reflectionHelper.getRepoService('IntegrationConfig');
|
|
226
|
+
const orgConfigs = await integrationConfigRepo.find({
|
|
227
|
+
where: {
|
|
228
|
+
level_id: 1,
|
|
229
|
+
level_type: 'ORG',
|
|
230
|
+
integration_type: 'EMAIL',
|
|
231
|
+
app_code: 'DEFAULT',
|
|
232
|
+
status: 1,
|
|
233
|
+
},
|
|
234
|
+
});
|
|
236
235
|
integrationConfig = await this.integrationService.getSingleActiveConfig(1, 'ORG', 'DEFAULT', 'EMAIL');
|
|
237
236
|
this.loggingService.log('debug', 'wrapperService', 'scheduleMeetingWrapper', `ORG configs found: ${JSON.stringify(orgConfigs)}`, [], []);
|
|
238
237
|
if (integrationConfig) {
|
|
@@ -249,21 +248,26 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
249
248
|
}
|
|
250
249
|
async getConfigCred(configId) {
|
|
251
250
|
this.loggingService.log('debug', 'wrapperService', 'getConfigCred', `Fetching config JSON for configId=${configId}`, [], []);
|
|
252
|
-
const
|
|
253
|
-
|
|
254
|
-
|
|
251
|
+
const integrationConfigRepo = this.reflectionHelper.getRepoService('IntegrationConfig');
|
|
252
|
+
const configRes = await integrationConfigRepo.findOne({
|
|
253
|
+
where: {
|
|
254
|
+
id: configId,
|
|
255
|
+
},
|
|
256
|
+
});
|
|
255
257
|
this.loggingService.log('debug', 'wrapperService', 'getConfigCred', `Config fetch result: ${JSON.stringify(configRes)}`, [], []);
|
|
256
|
-
return configRes?.
|
|
258
|
+
return configRes?.config_json || null;
|
|
257
259
|
}
|
|
258
260
|
async sendIcsInvite(payload, levelId, levelType, appCode, organizationId, mapped_entities) {
|
|
259
261
|
this.loggingService.log('log', 'wrapperService', 'sendIcsInvite', `Generating ICS file. Payload: ${JSON.stringify(payload)}`, [], []);
|
|
260
262
|
if (payload.template_code) {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
263
|
+
const commTemplateRepo = this.reflectionHelper.getRepoService('CommTemplate');
|
|
264
|
+
let templates = await commTemplateRepo.find({
|
|
265
|
+
where: {
|
|
266
|
+
code: payload.template_code,
|
|
267
|
+
level_id: levelId,
|
|
268
|
+
levelType: levelType,
|
|
269
|
+
},
|
|
270
|
+
});
|
|
267
271
|
if (templates && templates.length > 0) {
|
|
268
272
|
payload['templateId'] = templates[0].id;
|
|
269
273
|
}
|
|
@@ -314,11 +318,9 @@ let WrapperService = WrapperService_1 = class WrapperService {
|
|
|
314
318
|
exports.WrapperService = WrapperService;
|
|
315
319
|
exports.WrapperService = WrapperService = WrapperService_1 = __decorate([
|
|
316
320
|
(0, common_1.Injectable)(),
|
|
317
|
-
__metadata("design:paramtypes", [
|
|
318
|
-
integration_service_1.IntegrationService,
|
|
319
|
-
calendar_event_service_1.GoogleService,
|
|
321
|
+
__metadata("design:paramtypes", [integration_service_1.IntegrationService,
|
|
320
322
|
ics_service_1.IcsMeetingService,
|
|
321
323
|
loggingUtil_service_1.LoggingService,
|
|
322
|
-
|
|
324
|
+
reflection_helper_service_1.ReflectionHelper])
|
|
323
325
|
], WrapperService);
|
|
324
326
|
//# sourceMappingURL=wrapper.service.js.map
|