rez_core 5.0.96 → 5.0.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierrc +3 -3
- package/.vscode/extensions.json +5 -0
- package/README.md +99 -99
- package/dist/module/auth/guards/role.guard.js +3 -3
- package/dist/module/filter/service/filter.service.js +20 -20
- package/dist/module/integration/examples/usage.example.js +9 -9
- package/dist/module/meta/repository/attribute-master.repository.js +8 -8
- package/dist/module/meta/service/entity-dynamic.service.js +19 -19
- package/dist/module/meta/service/entity-list.service.js +3 -3
- package/dist/module/meta/service/entity-service-impl.service.js +3 -3
- package/dist/module/meta/service/media-data.service.js +6 -6
- package/dist/module/meta/service/resolver.service.js +15 -15
- package/dist/module/module/repository/menu.repository.js +4 -4
- package/dist/module/notification/service/notification.service.js +6 -6
- package/dist/module/user/controller/login.controller.js +18 -18
- package/dist/module/workflow/repository/action-data.repository.js +1 -1
- package/dist/module/workflow/repository/action-data.repository.js.map +1 -1
- package/dist/module/workflow/repository/action.repository.js +2 -2
- package/dist/module/workflow/repository/stage-movement.repository.js +3 -1
- package/dist/module/workflow/repository/stage-movement.repository.js.map +1 -1
- package/dist/module/workflow/repository/stage.repository.js +8 -8
- package/dist/module/workflow/service/action-template-mapping.service.js +4 -4
- package/dist/module/workflow/service/action.service.js +10 -10
- package/dist/module/workflow/service/entity-modification.service.js +2 -2
- package/dist/module/workflow/service/task.service.js +5 -5
- package/dist/module/workflow-automation/service/schedule-handler.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 -56
- 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 -51
- 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 +272 -272
- 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 -33
- package/src/module/filter/repository/saved-filter.repository.ts +168 -168
- package/src/module/filter/repository/saved.filter-detail.repository.ts +19 -19
- package/src/module/filter/service/filter-evaluator.service.ts +82 -82
- package/src/module/filter/service/filter.service.ts +1304 -1304
- 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 -2634
- package/src/module/integration/service/oauth.service.ts +224 -224
- package/src/module/integration/service/wrapper.service.ts +716 -716
- 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 -56
- 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 -281
- 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 +269 -269
- 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 -156
- package/src/module/meta/repository/entity-attribute-update.repository.ts +48 -48
- package/src/module/meta/repository/entity-master.repository.ts +110 -110
- 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 +818 -818
- 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 +69 -69
- package/src/module/meta/service/entity-service-impl.service.ts +525 -525
- package/src/module/meta/service/entity-table-column.service.ts +39 -39
- package/src/module/meta/service/entity-table.service.ts +150 -150
- package/src/module/meta/service/entity-validation.service.ts +187 -187
- package/src/module/meta/service/entity.service.ts +67 -67
- package/src/module/meta/service/field-group.service.ts +103 -103
- package/src/module/meta/service/media-data.service.ts +510 -510
- 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 +293 -293
- package/src/module/meta/service/section-master.service.ts +104 -104
- package/src/module/meta/service/update-form-json.service.ts +22 -22
- package/src/module/meta/service/user-app-mapping.service.ts +17 -17
- package/src/module/meta/service/view-master.service.ts +127 -127
- package/src/module/microservice-client/microservice-clients.module.ts +13 -13
- package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
- package/src/module/microservice-client/service/microservice-clients.ts +4 -4
- package/src/module/module/controller/menu.controller.ts +15 -15
- package/src/module/module/controller/module-access.controller.ts +134 -134
- package/src/module/module/entity/menu.entity.ts +43 -43
- package/src/module/module/entity/module-access.entity.ts +25 -25
- package/src/module/module/entity/module-action.entity.ts +17 -17
- package/src/module/module/entity/module.entity.ts +52 -52
- package/src/module/module/module.module.ts +42 -42
- package/src/module/module/repository/menu.repository.ts +184 -184
- package/src/module/module/repository/module-access.repository.ts +344 -344
- package/src/module/module/service/menu.service.ts +82 -82
- package/src/module/module/service/module-access.service.ts +199 -199
- package/src/module/notification/controller/notification.controller.ts +58 -58
- package/src/module/notification/controller/otp.controller.ts +117 -117
- package/src/module/notification/entity/notification.entity.ts +26 -26
- package/src/module/notification/entity/otp.entity.ts +28 -28
- package/src/module/notification/firebase-admin.config.ts +22 -22
- package/src/module/notification/notification.module.ts +69 -69
- package/src/module/notification/repository/otp.repository.ts +27 -27
- package/src/module/notification/service/email.service.ts +127 -127
- package/src/module/notification/service/notification.service.ts +164 -164
- 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 +177 -177
- 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 +346 -344
- package/src/module/workflow/repository/action.repository.ts +338 -338
- package/src/module/workflow/repository/activity-log.repository.ts +148 -148
- package/src/module/workflow/repository/comm-template.repository.ts +157 -157
- package/src/module/workflow/repository/form-master.repository.ts +50 -50
- package/src/module/workflow/repository/stage-group.repository.ts +186 -186
- package/src/module/workflow/repository/stage-movement.repository.ts +262 -256
- package/src/module/workflow/repository/stage.repository.ts +160 -160
- package/src/module/workflow/repository/task.repository.ts +151 -151
- 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 +306 -306
- 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 +320 -320
- package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
- package/src/module/workflow/service/stage-group.service.ts +344 -344
- package/src/module/workflow/service/stage.service.ts +207 -207
- package/src/module/workflow/service/task.service.ts +546 -546
- package/src/module/workflow/service/workflow-list-master.service.ts +68 -68
- package/src/module/workflow/service/workflow-meta.service.ts +639 -639
- package/src/module/workflow/service/workflow.service.ts +213 -213
- 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 +219 -219
- 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 +620 -620
- package/src/module/workflow-schedule/service/workflow-schedule.service.ts +598 -598
- 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/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');
|
|
@@ -63,11 +63,11 @@ let FilterService = class FilterService {
|
|
|
63
63
|
});
|
|
64
64
|
whereSQL = `WHERE ${clauseParts.join(' AND ')}`;
|
|
65
65
|
}
|
|
66
|
-
const rawSQL = `
|
|
67
|
-
SELECT ${column} AS tab_value, COUNT(*) AS tab_value_count
|
|
68
|
-
FROM ${tableName}
|
|
69
|
-
${whereSQL}
|
|
70
|
-
GROUP BY ${column}
|
|
66
|
+
const rawSQL = `
|
|
67
|
+
SELECT ${column} AS tab_value, COUNT(*) AS tab_value_count
|
|
68
|
+
FROM ${tableName}
|
|
69
|
+
${whereSQL}
|
|
70
|
+
GROUP BY ${column}
|
|
71
71
|
`;
|
|
72
72
|
const rows = await this.queryWithSchema(rawSQL, values);
|
|
73
73
|
const total = rows.reduce((sum, r) => sum + parseInt(r.tab_value_count, 10), 0);
|
|
@@ -182,21 +182,21 @@ let FilterService = class FilterService {
|
|
|
182
182
|
}
|
|
183
183
|
else if (level_type === 'SCH') {
|
|
184
184
|
baseWhere.push({
|
|
185
|
-
query: `
|
|
186
|
-
(
|
|
187
|
-
(e.level_type = 'SCH' AND e.level_id = '${loggedInUser.level_id}' AND e.organization_id = '${loggedInUser.organization_id}')
|
|
188
|
-
OR
|
|
189
|
-
(
|
|
190
|
-
e.level_type = 'ORG'
|
|
191
|
-
AND e.level_id = '${loggedInUser.organization_id}'
|
|
192
|
-
AND e.organization_id = '${loggedInUser.organization_id}'
|
|
193
|
-
AND e.code NOT IN (
|
|
194
|
-
SELECT sub.code
|
|
195
|
-
FROM frm_wf_comm_template AS sub
|
|
196
|
-
WHERE sub.level_type = 'SCH' AND sub.level_id = '${loggedInUser.level_id}'
|
|
197
|
-
)
|
|
198
|
-
)
|
|
199
|
-
)
|
|
185
|
+
query: `
|
|
186
|
+
(
|
|
187
|
+
(e.level_type = 'SCH' AND e.level_id = '${loggedInUser.level_id}' AND e.organization_id = '${loggedInUser.organization_id}')
|
|
188
|
+
OR
|
|
189
|
+
(
|
|
190
|
+
e.level_type = 'ORG'
|
|
191
|
+
AND e.level_id = '${loggedInUser.organization_id}'
|
|
192
|
+
AND e.organization_id = '${loggedInUser.organization_id}'
|
|
193
|
+
AND e.code NOT IN (
|
|
194
|
+
SELECT sub.code
|
|
195
|
+
FROM frm_wf_comm_template AS sub
|
|
196
|
+
WHERE sub.level_type = 'SCH' AND sub.level_id = '${loggedInUser.level_id}'
|
|
197
|
+
)
|
|
198
|
+
)
|
|
199
|
+
)
|
|
200
200
|
`,
|
|
201
201
|
params: {},
|
|
202
202
|
});
|
|
@@ -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,
|
|
@@ -97,18 +97,18 @@ let AttributeMasterRepository = class AttributeMasterRepository {
|
|
|
97
97
|
return null;
|
|
98
98
|
}
|
|
99
99
|
async checkIfColumnExists(tableName, columnName) {
|
|
100
|
-
const result = await this.entityManger.query(`
|
|
101
|
-
SELECT column_name
|
|
102
|
-
FROM information_schema.columns
|
|
103
|
-
WHERE table_name = $1
|
|
104
|
-
AND column_name = $2
|
|
100
|
+
const result = await this.entityManger.query(`
|
|
101
|
+
SELECT column_name
|
|
102
|
+
FROM information_schema.columns
|
|
103
|
+
WHERE table_name = $1
|
|
104
|
+
AND column_name = $2
|
|
105
105
|
`, [tableName, columnName]);
|
|
106
106
|
return result.length > 0;
|
|
107
107
|
}
|
|
108
108
|
async addColumnToTable(tableName, columnName, columnType) {
|
|
109
|
-
const alterQuery = `
|
|
110
|
-
ALTER TABLE "${tableName}"
|
|
111
|
-
ADD COLUMN IF NOT EXISTS "${columnName}" ${columnType}
|
|
109
|
+
const alterQuery = `
|
|
110
|
+
ALTER TABLE "${tableName}"
|
|
111
|
+
ADD COLUMN IF NOT EXISTS "${columnName}" ${columnType}
|
|
112
112
|
`;
|
|
113
113
|
await this.entityManger.query(alterQuery);
|
|
114
114
|
}
|
|
@@ -53,10 +53,10 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
53
53
|
if (!entityData.status)
|
|
54
54
|
entityData.status = statusList[0]?.id;
|
|
55
55
|
if (!entityData.code && entityData.entity_type) {
|
|
56
|
-
const result = await this.entityManager.query(`
|
|
57
|
-
SELECT MAX(id) AS max_seq_no
|
|
58
|
-
FROM ${tableName}
|
|
59
|
-
WHERE entity_type = $1
|
|
56
|
+
const result = await this.entityManager.query(`
|
|
57
|
+
SELECT MAX(id) AS max_seq_no
|
|
58
|
+
FROM ${tableName}
|
|
59
|
+
WHERE entity_type = $1
|
|
60
60
|
`, [entityData.entity_type]);
|
|
61
61
|
let maxSeq = Number(result?.[0]?.max_seq_no) || 0;
|
|
62
62
|
maxSeq++;
|
|
@@ -100,9 +100,9 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
100
100
|
}
|
|
101
101
|
const colList = columns.map((c) => `"${c}"`).join(', ');
|
|
102
102
|
const placeholderList = placeholders.join(', ');
|
|
103
|
-
const sql = `
|
|
104
|
-
INSERT INTO ${tableName} (${colList})
|
|
105
|
-
VALUES (${placeholderList}) RETURNING id
|
|
103
|
+
const sql = `
|
|
104
|
+
INSERT INTO ${tableName} (${colList})
|
|
105
|
+
VALUES (${placeholderList}) RETURNING id
|
|
106
106
|
`;
|
|
107
107
|
const result = await this.entityManager.query(sql, values);
|
|
108
108
|
return result[0];
|
|
@@ -318,10 +318,10 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
318
318
|
}
|
|
319
319
|
const idPlaceholder = `$${idx}`;
|
|
320
320
|
values.push(id);
|
|
321
|
-
const updateQuery = `
|
|
322
|
-
UPDATE ${tableName}
|
|
323
|
-
SET ${updates.join(', ')}
|
|
324
|
-
WHERE id = ${idPlaceholder}
|
|
321
|
+
const updateQuery = `
|
|
322
|
+
UPDATE ${tableName}
|
|
323
|
+
SET ${updates.join(', ')}
|
|
324
|
+
WHERE id = ${idPlaceholder}
|
|
325
325
|
`;
|
|
326
326
|
return await this.entityManager.query(updateQuery, values);
|
|
327
327
|
}
|
|
@@ -332,8 +332,8 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
332
332
|
const columns = validAttributes
|
|
333
333
|
.map((attr) => `${attr.attribute_key}`)
|
|
334
334
|
.join(', ');
|
|
335
|
-
const selectQuery = `SELECT ${columns}
|
|
336
|
-
FROM ${dataSource}
|
|
335
|
+
const selectQuery = `SELECT ${columns}
|
|
336
|
+
FROM ${dataSource}
|
|
337
337
|
WHERE id = $1`;
|
|
338
338
|
const result = await this.entityManager.query(selectQuery, [id]);
|
|
339
339
|
if (!result.length)
|
|
@@ -427,16 +427,16 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
427
427
|
async deleteEntity(entityType, id, loggedInUser) {
|
|
428
428
|
const organizationId = loggedInUser.organization_id;
|
|
429
429
|
const tableName = await this.getTableName(entityType, organizationId);
|
|
430
|
-
const deleteQuery = `DELETE
|
|
431
|
-
FROM \`${tableName}\`
|
|
430
|
+
const deleteQuery = `DELETE
|
|
431
|
+
FROM \`${tableName}\`
|
|
432
432
|
WHERE id = $1`;
|
|
433
433
|
const result = await this.entityManager.query(deleteQuery, [id]);
|
|
434
434
|
return result;
|
|
435
435
|
}
|
|
436
436
|
async getEntitiesDropdownList(loggedInUser, appcode) {
|
|
437
437
|
const organizationId = loggedInUser.organization_id;
|
|
438
|
-
let query = `SELECT name as label, mapped_entity_type as value
|
|
439
|
-
FROM frm_entity_master
|
|
438
|
+
let query = `SELECT name as label, mapped_entity_type as value
|
|
439
|
+
FROM frm_entity_master
|
|
440
440
|
WHERE organization_id = $1`;
|
|
441
441
|
const params = [organizationId];
|
|
442
442
|
if (appcode) {
|
|
@@ -453,8 +453,8 @@ let EntityDynamicService = class EntityDynamicService {
|
|
|
453
453
|
throw new Error(`Entity type '${entityType}' not found in frm_entity_master for org '${organizationId}'`);
|
|
454
454
|
}
|
|
455
455
|
const tableName = result.db_table_name;
|
|
456
|
-
const seqResult = await this.entityManager.query(`SELECT MAX(id) AS max_seq_no
|
|
457
|
-
FROM ${tableName}
|
|
456
|
+
const seqResult = await this.entityManager.query(`SELECT MAX(id) AS max_seq_no
|
|
457
|
+
FROM ${tableName}
|
|
458
458
|
WHERE entity_type = $1`, [entityType]);
|
|
459
459
|
let maxSeqNo = seqResult?.[0]?.max_seq_no
|
|
460
460
|
? Number(seqResult[0].max_seq_no)
|
|
@@ -75,11 +75,11 @@ let EntityListService = class EntityListService {
|
|
|
75
75
|
}
|
|
76
76
|
getQuery(source, groupByColumn) {
|
|
77
77
|
if (groupByColumn) {
|
|
78
|
-
return `SELECT ${groupByColumn} as tab_value, COUNT(1) AS tab_value_count
|
|
78
|
+
return `SELECT ${groupByColumn} as tab_value, COUNT(1) AS tab_value_count
|
|
79
79
|
FROM ${source}`;
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
|
-
return `SELECT *
|
|
82
|
+
return `SELECT *
|
|
83
83
|
FROM ${source}`;
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -123,7 +123,7 @@ let EntityListService = class EntityListService {
|
|
|
123
123
|
return { query, argumentList: argsObjectList };
|
|
124
124
|
}
|
|
125
125
|
async getMaxSequenceNumber(tableName, parentType, parentId) {
|
|
126
|
-
const query = `SELECT max(id) as seq_no
|
|
126
|
+
const query = `SELECT max(id) as seq_no
|
|
127
127
|
FROM ${tableName} WHERE 1=1 `;
|
|
128
128
|
const argsObjectList = [];
|
|
129
129
|
const result = await this.entityManager.query(query, argsObjectList);
|
|
@@ -50,9 +50,9 @@ let EntityServiceImpl = class EntityServiceImpl {
|
|
|
50
50
|
maxSeqNo = Number(maxSeqNo) + 1;
|
|
51
51
|
entityData.code = entityData.entity_type + maxSeqNo;
|
|
52
52
|
}
|
|
53
|
-
const statusList = await repo.query(`SELECT id
|
|
54
|
-
FROM frm_list_master_items
|
|
55
|
-
WHERE code = $1
|
|
53
|
+
const statusList = await repo.query(`SELECT id
|
|
54
|
+
FROM frm_list_master_items
|
|
55
|
+
WHERE code = $1
|
|
56
56
|
AND organization_id = $2`, [global_constant_1.STATUS_ACTIVE, loggedInUser?.organization_id || 0]);
|
|
57
57
|
console.log('Status List:', statusList);
|
|
58
58
|
console.log(`status_code,${global_constant_1.STATUS_ACTIVE},statusList, ${loggedInUser?.organization_id}`);
|
|
@@ -150,8 +150,8 @@ let MediaDataService = class MediaDataService extends entity_service_impl_servic
|
|
|
150
150
|
const getEntityData = await this.entityMasterService.getEntityData(levelEntityType, loggedInUser);
|
|
151
151
|
if (!getEntityData)
|
|
152
152
|
return null;
|
|
153
|
-
const levelEntityDataResult = await this.entityManager.query(`SELECT *
|
|
154
|
-
FROM ${getEntityData?.db_table_name}
|
|
153
|
+
const levelEntityDataResult = await this.entityManager.query(`SELECT *
|
|
154
|
+
FROM ${getEntityData?.db_table_name}
|
|
155
155
|
WHERE id = $1`, [levelEntityId]);
|
|
156
156
|
const levelEntityData = levelEntityDataResult[0] || null;
|
|
157
157
|
if (levelEntityData?.code) {
|
|
@@ -172,8 +172,8 @@ let MediaDataService = class MediaDataService extends entity_service_impl_servic
|
|
|
172
172
|
const getEntityData = await this.entityMasterService.getEntityData(mappedEntityType, loggedInUser);
|
|
173
173
|
if (!getEntityData)
|
|
174
174
|
return null;
|
|
175
|
-
const levelEntityDataResult = await this.entityManager.query(`SELECT *
|
|
176
|
-
FROM ${getEntityData?.db_table_name}
|
|
175
|
+
const levelEntityDataResult = await this.entityManager.query(`SELECT *
|
|
176
|
+
FROM ${getEntityData?.db_table_name}
|
|
177
177
|
WHERE id = $1`, [mappedEntityId]);
|
|
178
178
|
if (levelEntityDataResult?.[0].code &&
|
|
179
179
|
parentType != 'SCH' &&
|
|
@@ -185,8 +185,8 @@ let MediaDataService = class MediaDataService extends entity_service_impl_servic
|
|
|
185
185
|
const getEntityData = await this.entityMasterService.getEntityData(mappedEntityType, loggedInUser);
|
|
186
186
|
if (!getEntityData)
|
|
187
187
|
return null;
|
|
188
|
-
const levelEntityDataResult = await this.entityManager.query(`SELECT *
|
|
189
|
-
FROM ${getEntityData?.db_table_name}
|
|
188
|
+
const levelEntityDataResult = await this.entityManager.query(`SELECT *
|
|
189
|
+
FROM ${getEntityData?.db_table_name}
|
|
190
190
|
WHERE id = $1`, [mappedEntityId]);
|
|
191
191
|
replacements['template_code'] = levelEntityDataResult?.[0].code;
|
|
192
192
|
pathTemplate = '${org_code}/${level_code}/template/${template_code}';
|
|
@@ -110,12 +110,12 @@ let ResolverService = class ResolverService {
|
|
|
110
110
|
const resolvedValues = [];
|
|
111
111
|
for (const code of rawValue) {
|
|
112
112
|
const query = tableName === 'sso_organization'
|
|
113
|
-
? `SELECT *
|
|
114
|
-
FROM ${tableName}
|
|
113
|
+
? `SELECT *
|
|
114
|
+
FROM ${tableName}
|
|
115
115
|
WHERE code = $1`
|
|
116
|
-
: `SELECT *
|
|
117
|
-
FROM ${tableName}
|
|
118
|
-
WHERE id = $1
|
|
116
|
+
: `SELECT *
|
|
117
|
+
FROM ${tableName}
|
|
118
|
+
WHERE id = $1
|
|
119
119
|
AND organization_id = $2`;
|
|
120
120
|
const params = tableName === 'sso_organization'
|
|
121
121
|
? [code]
|
|
@@ -127,12 +127,12 @@ let ResolverService = class ResolverService {
|
|
|
127
127
|
}
|
|
128
128
|
else {
|
|
129
129
|
const query = tableName === 'sso_organization'
|
|
130
|
-
? `SELECT *
|
|
131
|
-
FROM ${tableName}
|
|
130
|
+
? `SELECT *
|
|
131
|
+
FROM ${tableName}
|
|
132
132
|
WHERE id = $1`
|
|
133
|
-
: `SELECT *
|
|
134
|
-
FROM ${tableName}
|
|
135
|
-
WHERE id = $1
|
|
133
|
+
: `SELECT *
|
|
134
|
+
FROM ${tableName}
|
|
135
|
+
WHERE id = $1
|
|
136
136
|
AND organization_id = $2`;
|
|
137
137
|
const params = tableName === 'sso_organization'
|
|
138
138
|
? [rawValue]
|
|
@@ -186,12 +186,12 @@ let ResolverService = class ResolverService {
|
|
|
186
186
|
return displayValue;
|
|
187
187
|
const tableName = entityDef.db_table_name;
|
|
188
188
|
const query = tableName === 'sso_organization'
|
|
189
|
-
? `SELECT id
|
|
190
|
-
FROM ${tableName}
|
|
189
|
+
? `SELECT id
|
|
190
|
+
FROM ${tableName}
|
|
191
191
|
WHERE ${attr.data_source_attribute} = $1`
|
|
192
|
-
: `SELECT id
|
|
193
|
-
FROM ${tableName}
|
|
194
|
-
WHERE ${attr.data_source_attribute} = $1
|
|
192
|
+
: `SELECT id
|
|
193
|
+
FROM ${tableName}
|
|
194
|
+
WHERE ${attr.data_source_attribute} = $1
|
|
195
195
|
AND organization_id = $2`;
|
|
196
196
|
const params = tableName === 'sso_organization'
|
|
197
197
|
? [displayValue]
|
|
@@ -60,10 +60,10 @@ let MenuRepository = class MenuRepository extends typeorm_1.Repository {
|
|
|
60
60
|
async getMenuItems(moduleCodes, appcode, levelType) {
|
|
61
61
|
return await this.menuData
|
|
62
62
|
.createQueryBuilder('menu')
|
|
63
|
-
.leftJoin('sso_module', 'module', `
|
|
64
|
-
menu.module_code = module.module_code
|
|
65
|
-
AND LOWER(menu.appcode) = LOWER(module.appcode)
|
|
66
|
-
AND menu.level_type = module.level_type
|
|
63
|
+
.leftJoin('sso_module', 'module', `
|
|
64
|
+
menu.module_code = module.module_code
|
|
65
|
+
AND LOWER(menu.appcode) = LOWER(module.appcode)
|
|
66
|
+
AND menu.level_type = module.level_type
|
|
67
67
|
`)
|
|
68
68
|
.where('menu.module_code IN (:...moduleCodes)', { moduleCodes })
|
|
69
69
|
.andWhere('LOWER(menu.appcode) = LOWER(:appcode)', { appcode })
|
|
@@ -69,12 +69,12 @@ let NotificationsService = class NotificationsService {
|
|
|
69
69
|
isReadFilter = isRead ? '1' : '0';
|
|
70
70
|
}
|
|
71
71
|
let paramIndex = 1;
|
|
72
|
-
let sql = `
|
|
73
|
-
SELECT n.*
|
|
74
|
-
FROM frm_notification n
|
|
75
|
-
WHERE n.user_id = $${paramIndex}
|
|
76
|
-
AND n.level_id = $${paramIndex + 1}
|
|
77
|
-
AND n.level_type = $${paramIndex + 2}
|
|
72
|
+
let sql = `
|
|
73
|
+
SELECT n.*
|
|
74
|
+
FROM frm_notification n
|
|
75
|
+
WHERE n.user_id = $${paramIndex}
|
|
76
|
+
AND n.level_id = $${paramIndex + 1}
|
|
77
|
+
AND n.level_type = $${paramIndex + 2}
|
|
78
78
|
`;
|
|
79
79
|
const params = [String(id), String(level_id), String(level_type)];
|
|
80
80
|
paramIndex += 3;
|
|
@@ -58,27 +58,27 @@ let LoginController = class LoginController {
|
|
|
58
58
|
try {
|
|
59
59
|
const actualState = state.replace('gmail_config:', '');
|
|
60
60
|
const result = await this.integrationService.handleGmailTokensCallback(email, googleAccessToken, googleRefreshToken, actualState);
|
|
61
|
-
return res.send(`<html><body><script>
|
|
62
|
-
window.opener.postMessage({ type: 'CONFIG_SUCCESS' }, '*');
|
|
63
|
-
window.close();
|
|
61
|
+
return res.send(`<html><body><script>
|
|
62
|
+
window.opener.postMessage({ type: 'CONFIG_SUCCESS' }, '*');
|
|
63
|
+
window.close();
|
|
64
64
|
</script> <p>Configuration successful. You can close this window.</p> </body></html>`);
|
|
65
65
|
}
|
|
66
66
|
catch (error) {
|
|
67
|
-
return res.send(`
|
|
68
|
-
<html>
|
|
69
|
-
<body>
|
|
70
|
-
<script>
|
|
71
|
-
if (window.opener) {
|
|
72
|
-
window.opener.postMessage({
|
|
73
|
-
type: "CONFIG_FAILED",
|
|
74
|
-
error: "${error.message || 'Something went wrong'}"
|
|
75
|
-
}, "*");
|
|
76
|
-
}
|
|
77
|
-
window.close();
|
|
78
|
-
</script>
|
|
79
|
-
<p>Configuration failed. Please close this window.</p>
|
|
80
|
-
</body>
|
|
81
|
-
</html>
|
|
67
|
+
return res.send(`
|
|
68
|
+
<html>
|
|
69
|
+
<body>
|
|
70
|
+
<script>
|
|
71
|
+
if (window.opener) {
|
|
72
|
+
window.opener.postMessage({
|
|
73
|
+
type: "CONFIG_FAILED",
|
|
74
|
+
error: "${error.message || 'Something went wrong'}"
|
|
75
|
+
}, "*");
|
|
76
|
+
}
|
|
77
|
+
window.close();
|
|
78
|
+
</script>
|
|
79
|
+
<p>Configuration failed. Please close this window.</p>
|
|
80
|
+
</body>
|
|
81
|
+
</html>
|
|
82
82
|
`);
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -219,7 +219,7 @@ let ActionDataRepository = class ActionDataRepository extends entity_service_imp
|
|
|
219
219
|
catch (error) {
|
|
220
220
|
console.error('Internal Entity API call failed:', error.message);
|
|
221
221
|
}
|
|
222
|
-
const org_slug = organizationData
|
|
222
|
+
const org_slug = organizationData?.slug;
|
|
223
223
|
const profile = this.configService.get('PROFILE');
|
|
224
224
|
const baseUrl = this.configService.get('BASE_URL');
|
|
225
225
|
const domainUrl = this.configService.get('DOMAIN_URL');
|