rez_core 6.1.4 → 6.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierrc +3 -3
- package/README.md +99 -99
- package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js +10 -10
- package/dist/module/auth/guards/role.guard.js +3 -3
- package/dist/module/enterprise/service/organization.service.d.ts +1 -1
- package/dist/module/enterprise/service/organization.service.js +3 -4
- package/dist/module/enterprise/service/organization.service.js.map +1 -1
- package/dist/module/filter/repository/saved-filter.repository.js +2 -0
- package/dist/module/filter/repository/saved-filter.repository.js.map +1 -1
- package/dist/module/filter/service/filter.service.js +25 -21
- package/dist/module/filter/service/filter.service.js.map +1 -1
- package/dist/module/filter/service/flatjson-filter.service.js +5 -5
- package/dist/module/integration/examples/usage.example.js +9 -9
- package/dist/module/integration/service/integration.service.d.ts +5 -1
- package/dist/module/integration/service/integration.service.js +11 -1
- package/dist/module/integration/service/integration.service.js.map +1 -1
- package/dist/module/integration/service/oauth.service.js +2 -0
- package/dist/module/integration/service/oauth.service.js.map +1 -1
- package/dist/module/integration/strategies/email/gmail-api.strategy.js +23 -7
- package/dist/module/integration/strategies/email/gmail-api.strategy.js.map +1 -1
- package/dist/module/integration/strategies/email/sendgrid-api.strategy.js +8 -5
- package/dist/module/integration/strategies/email/sendgrid-api.strategy.js.map +1 -1
- package/dist/module/meta/controller/media.controller.d.ts +6 -0
- package/dist/module/meta/controller/media.controller.js +27 -0
- package/dist/module/meta/controller/media.controller.js.map +1 -1
- package/dist/module/meta/entity/media-data.entity.d.ts +2 -0
- package/dist/module/meta/entity/media-data.entity.js +8 -0
- package/dist/module/meta/entity/media-data.entity.js.map +1 -1
- package/dist/module/meta/repository/attribute-master.repository.js +8 -8
- package/dist/module/meta/service/entity-dynamic.service.js +18 -18
- package/dist/module/meta/service/entity-dynamic.service.js.map +1 -1
- package/dist/module/meta/service/media-data.service.d.ts +3 -0
- package/dist/module/meta/service/media-data.service.js +16 -6
- package/dist/module/meta/service/media-data.service.js.map +1 -1
- package/dist/module/meta/service/populate-meta.service.js +8 -2
- package/dist/module/meta/service/populate-meta.service.js.map +1 -1
- package/dist/module/meta/service/resolver.service.js +39 -15
- package/dist/module/meta/service/resolver.service.js.map +1 -1
- package/dist/module/module/repository/menu.repository.js +4 -4
- package/dist/module/user/controller/login.controller.js +19 -19
- package/dist/module/user/controller/login.controller.js.map +1 -1
- package/dist/module/user/service/user-session.service.js +1 -0
- package/dist/module/user/service/user-session.service.js.map +1 -1
- package/dist/module/workflow/repository/action.repository.js +2 -2
- package/dist/module/workflow/repository/stage.repository.js +8 -8
- package/dist/module/workflow/service/action-template-mapping.service.js +2 -2
- package/dist/module/workflow/service/action.service.js +5 -5
- package/dist/module/workflow/service/entity-modification.service.js +2 -2
- package/dist/module/workflow/service/populate-workflow.service.js +5 -0
- package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
- package/dist/module/workflow/service/task.service.js +8 -8
- 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 +13 -13
- package/src/app.module.ts +68 -68
- 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 +94 -94
- 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/migrations/1732612800000-AddEntityJsonGinIndex.ts +41 -41
- 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 +38 -38
- 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 +49 -49
- package/src/module/dashboard/service/dashboard.service.ts +72 -72
- package/src/module/enterprise/controller/organization.controller.ts +36 -36
- package/src/module/enterprise/enterprise.module.ts +45 -45
- 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 +289 -289
- 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 +146 -145
- package/src/module/entity_json/controller/entity_json.controller.ts +60 -60
- package/src/module/entity_json/docs/FlatJson_Filterin_System.md +2803 -2803
- package/src/module/entity_json/entity/entityJson.entity.ts +42 -42
- package/src/module/entity_json/entity_json.module.ts +22 -22
- package/src/module/entity_json/service/entityJson.repository.ts +37 -37
- package/src/module/entity_json/service/entity_json.service.ts +486 -486
- package/src/module/export/controller/export.controller.ts +83 -83
- package/src/module/export/export.module.ts +14 -14
- package/src/module/export/service/export.service.ts +105 -105
- package/src/module/filter/controller/filter.controller.ts +87 -87
- package/src/module/filter/dto/filter-request.dto.ts +39 -39
- package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
- package/src/module/filter/entity/saved-filter-master.entity.ts +35 -35
- package/src/module/filter/filter.module.ts +41 -41
- package/src/module/filter/repository/saved-filter.repository.ts +249 -247
- 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 +1406 -1370
- package/src/module/filter/service/flatjson-filter.service.ts +903 -903
- package/src/module/filter/service/saved-filter.service.ts +154 -154
- package/src/module/filter/test/flatjson-filter.service.spec.ts +415 -415
- 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 +2653 -2639
- package/src/module/integration/service/oauth.service.ts +226 -224
- package/src/module/integration/service/wrapper.service.ts +754 -754
- package/src/module/integration/strategies/email/gmail-api.strategy.ts +307 -281
- 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 +263 -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 +76 -76
- 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 +137 -137
- package/src/module/linked_attributes/dto/create-linked-attribute-smart.dto.ts +54 -54
- package/src/module/linked_attributes/entity/linked_attribute.entity.ts +51 -51
- package/src/module/linked_attributes/linked_attributes.module.ts +23 -23
- package/src/module/linked_attributes/repository/linked_attribute.repository.ts +12 -12
- package/src/module/linked_attributes/service/linked_attributes.service.ts +648 -648
- package/src/module/linked_attributes/test/linked-attributes.service.spec.ts +244 -244
- 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 +280 -280
- package/src/module/listmaster/service/list-master-registry.ts +15 -15
- package/src/module/listmaster/service/list-master.service.ts +527 -527
- 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 +80 -80
- package/src/module/master/controller/master.controller.ts +74 -74
- package/src/module/master/service/master.service.ts +484 -484
- package/src/module/meta/controller/app-master.controller.ts +38 -38
- package/src/module/meta/controller/attribute-master.controller.ts +96 -96
- 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 +308 -308
- package/src/module/meta/controller/entity.public.controller.ts +75 -75
- package/src/module/meta/controller/media.controller.ts +167 -135
- package/src/module/meta/controller/meta.controller.ts +101 -101
- package/src/module/meta/controller/view-master.controller.ts +79 -79
- 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 +12 -12
- package/src/module/meta/entity/app-master.entity.ts +37 -37
- 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 +91 -91
- 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 +38 -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 +165 -165
- package/src/module/meta/repository/app-master.repository.ts +20 -20
- package/src/module/meta/repository/attribute-master.repository.ts +164 -164
- package/src/module/meta/repository/entity-attribute-update.repository.ts +48 -48
- package/src/module/meta/repository/entity-master.repository.ts +120 -120
- package/src/module/meta/repository/entity-relation.repository.ts +22 -22
- 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 +160 -160
- package/src/module/meta/service/common.service.ts +9 -9
- package/src/module/meta/service/entity-attribute-update.service.ts +26 -26
- package/src/module/meta/service/entity-dynamic.service.ts +835 -824
- package/src/module/meta/service/entity-master.service.ts +172 -172
- package/src/module/meta/service/entity-realation-data.service.ts +9 -9
- package/src/module/meta/service/entity-relation.service.ts +78 -78
- package/src/module/meta/service/entity-service-impl.service.ts +389 -389
- package/src/module/meta/service/entity-table-column.service.ts +26 -26
- package/src/module/meta/service/entity-table.service.ts +171 -171
- package/src/module/meta/service/entity-validation.service.ts +188 -188
- package/src/module/meta/service/entity.service.ts +48 -48
- package/src/module/meta/service/field-group.service.ts +103 -103
- package/src/module/meta/service/media-data.service.ts +610 -591
- package/src/module/meta/service/populate-meta.service.ts +228 -222
- package/src/module/meta/service/preference.service.ts +16 -16
- package/src/module/meta/service/resolver.service.ts +347 -319
- 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 +133 -133
- 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 +186 -186
- 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 +189 -189
- 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 +71 -71
- package/src/module/notification/repository/notification.repository.ts +33 -33
- 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 +146 -146
- 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 +199 -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 +62 -62
- 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 +201 -200
- 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 +49 -49
- package/src/module/workflow/controller/stage.controller.ts +51 -51
- 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 +354 -354
- package/src/module/workflow/repository/action.repository.ts +339 -339
- 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 +217 -217
- package/src/module/workflow/repository/stage.repository.ts +160 -160
- package/src/module/workflow/repository/task.repository.ts +156 -156
- 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 +137 -137
- package/src/module/workflow/service/action.service.ts +302 -302
- package/src/module/workflow/service/activity-log.service.ts +107 -107
- package/src/module/workflow/service/comm-template.service.ts +181 -181
- 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 +325 -320
- package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
- package/src/module/workflow/service/stage-group.service.ts +325 -325
- package/src/module/workflow/service/stage.service.ts +197 -197
- package/src/module/workflow/service/task.service.ts +551 -551
- package/src/module/workflow/service/workflow-list-master.service.ts +68 -68
- package/src/module/workflow/service/workflow-meta.service.ts +640 -640
- 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 +474 -474
- 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 +253 -253
- 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 +597 -597
- 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 +135 -135
- 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
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import { ConfigService } from '@nestjs/config';
|
|
3
|
-
import { TypeOrmModuleOptions, TypeOrmOptionsFactory } from '@nestjs/typeorm';
|
|
4
|
-
|
|
5
|
-
// @Injectable()
|
|
6
|
-
// export class MySqlConfiguration implements TypeOrmOptionsFactory {
|
|
7
|
-
// constructor(private configService: ConfigService) {}
|
|
8
|
-
//
|
|
9
|
-
// createTypeOrmOptions(): TypeOrmModuleOptions {
|
|
10
|
-
// return {
|
|
11
|
-
// type: 'mysql',
|
|
12
|
-
// host: this.configService.get('DB_HOST') || '13.234.25.234',
|
|
13
|
-
// port: parseInt(this.configService.get('DB_PORT') || '3306', 10),
|
|
14
|
-
// username: this.configService.get('DB_USER') || 'root',
|
|
15
|
-
// password: this.configService.get('DB_PASS') || 'Rezolut@123',
|
|
16
|
-
// database: this.configService.get('DB_NAME') || 'core',
|
|
17
|
-
// entities: [__dirname + '/../module/**/*.entity.{ts,js}'],
|
|
18
|
-
// synchronize: false,
|
|
19
|
-
// autoLoadEntities: true,
|
|
20
|
-
// poolSize: 5,
|
|
21
|
-
// };
|
|
22
|
-
// }
|
|
23
|
-
// }
|
|
24
|
-
|
|
25
|
-
@Injectable()
|
|
26
|
-
export class PostgresConfiguration implements TypeOrmOptionsFactory {
|
|
27
|
-
constructor(private configService: ConfigService) {}
|
|
28
|
-
|
|
29
|
-
createTypeOrmOptions(): TypeOrmModuleOptions {
|
|
30
|
-
return {
|
|
31
|
-
type: 'postgres',
|
|
32
|
-
host: this.configService.get('DB_HOST') || '127.0.0.1',
|
|
33
|
-
port: parseInt(this.configService.get('DB_PORT') || '5432', 10),
|
|
34
|
-
username: this.configService.get('DB_USER') || 'postgres',
|
|
35
|
-
password: this.configService.get('DB_PASS') || 'postgres',
|
|
36
|
-
database: this.configService.get('DB_NAME') || 'core',
|
|
37
|
-
schema: this.configService.get('DB_SCHEMA') || 'package',
|
|
38
|
-
entities: [__dirname + '/../module/**/*.entity.{ts,js}'],
|
|
39
|
-
synchronize: true,
|
|
40
|
-
autoLoadEntities: true,
|
|
41
|
-
// Configure pg pool size via `extra.max` (pg uses node-postgres pool)
|
|
42
|
-
extra: {
|
|
43
|
-
max: parseInt(this.configService.get('PG_POOL_MAX') || '5', 10),
|
|
44
|
-
searchPath: this.configService.get('DB_SCHEMA') || 'package',
|
|
45
|
-
},
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
}
|
|
1
|
+
import { Injectable } from '@nestjs/common';
|
|
2
|
+
import { ConfigService } from '@nestjs/config';
|
|
3
|
+
import { TypeOrmModuleOptions, TypeOrmOptionsFactory } from '@nestjs/typeorm';
|
|
4
|
+
|
|
5
|
+
// @Injectable()
|
|
6
|
+
// export class MySqlConfiguration implements TypeOrmOptionsFactory {
|
|
7
|
+
// constructor(private configService: ConfigService) {}
|
|
8
|
+
//
|
|
9
|
+
// createTypeOrmOptions(): TypeOrmModuleOptions {
|
|
10
|
+
// return {
|
|
11
|
+
// type: 'mysql',
|
|
12
|
+
// host: this.configService.get('DB_HOST') || '13.234.25.234',
|
|
13
|
+
// port: parseInt(this.configService.get('DB_PORT') || '3306', 10),
|
|
14
|
+
// username: this.configService.get('DB_USER') || 'root',
|
|
15
|
+
// password: this.configService.get('DB_PASS') || 'Rezolut@123',
|
|
16
|
+
// database: this.configService.get('DB_NAME') || 'core',
|
|
17
|
+
// entities: [__dirname + '/../module/**/*.entity.{ts,js}'],
|
|
18
|
+
// synchronize: false,
|
|
19
|
+
// autoLoadEntities: true,
|
|
20
|
+
// poolSize: 5,
|
|
21
|
+
// };
|
|
22
|
+
// }
|
|
23
|
+
// }
|
|
24
|
+
|
|
25
|
+
@Injectable()
|
|
26
|
+
export class PostgresConfiguration implements TypeOrmOptionsFactory {
|
|
27
|
+
constructor(private configService: ConfigService) {}
|
|
28
|
+
|
|
29
|
+
createTypeOrmOptions(): TypeOrmModuleOptions {
|
|
30
|
+
return {
|
|
31
|
+
type: 'postgres',
|
|
32
|
+
host: this.configService.get('DB_HOST') || '127.0.0.1',
|
|
33
|
+
port: parseInt(this.configService.get('DB_PORT') || '5432', 10),
|
|
34
|
+
username: this.configService.get('DB_USER') || 'postgres',
|
|
35
|
+
password: this.configService.get('DB_PASS') || 'postgres',
|
|
36
|
+
database: this.configService.get('DB_NAME') || 'core',
|
|
37
|
+
schema: this.configService.get('DB_SCHEMA') || 'package',
|
|
38
|
+
entities: [__dirname + '/../module/**/*.entity.{ts,js}'],
|
|
39
|
+
synchronize: true,
|
|
40
|
+
autoLoadEntities: true,
|
|
41
|
+
// Configure pg pool size via `extra.max` (pg uses node-postgres pool)
|
|
42
|
+
extra: {
|
|
43
|
+
max: parseInt(this.configService.get('PG_POOL_MAX') || '5', 10),
|
|
44
|
+
searchPath: this.configService.get('DB_SCHEMA') || 'package',
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
// Entity Types
|
|
2
|
-
export const ENTITYTYPE_USER = 'USR';
|
|
3
|
-
export const ENTITYTYPE_ENTITYMASTER = 'EMS';
|
|
4
|
-
export const ENTITYTYPE_ROLE = 'ROL';
|
|
5
|
-
export const ENTITYTYPE_ENTITYTABLE = 'ETB';
|
|
6
|
-
export const ENTITYTYPE_ENTITYTABLECOLUMN = 'ETC';
|
|
7
|
-
export const ENTITYTYPE_PREFERENCEMASTER = 'PRM';
|
|
8
|
-
export const ENTITYTYPE_VIEWMASTER = 'VMS';
|
|
9
|
-
export const ENTITYTYPE_MEDIA = 'MDA';
|
|
10
|
-
export const ENTITYTYPE_LISTMASTER = 'LIMS';
|
|
11
|
-
export const ENTITYTYPE_LISTMASTERITEMS = 'LIMI';
|
|
12
|
-
export const ENTITYTYPE_SECTIONMASTER = 'SEC';
|
|
13
|
-
export const ENTITYTYPE_FIELDMASTER = 'FLD';
|
|
14
|
-
export const ENTITYTYPE_USRROLMAP = 'URM';
|
|
15
|
-
export const ENTITYTYPE_SAVEDFILTERMASTER = 'SFM';
|
|
16
|
-
export const ENTITYTYPE_SAVEDFILTERDETAIL = 'SFD';
|
|
17
|
-
export const ENTITYTYPE_ENTITY_RELATION = 'ENR';
|
|
18
|
-
export const ENTITYTYPE_ENTITY_RELATION_DATA = 'ERD';
|
|
19
|
-
|
|
20
|
-
export const STORAGETYPE_SINGLEJSON = 'singlejson';
|
|
21
|
-
export const STORAGETYPE_COLUMN = 'column';
|
|
22
|
-
|
|
23
|
-
// SECRET KEY
|
|
24
|
-
export const secretKey: string = process.env.secret_key || '';
|
|
25
|
-
|
|
26
|
-
// STATUS
|
|
27
|
-
export const STATUS_ACTIVE = 'STATUS_ACTIVE';
|
|
28
|
-
export const STATUS_INACTIVE = 'STATUS_INACTIVE';
|
|
29
|
-
export const STATUS_PENDING = 'PENDING';
|
|
30
|
-
|
|
31
|
-
// Invitation Status
|
|
32
|
-
export const INVITATION_STATUS_SENT = 'SENT';
|
|
33
|
-
export const INVITATION_STATUS_ACCEPTED = 'ACCEPTED';
|
|
34
|
-
|
|
35
|
-
// Entity Status
|
|
36
|
-
export const ENTITYSTATUS_TO_BE_PUBLISHED = 'to_be_published';
|
|
37
|
-
export const ENTITYSTATUS_PUBLISHED = 'published';
|
|
38
|
-
|
|
39
|
-
// Display Type
|
|
40
|
-
export const DISPLAY_LIST = 'LIST';
|
|
41
|
-
export const DISPLAY_EXPORT = 'EXPORT';
|
|
42
|
-
export const DISPLAY_REPORT = 'REPORT';
|
|
43
|
-
|
|
44
|
-
//WorkFlow Type
|
|
45
|
-
export const WORKFLOW = 'WRFW';
|
|
46
|
-
export const ACTION = 'WFAC';
|
|
47
|
-
export const STAGE = 'WFS';
|
|
48
|
-
export const STAGE_GROUP = 'WFSG';
|
|
49
|
-
export const ACTION_CATEGORY = 'WFAC';
|
|
50
|
-
export const WORKFLOW_AUTOMATION = 'WFAM';
|
|
51
|
-
export const WORKFLOW_AUTOMATION_ACTION = 'WFAA';
|
|
52
|
-
export const STAGE_ACTION_MAPPING = 'WFSA';
|
|
53
|
-
export const COMM_TEMPLATE = 'TEM';
|
|
54
|
-
export const ACTION_TEMPLATE_MAPPING = 'WFAT';
|
|
55
|
-
export const WORKFLOW_DATA = 'WFDT';
|
|
56
|
-
export const STAGE_MOVEMENT_DATA = 'STMV';
|
|
57
|
-
|
|
58
|
-
export const ENTITY_MODIFICATION = 'ENMD';
|
|
59
|
-
export const ACTION_RESOURCES_MAPPING = 'WFAR';
|
|
60
|
-
|
|
61
|
-
// Form Status
|
|
62
|
-
export const FORM_STATUS_TO_BE_SENT = 'TO_BE_SENT';
|
|
63
|
-
export const FORM_STATUS_SENT = 'SENT';
|
|
64
|
-
export const FORM_STATUS_SAVED = 'SAVED';
|
|
65
|
-
export const FORM_STATUS_SUBMITTED = 'SUBMITTED';
|
|
66
|
-
export const FORM_STATUS_RESUBMIT_REQUESTED = 'RESUBMIT_REQUESTED';
|
|
67
|
-
export const FORM_STATUS_ACCEPTED = 'ACCEPTED';
|
|
1
|
+
// Entity Types
|
|
2
|
+
export const ENTITYTYPE_USER = 'USR';
|
|
3
|
+
export const ENTITYTYPE_ENTITYMASTER = 'EMS';
|
|
4
|
+
export const ENTITYTYPE_ROLE = 'ROL';
|
|
5
|
+
export const ENTITYTYPE_ENTITYTABLE = 'ETB';
|
|
6
|
+
export const ENTITYTYPE_ENTITYTABLECOLUMN = 'ETC';
|
|
7
|
+
export const ENTITYTYPE_PREFERENCEMASTER = 'PRM';
|
|
8
|
+
export const ENTITYTYPE_VIEWMASTER = 'VMS';
|
|
9
|
+
export const ENTITYTYPE_MEDIA = 'MDA';
|
|
10
|
+
export const ENTITYTYPE_LISTMASTER = 'LIMS';
|
|
11
|
+
export const ENTITYTYPE_LISTMASTERITEMS = 'LIMI';
|
|
12
|
+
export const ENTITYTYPE_SECTIONMASTER = 'SEC';
|
|
13
|
+
export const ENTITYTYPE_FIELDMASTER = 'FLD';
|
|
14
|
+
export const ENTITYTYPE_USRROLMAP = 'URM';
|
|
15
|
+
export const ENTITYTYPE_SAVEDFILTERMASTER = 'SFM';
|
|
16
|
+
export const ENTITYTYPE_SAVEDFILTERDETAIL = 'SFD';
|
|
17
|
+
export const ENTITYTYPE_ENTITY_RELATION = 'ENR';
|
|
18
|
+
export const ENTITYTYPE_ENTITY_RELATION_DATA = 'ERD';
|
|
19
|
+
|
|
20
|
+
export const STORAGETYPE_SINGLEJSON = 'singlejson';
|
|
21
|
+
export const STORAGETYPE_COLUMN = 'column';
|
|
22
|
+
|
|
23
|
+
// SECRET KEY
|
|
24
|
+
export const secretKey: string = process.env.secret_key || '';
|
|
25
|
+
|
|
26
|
+
// STATUS
|
|
27
|
+
export const STATUS_ACTIVE = 'STATUS_ACTIVE';
|
|
28
|
+
export const STATUS_INACTIVE = 'STATUS_INACTIVE';
|
|
29
|
+
export const STATUS_PENDING = 'PENDING';
|
|
30
|
+
|
|
31
|
+
// Invitation Status
|
|
32
|
+
export const INVITATION_STATUS_SENT = 'SENT';
|
|
33
|
+
export const INVITATION_STATUS_ACCEPTED = 'ACCEPTED';
|
|
34
|
+
|
|
35
|
+
// Entity Status
|
|
36
|
+
export const ENTITYSTATUS_TO_BE_PUBLISHED = 'to_be_published';
|
|
37
|
+
export const ENTITYSTATUS_PUBLISHED = 'published';
|
|
38
|
+
|
|
39
|
+
// Display Type
|
|
40
|
+
export const DISPLAY_LIST = 'LIST';
|
|
41
|
+
export const DISPLAY_EXPORT = 'EXPORT';
|
|
42
|
+
export const DISPLAY_REPORT = 'REPORT';
|
|
43
|
+
|
|
44
|
+
//WorkFlow Type
|
|
45
|
+
export const WORKFLOW = 'WRFW';
|
|
46
|
+
export const ACTION = 'WFAC';
|
|
47
|
+
export const STAGE = 'WFS';
|
|
48
|
+
export const STAGE_GROUP = 'WFSG';
|
|
49
|
+
export const ACTION_CATEGORY = 'WFAC';
|
|
50
|
+
export const WORKFLOW_AUTOMATION = 'WFAM';
|
|
51
|
+
export const WORKFLOW_AUTOMATION_ACTION = 'WFAA';
|
|
52
|
+
export const STAGE_ACTION_MAPPING = 'WFSA';
|
|
53
|
+
export const COMM_TEMPLATE = 'TEM';
|
|
54
|
+
export const ACTION_TEMPLATE_MAPPING = 'WFAT';
|
|
55
|
+
export const WORKFLOW_DATA = 'WFDT';
|
|
56
|
+
export const STAGE_MOVEMENT_DATA = 'STMV';
|
|
57
|
+
|
|
58
|
+
export const ENTITY_MODIFICATION = 'ENMD';
|
|
59
|
+
export const ACTION_RESOURCES_MAPPING = 'WFAR';
|
|
60
|
+
|
|
61
|
+
// Form Status
|
|
62
|
+
export const FORM_STATUS_TO_BE_SENT = 'TO_BE_SENT';
|
|
63
|
+
export const FORM_STATUS_SENT = 'SENT';
|
|
64
|
+
export const FORM_STATUS_SAVED = 'SAVED';
|
|
65
|
+
export const FORM_STATUS_SUBMITTED = 'SUBMITTED';
|
|
66
|
+
export const FORM_STATUS_RESUBMIT_REQUESTED = 'RESUBMIT_REQUESTED';
|
|
67
|
+
export const FORM_STATUS_ACCEPTED = 'ACCEPTED';
|
package/src/core.module.ts
CHANGED
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
import { Module, DynamicModule, Global } from '@nestjs/common';
|
|
2
|
-
import { ConfigModule } from '@nestjs/config';
|
|
3
|
-
|
|
4
|
-
import { EnterpriseModule } from './module/enterprise/enterprise.module';
|
|
5
|
-
import { UtilsModule } from './utils/utils.module';
|
|
6
|
-
import { UserModule } from './module/user/user.module';
|
|
7
|
-
import { EntityModule } from './module/meta/entity.module';
|
|
8
|
-
import { ModuleModule } from './module/module/module.module';
|
|
9
|
-
import { NotificationModule } from './module/notification/notification.module';
|
|
10
|
-
import { LayoutModule } from './module/layout/layout.module';
|
|
11
|
-
import { ListMasterModule } from './module/listmaster/listmaster.module';
|
|
12
|
-
import { FilterModule } from './module/filter/filter.module';
|
|
13
|
-
import { AuthModule } from './module/auth/auth.module';
|
|
14
|
-
import { LeadModule } from './module/lead/lead.module';
|
|
15
|
-
import { LayoutPreferenceModule } from './module/layout_preference/layout_preference.module';
|
|
16
|
-
import { WorkflowModule } from './module/workflow/workflow.module';
|
|
17
|
-
import { WorkflowAutomationModule } from './module/workflow-automation/workflow-automation.module';
|
|
18
|
-
import { MapperModule } from './module/mapper/mapper.module';
|
|
19
|
-
import { WorkflowScheduleModule } from './module/workflow-schedule/workflow-schedule.module';
|
|
20
|
-
import { LinkedAttributesModule } from './module/linked_attributes/linked_attributes.module';
|
|
21
|
-
import { ExportModule } from './module/export/export.module';
|
|
22
|
-
|
|
23
|
-
@Global()
|
|
24
|
-
@Module({})
|
|
25
|
-
export class CoreModule {
|
|
26
|
-
static forRootAsync(
|
|
27
|
-
dbModule: DynamicModule,
|
|
28
|
-
isSso: boolean,
|
|
29
|
-
isWorkflow?: boolean,
|
|
30
|
-
): DynamicModule {
|
|
31
|
-
if (!dbModule) {
|
|
32
|
-
throw new Error('Database module must be provided.');
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const importsArray = [
|
|
36
|
-
ConfigModule.forRoot({ isGlobal: true }),
|
|
37
|
-
dbModule,
|
|
38
|
-
EntityModule,
|
|
39
|
-
UtilsModule,
|
|
40
|
-
NotificationModule,
|
|
41
|
-
ListMasterModule,
|
|
42
|
-
FilterModule,
|
|
43
|
-
AuthModule,
|
|
44
|
-
LeadModule,
|
|
45
|
-
LayoutPreferenceModule,
|
|
46
|
-
WorkflowModule,
|
|
47
|
-
WorkflowAutomationModule,
|
|
48
|
-
WorkflowScheduleModule.forRoot({ is_workflow: isWorkflow }),
|
|
49
|
-
MapperModule,
|
|
50
|
-
LinkedAttributesModule,
|
|
51
|
-
ExportModule
|
|
52
|
-
];
|
|
53
|
-
|
|
54
|
-
const exportsArray = [
|
|
55
|
-
ConfigModule,
|
|
56
|
-
dbModule,
|
|
57
|
-
EntityModule,
|
|
58
|
-
AuthModule,
|
|
59
|
-
UtilsModule,
|
|
60
|
-
NotificationModule,
|
|
61
|
-
ListMasterModule,
|
|
62
|
-
FilterModule,
|
|
63
|
-
LeadModule,
|
|
64
|
-
LayoutPreferenceModule,
|
|
65
|
-
MapperModule,
|
|
66
|
-
WorkflowModule,
|
|
67
|
-
WorkflowAutomationModule,
|
|
68
|
-
WorkflowScheduleModule.forRoot({ is_workflow: isWorkflow }),
|
|
69
|
-
LinkedAttributesModule,
|
|
70
|
-
ExportModule
|
|
71
|
-
];
|
|
72
|
-
|
|
73
|
-
if (isSso) {
|
|
74
|
-
importsArray.push(
|
|
75
|
-
UserModule,
|
|
76
|
-
ModuleModule,
|
|
77
|
-
LayoutModule,
|
|
78
|
-
EnterpriseModule,
|
|
79
|
-
);
|
|
80
|
-
exportsArray.push(
|
|
81
|
-
UserModule,
|
|
82
|
-
ModuleModule,
|
|
83
|
-
LayoutModule,
|
|
84
|
-
EnterpriseModule,
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return {
|
|
89
|
-
module: CoreModule,
|
|
90
|
-
imports: importsArray,
|
|
91
|
-
exports: exportsArray,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
}
|
|
1
|
+
import { Module, DynamicModule, Global } from '@nestjs/common';
|
|
2
|
+
import { ConfigModule } from '@nestjs/config';
|
|
3
|
+
|
|
4
|
+
import { EnterpriseModule } from './module/enterprise/enterprise.module';
|
|
5
|
+
import { UtilsModule } from './utils/utils.module';
|
|
6
|
+
import { UserModule } from './module/user/user.module';
|
|
7
|
+
import { EntityModule } from './module/meta/entity.module';
|
|
8
|
+
import { ModuleModule } from './module/module/module.module';
|
|
9
|
+
import { NotificationModule } from './module/notification/notification.module';
|
|
10
|
+
import { LayoutModule } from './module/layout/layout.module';
|
|
11
|
+
import { ListMasterModule } from './module/listmaster/listmaster.module';
|
|
12
|
+
import { FilterModule } from './module/filter/filter.module';
|
|
13
|
+
import { AuthModule } from './module/auth/auth.module';
|
|
14
|
+
import { LeadModule } from './module/lead/lead.module';
|
|
15
|
+
import { LayoutPreferenceModule } from './module/layout_preference/layout_preference.module';
|
|
16
|
+
import { WorkflowModule } from './module/workflow/workflow.module';
|
|
17
|
+
import { WorkflowAutomationModule } from './module/workflow-automation/workflow-automation.module';
|
|
18
|
+
import { MapperModule } from './module/mapper/mapper.module';
|
|
19
|
+
import { WorkflowScheduleModule } from './module/workflow-schedule/workflow-schedule.module';
|
|
20
|
+
import { LinkedAttributesModule } from './module/linked_attributes/linked_attributes.module';
|
|
21
|
+
import { ExportModule } from './module/export/export.module';
|
|
22
|
+
|
|
23
|
+
@Global()
|
|
24
|
+
@Module({})
|
|
25
|
+
export class CoreModule {
|
|
26
|
+
static forRootAsync(
|
|
27
|
+
dbModule: DynamicModule,
|
|
28
|
+
isSso: boolean,
|
|
29
|
+
isWorkflow?: boolean,
|
|
30
|
+
): DynamicModule {
|
|
31
|
+
if (!dbModule) {
|
|
32
|
+
throw new Error('Database module must be provided.');
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const importsArray = [
|
|
36
|
+
ConfigModule.forRoot({ isGlobal: true }),
|
|
37
|
+
dbModule,
|
|
38
|
+
EntityModule,
|
|
39
|
+
UtilsModule,
|
|
40
|
+
NotificationModule,
|
|
41
|
+
ListMasterModule,
|
|
42
|
+
FilterModule,
|
|
43
|
+
AuthModule,
|
|
44
|
+
LeadModule,
|
|
45
|
+
LayoutPreferenceModule,
|
|
46
|
+
WorkflowModule,
|
|
47
|
+
WorkflowAutomationModule,
|
|
48
|
+
WorkflowScheduleModule.forRoot({ is_workflow: isWorkflow }),
|
|
49
|
+
MapperModule,
|
|
50
|
+
LinkedAttributesModule,
|
|
51
|
+
ExportModule
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const exportsArray = [
|
|
55
|
+
ConfigModule,
|
|
56
|
+
dbModule,
|
|
57
|
+
EntityModule,
|
|
58
|
+
AuthModule,
|
|
59
|
+
UtilsModule,
|
|
60
|
+
NotificationModule,
|
|
61
|
+
ListMasterModule,
|
|
62
|
+
FilterModule,
|
|
63
|
+
LeadModule,
|
|
64
|
+
LayoutPreferenceModule,
|
|
65
|
+
MapperModule,
|
|
66
|
+
WorkflowModule,
|
|
67
|
+
WorkflowAutomationModule,
|
|
68
|
+
WorkflowScheduleModule.forRoot({ is_workflow: isWorkflow }),
|
|
69
|
+
LinkedAttributesModule,
|
|
70
|
+
ExportModule
|
|
71
|
+
];
|
|
72
|
+
|
|
73
|
+
if (isSso) {
|
|
74
|
+
importsArray.push(
|
|
75
|
+
UserModule,
|
|
76
|
+
ModuleModule,
|
|
77
|
+
LayoutModule,
|
|
78
|
+
EnterpriseModule,
|
|
79
|
+
);
|
|
80
|
+
exportsArray.push(
|
|
81
|
+
UserModule,
|
|
82
|
+
ModuleModule,
|
|
83
|
+
LayoutModule,
|
|
84
|
+
EnterpriseModule,
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return {
|
|
89
|
+
module: CoreModule,
|
|
90
|
+
imports: importsArray,
|
|
91
|
+
exports: exportsArray,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { applyDecorators, SetMetadata } from '@nestjs/common';
|
|
2
|
-
|
|
3
|
-
export const Roles = (moduleCode: string, actions: string) =>
|
|
4
|
-
applyDecorators(
|
|
5
|
-
SetMetadata('moduleCode', moduleCode),
|
|
6
|
-
SetMetadata('actions', actions),
|
|
7
|
-
);
|
|
1
|
+
import { applyDecorators, SetMetadata } from '@nestjs/common';
|
|
2
|
+
|
|
3
|
+
export const Roles = (moduleCode: string, actions: string) =>
|
|
4
|
+
applyDecorators(
|
|
5
|
+
SetMetadata('moduleCode', moduleCode),
|
|
6
|
+
SetMetadata('actions', actions),
|
|
7
|
+
);
|
package/src/dtos/response.dto.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
// dto/service-result.dto.ts
|
|
2
|
-
export interface ServiceResult<T = any> {
|
|
3
|
-
success: boolean;
|
|
4
|
-
data?: T;
|
|
5
|
-
error?: string;
|
|
6
|
-
}
|
|
1
|
+
// dto/service-result.dto.ts
|
|
2
|
+
export interface ServiceResult<T = any> {
|
|
3
|
+
success: boolean;
|
|
4
|
+
data?: T;
|
|
5
|
+
error?: string;
|
|
6
|
+
}
|
package/src/dtos/response.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export interface ServiceResult<T = any> {
|
|
2
|
-
success: boolean;
|
|
3
|
-
data?: T;
|
|
4
|
-
error?: string;
|
|
5
|
-
}
|
|
1
|
+
export interface ServiceResult<T = any> {
|
|
2
|
+
success: boolean;
|
|
3
|
+
data?: T;
|
|
4
|
+
error?: string;
|
|
5
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './core.module'
|
|
1
|
+
export * from './core.module'
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
-
|
|
3
|
-
export class AddEntityJsonGinIndex1732612800000 implements MigrationInterface {
|
|
4
|
-
name = 'AddEntityJsonGinIndex1732612800000';
|
|
5
|
-
|
|
6
|
-
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
|
-
// GIN index for JSONB operations (containment, existence checks)
|
|
8
|
-
// Using jsonb_path_ops for better performance on containment queries
|
|
9
|
-
await queryRunner.query(`
|
|
10
|
-
CREATE INDEX IF NOT EXISTS idx_entity_json_data_gin
|
|
11
|
-
ON frm_entity_json
|
|
12
|
-
USING GIN (json_data jsonb_path_ops);
|
|
13
|
-
`);
|
|
14
|
-
|
|
15
|
-
// Standard B-tree index for entity_type lookups
|
|
16
|
-
await queryRunner.query(`
|
|
17
|
-
CREATE INDEX IF NOT EXISTS idx_entity_json_entity_type
|
|
18
|
-
ON frm_entity_json (entity_type);
|
|
19
|
-
`);
|
|
20
|
-
|
|
21
|
-
// Composite index for entity_type + entity_id lookups
|
|
22
|
-
await queryRunner.query(`
|
|
23
|
-
CREATE INDEX IF NOT EXISTS idx_entity_json_composite
|
|
24
|
-
ON frm_entity_json (entity_type, entity_id);
|
|
25
|
-
`);
|
|
26
|
-
|
|
27
|
-
console.log('✅ GIN indexes created successfully');
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
31
|
-
await queryRunner.query(`DROP INDEX IF EXISTS idx_entity_json_data_gin;`);
|
|
32
|
-
await queryRunner.query(
|
|
33
|
-
`DROP INDEX IF EXISTS idx_entity_json_entity_type;`,
|
|
34
|
-
);
|
|
35
|
-
await queryRunner.query(
|
|
36
|
-
`DROP INDEX IF EXISTS idx_entity_json_composite;`,
|
|
37
|
-
);
|
|
38
|
-
|
|
39
|
-
console.log('✅ GIN indexes dropped successfully');
|
|
40
|
-
}
|
|
41
|
-
}
|
|
1
|
+
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
+
|
|
3
|
+
export class AddEntityJsonGinIndex1732612800000 implements MigrationInterface {
|
|
4
|
+
name = 'AddEntityJsonGinIndex1732612800000';
|
|
5
|
+
|
|
6
|
+
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
|
+
// GIN index for JSONB operations (containment, existence checks)
|
|
8
|
+
// Using jsonb_path_ops for better performance on containment queries
|
|
9
|
+
await queryRunner.query(`
|
|
10
|
+
CREATE INDEX IF NOT EXISTS idx_entity_json_data_gin
|
|
11
|
+
ON frm_entity_json
|
|
12
|
+
USING GIN (json_data jsonb_path_ops);
|
|
13
|
+
`);
|
|
14
|
+
|
|
15
|
+
// Standard B-tree index for entity_type lookups
|
|
16
|
+
await queryRunner.query(`
|
|
17
|
+
CREATE INDEX IF NOT EXISTS idx_entity_json_entity_type
|
|
18
|
+
ON frm_entity_json (entity_type);
|
|
19
|
+
`);
|
|
20
|
+
|
|
21
|
+
// Composite index for entity_type + entity_id lookups
|
|
22
|
+
await queryRunner.query(`
|
|
23
|
+
CREATE INDEX IF NOT EXISTS idx_entity_json_composite
|
|
24
|
+
ON frm_entity_json (entity_type, entity_id);
|
|
25
|
+
`);
|
|
26
|
+
|
|
27
|
+
console.log('✅ GIN indexes created successfully');
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
31
|
+
await queryRunner.query(`DROP INDEX IF EXISTS idx_entity_json_data_gin;`);
|
|
32
|
+
await queryRunner.query(
|
|
33
|
+
`DROP INDEX IF EXISTS idx_entity_json_entity_type;`,
|
|
34
|
+
);
|
|
35
|
+
await queryRunner.query(
|
|
36
|
+
`DROP INDEX IF EXISTS idx_entity_json_composite;`,
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
console.log('✅ GIN indexes dropped successfully');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import { Module } from '@nestjs/common';
|
|
2
|
-
import { ConfigModule, ConfigService } from '@nestjs/config';
|
|
3
|
-
import { JwtModule } from '@nestjs/jwt';
|
|
4
|
-
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
5
|
-
import { JwtStrategy } from './strategies/jwt.strategy';
|
|
6
|
-
import { JwtAuthService } from './services/jwt.service';
|
|
7
|
-
import { JwtAuthGuard } from './guards/jwt.guard';
|
|
8
|
-
import { secretKey } from '../../constant/global.constant';
|
|
9
|
-
import { PassportModule } from '@nestjs/passport';
|
|
10
|
-
import { UserSession } from '../user/entity/user-session.entity';
|
|
11
|
-
import { GoogleStrategy } from './strategies/google.strategy';
|
|
12
|
-
import { RolesGuard } from './guards/role.guard';
|
|
13
|
-
import { AuthService } from './services/auth.service';
|
|
14
|
-
import { AuthController } from './controller/auth.controller';
|
|
15
|
-
import { UserModule } from '../user/user.module';
|
|
16
|
-
|
|
17
|
-
@Module({
|
|
18
|
-
imports: [
|
|
19
|
-
ConfigModule, // ✅ Ensure ConfigModule is imported
|
|
20
|
-
PassportModule.register({ defaultStrategy: 'jwt' }),
|
|
21
|
-
JwtModule.registerAsync({
|
|
22
|
-
imports: [ConfigModule],
|
|
23
|
-
inject: [ConfigService],
|
|
24
|
-
useFactory: async (configService: ConfigService) => {
|
|
25
|
-
const expiryInHours = parseFloat(
|
|
26
|
-
configService.get('TOKEN_EXPIRY') || '1',
|
|
27
|
-
);
|
|
28
|
-
const expiryInSeconds = expiryInHours * 60 * 60;
|
|
29
|
-
|
|
30
|
-
return {
|
|
31
|
-
secret: configService.get('SECRET_KEY'),
|
|
32
|
-
signOptions: { expiresIn: expiryInSeconds },
|
|
33
|
-
};
|
|
34
|
-
},
|
|
35
|
-
}),
|
|
36
|
-
TypeOrmModule.forFeature([UserSession]),
|
|
37
|
-
],
|
|
38
|
-
controllers: [AuthController],
|
|
39
|
-
providers: [
|
|
40
|
-
JwtAuthService,
|
|
41
|
-
JwtStrategy,
|
|
42
|
-
JwtAuthGuard,
|
|
43
|
-
GoogleStrategy,
|
|
44
|
-
RolesGuard,
|
|
45
|
-
AuthService,
|
|
46
|
-
],
|
|
47
|
-
exports: [JwtAuthService, JwtAuthGuard, RolesGuard, AuthService],
|
|
48
|
-
})
|
|
49
|
-
export class AuthModule {}
|
|
1
|
+
import { Module } from '@nestjs/common';
|
|
2
|
+
import { ConfigModule, ConfigService } from '@nestjs/config';
|
|
3
|
+
import { JwtModule } from '@nestjs/jwt';
|
|
4
|
+
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
5
|
+
import { JwtStrategy } from './strategies/jwt.strategy';
|
|
6
|
+
import { JwtAuthService } from './services/jwt.service';
|
|
7
|
+
import { JwtAuthGuard } from './guards/jwt.guard';
|
|
8
|
+
import { secretKey } from '../../constant/global.constant';
|
|
9
|
+
import { PassportModule } from '@nestjs/passport';
|
|
10
|
+
import { UserSession } from '../user/entity/user-session.entity';
|
|
11
|
+
import { GoogleStrategy } from './strategies/google.strategy';
|
|
12
|
+
import { RolesGuard } from './guards/role.guard';
|
|
13
|
+
import { AuthService } from './services/auth.service';
|
|
14
|
+
import { AuthController } from './controller/auth.controller';
|
|
15
|
+
import { UserModule } from '../user/user.module';
|
|
16
|
+
|
|
17
|
+
@Module({
|
|
18
|
+
imports: [
|
|
19
|
+
ConfigModule, // ✅ Ensure ConfigModule is imported
|
|
20
|
+
PassportModule.register({ defaultStrategy: 'jwt' }),
|
|
21
|
+
JwtModule.registerAsync({
|
|
22
|
+
imports: [ConfigModule],
|
|
23
|
+
inject: [ConfigService],
|
|
24
|
+
useFactory: async (configService: ConfigService) => {
|
|
25
|
+
const expiryInHours = parseFloat(
|
|
26
|
+
configService.get('TOKEN_EXPIRY') || '1',
|
|
27
|
+
);
|
|
28
|
+
const expiryInSeconds = expiryInHours * 60 * 60;
|
|
29
|
+
|
|
30
|
+
return {
|
|
31
|
+
secret: configService.get('SECRET_KEY'),
|
|
32
|
+
signOptions: { expiresIn: expiryInSeconds },
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
}),
|
|
36
|
+
TypeOrmModule.forFeature([UserSession]),
|
|
37
|
+
],
|
|
38
|
+
controllers: [AuthController],
|
|
39
|
+
providers: [
|
|
40
|
+
JwtAuthService,
|
|
41
|
+
JwtStrategy,
|
|
42
|
+
JwtAuthGuard,
|
|
43
|
+
GoogleStrategy,
|
|
44
|
+
RolesGuard,
|
|
45
|
+
AuthService,
|
|
46
|
+
],
|
|
47
|
+
exports: [JwtAuthService, JwtAuthGuard, RolesGuard, AuthService],
|
|
48
|
+
})
|
|
49
|
+
export class AuthModule {}
|