rez_core 6.5.61 → 6.5.63
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/dist/app.module.js +5 -3
- package/dist/app.module.js.map +1 -1
- package/dist/constant/status.constant.d.ts +4 -0
- package/dist/constant/status.constant.js +9 -0
- package/dist/constant/status.constant.js.map +1 -0
- package/dist/core.module.js +63 -38
- package/dist/core.module.js.map +1 -1
- package/dist/module/app_master/app-master.module.d.ts +2 -0
- package/dist/module/app_master/app-master.module.js +28 -0
- package/dist/module/app_master/app-master.module.js.map +1 -0
- package/dist/module/app_master/controller/app-master.controller.js.map +1 -0
- package/dist/module/app_master/entity/app-master.entity.d.ts +17 -0
- package/dist/module/{meta → app_master}/entity/app-master.entity.js +30 -12
- package/dist/module/app_master/entity/app-master.entity.js.map +1 -0
- package/dist/module/{meta → app_master}/repository/app-master.repository.d.ts +2 -2
- package/dist/module/{meta → app_master}/repository/app-master.repository.js +4 -4
- package/dist/module/app_master/repository/app-master.repository.js.map +1 -0
- package/dist/module/app_master/service/app-master.service.js.map +1 -0
- package/dist/module/auth/strategies/jwt.strategy.d.ts +2 -1
- package/dist/module/auth/strategies/jwt.strategy.js +3 -2
- package/dist/module/auth/strategies/jwt.strategy.js.map +1 -1
- package/dist/module/dashboard/dashboard.module.js +1 -1
- package/dist/module/dashboard/dashboard.module.js.map +1 -1
- package/dist/module/dashboard/service/dashboard.service.js +1 -2
- package/dist/module/dashboard/service/dashboard.service.js.map +1 -1
- package/dist/module/enterprise/controller/enterprise.controller.d.ts +12 -0
- package/dist/module/enterprise/controller/enterprise.controller.js +57 -0
- package/dist/module/enterprise/controller/enterprise.controller.js.map +1 -0
- package/dist/module/enterprise/controller/meta.controller.d.ts +9 -0
- package/dist/module/enterprise/controller/meta.controller.js +43 -0
- package/dist/module/enterprise/controller/meta.controller.js.map +1 -0
- package/dist/module/enterprise/controller/organization.controller.d.ts +12 -4
- package/dist/module/enterprise/controller/organization.controller.js +64 -8
- package/dist/module/enterprise/controller/organization.controller.js.map +1 -1
- package/dist/module/enterprise/enterprise.module.js +10 -15
- package/dist/module/enterprise/enterprise.module.js.map +1 -1
- package/dist/module/enterprise/entity/enterprise.entity.d.ts +1 -3
- package/dist/module/enterprise/entity/enterprise.entity.js +4 -12
- package/dist/module/enterprise/entity/enterprise.entity.js.map +1 -1
- package/dist/module/enterprise/entity/organization-app-mapping.entity.d.ts +6 -1
- package/dist/module/enterprise/entity/organization-app-mapping.entity.js +21 -4
- package/dist/module/enterprise/entity/organization-app-mapping.entity.js.map +1 -1
- package/dist/module/enterprise/entity/organization.entity.d.ts +3 -17
- package/dist/module/enterprise/entity/organization.entity.js +11 -73
- package/dist/module/enterprise/entity/organization.entity.js.map +1 -1
- package/dist/module/enterprise/repository/enterprise.repository.d.ts +4 -2
- package/dist/module/enterprise/repository/enterprise.repository.js +19 -4
- package/dist/module/enterprise/repository/enterprise.repository.js.map +1 -1
- package/dist/module/enterprise/service/brand-profile.service.d.ts +0 -0
- package/dist/module/enterprise/service/brand-profile.service.js +1 -0
- package/dist/module/enterprise/service/brand-profile.service.js.map +1 -0
- package/dist/module/enterprise/service/brand.service.d.ts +0 -3
- package/dist/module/enterprise/service/brand.service.js +0 -17
- package/dist/module/enterprise/service/brand.service.js.map +1 -1
- package/dist/module/enterprise/service/enterprise.service.d.ts +2 -2
- package/dist/module/enterprise/service/enterprise.service.js +6 -4
- package/dist/module/enterprise/service/enterprise.service.js.map +1 -1
- package/dist/module/enterprise/service/organization.service.d.ts +6 -6
- package/dist/module/enterprise/service/organization.service.js +109 -27
- package/dist/module/enterprise/service/organization.service.js.map +1 -1
- package/dist/module/enterprise/service/populate-meta.service.d.ts +9 -0
- package/dist/module/{meta → enterprise}/service/populate-meta.service.js +2 -8
- package/dist/module/enterprise/service/populate-meta.service.js.map +1 -0
- package/dist/module/enterprise/service/school.service.d.ts +0 -0
- package/dist/module/enterprise/service/school.service.js +1 -0
- package/dist/module/enterprise/service/school.service.js.map +1 -0
- package/dist/module/entity_json/controller/entity_json.controller.d.ts +9 -2
- package/dist/module/entity_json/controller/entity_json.controller.js.map +1 -1
- package/dist/module/entity_json/entity/entityJson.entity.d.ts +1 -2
- package/dist/module/entity_json/entity/entityJson.entity.js +1 -5
- package/dist/module/entity_json/entity/entityJson.entity.js.map +1 -1
- package/dist/module/entity_json/entity_json.module.js +2 -7
- package/dist/module/entity_json/entity_json.module.js.map +1 -1
- package/dist/module/entity_json/service/entity_json.service.d.ts +10 -2
- package/dist/module/entity_json/service/entity_json.service.js +25 -101
- package/dist/module/entity_json/service/entity_json.service.js.map +1 -1
- package/dist/module/filter/controller/filter.controller.d.ts +0 -12
- package/dist/module/filter/controller/filter.controller.js +1 -1
- package/dist/module/filter/controller/filter.controller.js.map +1 -1
- package/dist/module/filter/filter.module.js +2 -11
- package/dist/module/filter/filter.module.js.map +1 -1
- package/dist/module/filter/service/filter.service.d.ts +2 -38
- package/dist/module/filter/service/filter.service.js +50 -43
- package/dist/module/filter/service/filter.service.js.map +1 -1
- package/dist/module/filter/service/saved-filter.service.d.ts +2 -3
- package/dist/module/filter/service/saved-filter.service.js +18 -14
- package/dist/module/filter/service/saved-filter.service.js.map +1 -1
- package/dist/module/integration/service/integration.service.d.ts +0 -1
- package/dist/module/integration/service/integration.service.js +1 -2
- package/dist/module/integration/service/integration.service.js.map +1 -1
- package/dist/module/integration/service/wrapper.service.js +0 -1
- package/dist/module/integration/service/wrapper.service.js.map +1 -1
- package/dist/module/layout/controller/layout.controller.d.ts +1 -3
- package/dist/module/layout/controller/layout.controller.js +3 -7
- package/dist/module/layout/controller/layout.controller.js.map +1 -1
- package/dist/module/layout/entity/header-section.entity.d.ts +0 -2
- package/dist/module/layout/entity/header-section.entity.js +0 -8
- package/dist/module/layout/entity/header-section.entity.js.map +1 -1
- package/dist/module/layout/layout.module.js +1 -2
- package/dist/module/layout/layout.module.js.map +1 -1
- package/dist/module/layout/repository/header-section.repository.d.ts +0 -1
- package/dist/module/layout/repository/header-section.repository.js +0 -5
- package/dist/module/layout/repository/header-section.repository.js.map +1 -1
- package/dist/module/layout/service/header-section.service.d.ts +1 -1
- package/dist/module/layout/service/header-section.service.js +1 -1
- package/dist/module/layout/service/header-section.service.js.map +1 -1
- package/dist/module/linked_attributes/controller/linked_attributes.controller.d.ts +0 -41
- package/dist/module/linked_attributes/controller/linked_attributes.controller.js +0 -90
- package/dist/module/linked_attributes/controller/linked_attributes.controller.js.map +1 -1
- package/dist/module/linked_attributes/linked_attributes.module.js +1 -8
- package/dist/module/linked_attributes/linked_attributes.module.js.map +1 -1
- package/dist/module/linked_attributes/service/linked_attributes.service.d.ts +1 -65
- package/dist/module/linked_attributes/service/linked_attributes.service.js +2 -287
- package/dist/module/linked_attributes/service/linked_attributes.service.js.map +1 -1
- package/dist/module/listmaster/service/list-master.service.d.ts +14 -1
- package/dist/module/listmaster/service/list-master.service.js +217 -44
- package/dist/module/listmaster/service/list-master.service.js.map +1 -1
- package/dist/module/meta/controller/attribute-master.controller.d.ts +0 -3
- package/dist/module/meta/controller/attribute-master.controller.js +0 -12
- package/dist/module/meta/controller/attribute-master.controller.js.map +1 -1
- package/dist/module/meta/controller/entity-dynamic.controller.js +6 -3
- package/dist/module/meta/controller/entity-dynamic.controller.js.map +1 -1
- package/dist/module/meta/controller/entity.controller.js +1 -1
- package/dist/module/meta/controller/entity.controller.js.map +1 -1
- package/dist/module/meta/controller/meta.controller.d.ts +1 -6
- package/dist/module/meta/controller/meta.controller.js +1 -19
- package/dist/module/meta/controller/meta.controller.js.map +1 -1
- package/dist/module/meta/entity/attribute-master.entity.d.ts +4 -0
- package/dist/module/meta/entity/attribute-master.entity.js +16 -0
- package/dist/module/meta/entity/attribute-master.entity.js.map +1 -1
- package/dist/module/meta/entity/entity-master.entity.d.ts +0 -1
- package/dist/module/meta/entity/entity-master.entity.js +1 -8
- package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
- package/dist/module/meta/entity.module.js +3 -14
- package/dist/module/meta/entity.module.js.map +1 -1
- package/dist/module/meta/service/attribute-master.service.d.ts +1 -6
- package/dist/module/meta/service/attribute-master.service.js +2 -22
- package/dist/module/meta/service/attribute-master.service.js.map +1 -1
- package/dist/module/meta/service/entity-dynamic.service.d.ts +9 -12
- package/dist/module/meta/service/entity-dynamic.service.js +20 -22
- package/dist/module/meta/service/entity-dynamic.service.js.map +1 -1
- package/dist/module/meta/service/entity-master.service.js +0 -1
- package/dist/module/meta/service/entity-master.service.js.map +1 -1
- package/dist/module/meta/service/entity-relation.service.d.ts +3 -4
- package/dist/module/meta/service/entity-relation.service.js +4 -10
- package/dist/module/meta/service/entity-relation.service.js.map +1 -1
- package/dist/module/meta/service/entity-service-impl.service.d.ts +2 -2
- package/dist/module/meta/service/entity-service-impl.service.js +11 -15
- package/dist/module/meta/service/entity-service-impl.service.js.map +1 -1
- package/dist/module/meta/service/entity-table.service.d.ts +4 -5
- package/dist/module/meta/service/entity-table.service.js +24 -45
- package/dist/module/meta/service/entity-table.service.js.map +1 -1
- package/dist/module/meta/service/resolver.service.d.ts +1 -1
- package/dist/module/meta/service/resolver.service.js +3 -6
- package/dist/module/meta/service/resolver.service.js.map +1 -1
- package/dist/module/module/controller/module-access.controller.d.ts +3 -4
- package/dist/module/module/controller/module-access.controller.js +13 -8
- package/dist/module/module/controller/module-access.controller.js.map +1 -1
- package/dist/module/module/entity/menu.entity.d.ts +6 -3
- package/dist/module/module/entity/menu.entity.js +19 -10
- package/dist/module/module/entity/menu.entity.js.map +1 -1
- package/dist/module/module/entity/module-access.entity.d.ts +15 -1
- package/dist/module/module/entity/module-access.entity.js +49 -3
- package/dist/module/module/entity/module-access.entity.js.map +1 -1
- package/dist/module/module/entity/module-action.entity.d.ts +4 -2
- package/dist/module/module/entity/module-action.entity.js +11 -6
- package/dist/module/module/entity/module-action.entity.js.map +1 -1
- package/dist/module/module/entity/module.entity.d.ts +3 -5
- package/dist/module/module/entity/module.entity.js +8 -18
- package/dist/module/module/entity/module.entity.js.map +1 -1
- package/dist/module/module/module.module.d.ts +1 -1
- package/dist/module/module/module.module.js +5 -7
- package/dist/module/module/module.module.js.map +1 -1
- package/dist/module/module/repository/menu.repository.d.ts +3 -3
- package/dist/module/module/repository/menu.repository.js +38 -27
- package/dist/module/module/repository/menu.repository.js.map +1 -1
- package/dist/module/module/repository/module-access.repository.d.ts +6 -6
- package/dist/module/module/repository/module-access.repository.js +100 -50
- package/dist/module/module/repository/module-access.repository.js.map +1 -1
- package/dist/module/module/service/menu.service.d.ts +2 -4
- package/dist/module/module/service/menu.service.js +7 -10
- package/dist/module/module/service/menu.service.js.map +1 -1
- package/dist/module/module/service/module-access.service.d.ts +7 -10
- package/dist/module/module/service/module-access.service.js +22 -24
- package/dist/module/module/service/module-access.service.js.map +1 -1
- package/dist/module/notification/entity/notification.entity.d.ts +17 -2
- package/dist/module/notification/entity/notification.entity.js +68 -2
- package/dist/module/notification/entity/notification.entity.js.map +1 -1
- package/dist/module/notification/notification.module.js +3 -4
- package/dist/module/notification/notification.module.js.map +1 -1
- package/dist/module/notification/service/email.service.d.ts +1 -0
- package/dist/module/notification/service/email.service.js +14 -0
- package/dist/module/notification/service/email.service.js.map +1 -1
- package/dist/module/notification/service/notification.service.d.ts +1 -3
- package/dist/module/notification/service/notification.service.js +2 -5
- package/dist/module/notification/service/notification.service.js.map +1 -1
- package/dist/module/notification/service/otp.service.d.ts +2 -2
- package/dist/module/notification/service/otp.service.js +4 -5
- package/dist/module/notification/service/otp.service.js.map +1 -1
- package/dist/module/preference_master/entity/preference.entity.d.ts +9 -0
- package/dist/module/preference_master/entity/preference.entity.js +48 -0
- package/dist/module/preference_master/entity/preference.entity.js.map +1 -0
- package/dist/module/preference_master/preference.service.d.ts +8 -0
- package/dist/module/preference_master/preference.service.js +31 -0
- package/dist/module/preference_master/preference.service.js.map +1 -0
- package/dist/module/preference_master/repo/preference.repository.d.ts +8 -0
- package/dist/module/preference_master/repo/preference.repository.js +48 -0
- package/dist/module/preference_master/repo/preference.repository.js.map +1 -0
- package/dist/module/user/controller/login.controller.d.ts +1 -3
- package/dist/module/user/controller/login.controller.js +2 -6
- package/dist/module/user/controller/login.controller.js.map +1 -1
- package/dist/module/user/controller/user.controller.d.ts +0 -2
- package/dist/module/user/controller/user.controller.js +0 -13
- package/dist/module/user/controller/user.controller.js.map +1 -1
- package/dist/module/user/dto/create-user.dto.d.ts +6 -3
- package/dist/module/user/dto/create-user.dto.js +17 -11
- package/dist/module/user/dto/create-user.dto.js.map +1 -1
- package/dist/module/user/entity/role.entity.d.ts +18 -6
- package/dist/module/user/entity/role.entity.js +64 -19
- package/dist/module/user/entity/role.entity.js.map +1 -1
- package/dist/module/user/entity/user-role-mapping.entity.d.ts +10 -0
- package/dist/module/user/entity/user-role-mapping.entity.js +33 -1
- package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
- package/dist/module/user/entity/user-session.entity.d.ts +0 -2
- package/dist/module/user/entity/user-session.entity.js +2 -20
- package/dist/module/user/entity/user-session.entity.js.map +1 -1
- package/dist/module/user/entity/user.entity.d.ts +17 -5
- package/dist/module/user/entity/user.entity.js +61 -15
- package/dist/module/user/entity/user.entity.js.map +1 -1
- package/dist/module/user/repository/role.repository.d.ts +7 -2
- package/dist/module/user/repository/role.repository.js +23 -8
- package/dist/module/user/repository/role.repository.js.map +1 -1
- package/dist/module/user/repository/user-role-mapping.repository.d.ts +1 -0
- package/dist/module/user/repository/user-role-mapping.repository.js +3 -0
- package/dist/module/user/repository/user-role-mapping.repository.js.map +1 -1
- package/dist/module/user/repository/user.repository.d.ts +5 -2
- package/dist/module/user/repository/user.repository.js +26 -7
- package/dist/module/user/repository/user.repository.js.map +1 -1
- package/dist/module/user/repository/userSession.repository.d.ts +1 -0
- package/dist/module/user/repository/userSession.repository.js +3 -0
- package/dist/module/user/repository/userSession.repository.js.map +1 -1
- package/dist/module/user/service/login.service.d.ts +3 -5
- package/dist/module/user/service/login.service.js +43 -42
- package/dist/module/user/service/login.service.js.map +1 -1
- package/dist/module/user/service/role.service.d.ts +24 -11
- package/dist/module/user/service/role.service.js +54 -40
- package/dist/module/user/service/role.service.js.map +1 -1
- package/dist/module/user/service/user-role-mapping.service.d.ts +2 -0
- package/dist/module/user/service/user-role-mapping.service.js +6 -0
- package/dist/module/user/service/user-role-mapping.service.js.map +1 -1
- package/dist/module/user/service/user-session.service.d.ts +3 -4
- package/dist/module/user/service/user-session.service.js +10 -11
- package/dist/module/user/service/user-session.service.js.map +1 -1
- package/dist/module/user/service/user.service.d.ts +33 -22
- package/dist/module/user/service/user.service.js +66 -58
- package/dist/module/user/service/user.service.js.map +1 -1
- package/dist/module/user/user.module.js +2 -7
- package/dist/module/user/user.module.js.map +1 -1
- package/dist/module/workflow/repository/action-data.repository.d.ts +1 -1
- package/dist/module/workflow/repository/action-data.repository.js +6 -8
- package/dist/module/workflow/repository/action-data.repository.js.map +1 -1
- package/dist/module/workflow/repository/action.repository.d.ts +1 -1
- package/dist/module/workflow/repository/action.repository.js +10 -10
- package/dist/module/workflow/repository/action.repository.js.map +1 -1
- package/dist/module/workflow/repository/form-master.repository.d.ts +1 -1
- package/dist/module/workflow/repository/form-master.repository.js +2 -2
- package/dist/module/workflow/repository/form-master.repository.js.map +1 -1
- package/dist/module/workflow/service/action-data.service.js +1 -2
- package/dist/module/workflow/service/action-data.service.js.map +1 -1
- package/dist/module/workflow/service/action.service.js +2 -2
- package/dist/module/workflow/service/action.service.js.map +1 -1
- package/dist/module/workflow/service/comm-template.service.js +0 -2
- package/dist/module/workflow/service/comm-template.service.js.map +1 -1
- package/dist/module/workflow/service/entity-modification.service.js +0 -1
- package/dist/module/workflow/service/entity-modification.service.js.map +1 -1
- package/dist/module/workflow/service/form-master.service.js +2 -2
- package/dist/module/workflow/service/form-master.service.js.map +1 -1
- package/dist/module/workflow/service/populate-workflow.service.d.ts +1 -1
- package/dist/module/workflow/service/populate-workflow.service.js +1 -1
- package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
- package/dist/module/workflow/service/task.service.js +1 -4
- package/dist/module/workflow/service/task.service.js.map +1 -1
- package/dist/module/workflow/service/workflow-meta.service.js +2 -7
- package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
- package/dist/module/workflow/service/workflow.service.js +2 -2
- package/dist/module/workflow/service/workflow.service.js.map +1 -1
- package/dist/module/workflow/workflow.module.js +2 -0
- package/dist/module/workflow/workflow.module.js.map +1 -1
- package/dist/module/workflow-automation/service/workflow-automation.service.js +11 -6
- package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
- package/dist/module/workflow-automation/workflow-automation.module.js +3 -1
- package/dist/module/workflow-automation/workflow-automation.module.js.map +1 -1
- package/dist/module/workflow-schedule/service/workflow-schedule.service.js +0 -2
- package/dist/module/workflow-schedule/service/workflow-schedule.service.js.map +1 -1
- package/dist/table.config.d.ts +3 -5
- package/dist/table.config.js +3 -3
- package/dist/table.config.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/app.module.ts +7 -5
- package/src/constant/status.constant.ts +4 -0
- package/src/core.module.ts +58 -44
- package/src/module/app_master/app-master.module.ts +15 -0
- package/src/module/{meta → app_master}/entity/app-master.entity.ts +22 -9
- package/src/module/{meta → app_master}/repository/app-master.repository.ts +3 -3
- package/src/module/auth/strategies/jwt.strategy.ts +4 -2
- package/src/module/dashboard/dashboard.module.ts +3 -3
- package/src/module/dashboard/service/dashboard.service.ts +1 -2
- package/src/module/enterprise/controller/enterprise.controller.ts +40 -0
- package/src/module/enterprise/controller/meta.controller.ts +23 -0
- package/src/module/enterprise/controller/organization.controller.ts +60 -4
- package/src/module/enterprise/enterprise.module.ts +16 -18
- package/src/module/enterprise/entity/enterprise.entity.ts +5 -11
- package/src/module/enterprise/entity/organization-app-mapping.entity.ts +18 -4
- package/src/module/enterprise/entity/organization.entity.ts +11 -58
- package/src/module/enterprise/repository/enterprise.repository.ts +26 -4
- package/src/module/enterprise/service/brand-profile.service.ts +10 -0
- package/src/module/enterprise/service/brand.service.ts +75 -5
- package/src/module/enterprise/service/enterprise.service.ts +12 -4
- package/src/module/enterprise/service/organization.service.ts +151 -28
- package/src/module/{meta → enterprise}/service/populate-meta.service.ts +2 -5
- package/src/module/enterprise/service/school.service.ts +5 -0
- package/src/module/entity_json/controller/entity_json.controller.ts +0 -13
- package/src/module/entity_json/entity/entityJson.entity.ts +1 -4
- package/src/module/entity_json/entity_json.module.ts +5 -9
- package/src/module/entity_json/service/entity_json.service.ts +51 -237
- package/src/module/filter/controller/filter.controller.ts +3 -1
- package/src/module/filter/filter.module.ts +3 -12
- package/src/module/filter/service/filter.service.ts +73 -130
- package/src/module/filter/service/saved-filter.service.ts +26 -16
- package/src/module/integration/service/integration.service.ts +2 -6
- package/src/module/integration/service/wrapper.service.ts +0 -1
- package/src/module/layout/controller/layout.controller.ts +1 -8
- package/src/module/layout/entity/header-section.entity.ts +0 -6
- package/src/module/layout/layout.module.ts +1 -1
- package/src/module/layout/repository/header-section.repository.ts +0 -6
- package/src/module/layout/service/header-section.service.ts +1 -1
- package/src/module/linked_attributes/controller/linked_attributes.controller.ts +0 -100
- package/src/module/linked_attributes/linked_attributes.module.ts +2 -9
- package/src/module/linked_attributes/service/linked_attributes.service.ts +3 -578
- package/src/module/listmaster/service/list-master.service.ts +437 -75
- package/src/module/meta/controller/attribute-master.controller.ts +0 -12
- package/src/module/meta/controller/entity-dynamic.controller.ts +6 -8
- package/src/module/meta/controller/entity.controller.ts +0 -1
- package/src/module/meta/controller/meta.controller.ts +3 -25
- package/src/module/meta/entity/attribute-master.entity.ts +13 -0
- package/src/module/meta/entity/entity-master.entity.ts +3 -9
- package/src/module/meta/entity.module.ts +6 -20
- package/src/module/meta/service/attribute-master.service.ts +1 -31
- package/src/module/meta/service/entity-dynamic.service.ts +23 -26
- package/src/module/meta/service/entity-master.service.ts +0 -1
- package/src/module/meta/service/entity-relation.service.ts +6 -10
- package/src/module/meta/service/entity-service-impl.service.ts +19 -15
- package/src/module/meta/service/entity-table.service.ts +68 -82
- package/src/module/meta/service/entity.service.ts +1 -0
- package/src/module/meta/service/resolver.service.ts +0 -4
- package/src/module/module/controller/module-access.controller.ts +14 -9
- package/src/module/module/entity/menu.entity.ts +18 -10
- package/src/module/module/entity/module-access.entity.ts +40 -3
- package/src/module/module/entity/module-action.entity.ts +10 -6
- package/src/module/module/entity/module.entity.ts +7 -14
- package/src/module/module/module.module.ts +2 -3
- package/src/module/module/repository/menu.repository.ts +43 -29
- package/src/module/module/repository/module-access.repository.ts +110 -62
- package/src/module/module/service/menu.service.ts +7 -9
- package/src/module/module/service/module-access.service.ts +22 -34
- package/src/module/notification/entity/notification.entity.ts +53 -3
- package/src/module/notification/notification.module.ts +6 -5
- package/src/module/notification/service/email.service.ts +16 -1
- package/src/module/notification/service/notification.service.ts +0 -1
- package/src/module/notification/service/otp.service.ts +16 -5
- package/src/module/preference_master/entity/preference.entity.ts +25 -0
- package/src/module/preference_master/preference.service.ts +27 -0
- package/src/module/preference_master/repo/preference.repository.ts +36 -0
- package/src/module/user/controller/login.controller.ts +7 -8
- package/src/module/user/controller/user.controller.ts +0 -9
- package/src/module/user/dto/create-user.dto.ts +19 -6
- package/src/module/user/entity/role.entity.ts +59 -16
- package/src/module/user/entity/user-role-mapping.entity.ts +29 -3
- package/src/module/user/entity/user-session.entity.ts +3 -19
- package/src/module/user/entity/user.entity.ts +48 -13
- package/src/module/user/repository/role.repository.ts +32 -12
- package/src/module/user/repository/user-role-mapping.repository.ts +5 -1
- package/src/module/user/repository/user.repository.ts +36 -9
- package/src/module/user/repository/userSession.repository.ts +5 -1
- package/src/module/user/service/login.service.ts +47 -51
- package/src/module/user/service/role.service.ts +64 -63
- package/src/module/user/service/user-role-mapping.service.ts +23 -1
- package/src/module/user/service/user-session.service.ts +14 -11
- package/src/module/user/service/user.service.ts +76 -95
- package/src/module/user/user.module.ts +4 -5
- package/src/module/workflow/repository/action-data.repository.ts +6 -8
- package/src/module/workflow/repository/action.repository.ts +11 -11
- package/src/module/workflow/repository/form-master.repository.ts +2 -2
- package/src/module/workflow/service/action-data.service.ts +3 -2
- package/src/module/workflow/service/action.service.ts +2 -2
- package/src/module/workflow/service/comm-template.service.ts +0 -2
- package/src/module/workflow/service/entity-modification.service.ts +0 -1
- package/src/module/workflow/service/form-master.service.ts +2 -2
- package/src/module/workflow/service/populate-workflow.service.ts +1 -1
- package/src/module/workflow/service/task.service.ts +0 -4
- package/src/module/workflow/service/workflow-meta.service.ts +2 -7
- package/src/module/workflow/service/workflow.service.ts +2 -2
- package/src/module/workflow/workflow.module.ts +2 -0
- package/src/module/workflow-automation/service/workflow-automation.service.ts +19 -7
- package/src/module/workflow-automation/workflow-automation.module.ts +4 -3
- package/src/module/workflow-schedule/service/workflow-schedule.service.ts +0 -2
- package/src/resources/dev.properties.yaml +2 -2
- package/src/table.config.ts +3 -3
- package/dist/migrations/1732612800000-AddEntityJsonGinIndex.d.ts +0 -6
- package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js +0 -32
- package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js.map +0 -1
- package/dist/module/filter/service/flatjson-filter.service.d.ts +0 -32
- package/dist/module/filter/service/flatjson-filter.service.js +0 -632
- package/dist/module/filter/service/flatjson-filter.service.js.map +0 -1
- package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.d.ts +0 -13
- package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js +0 -64
- package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js.map +0 -1
- package/dist/module/meta/controller/app-master.controller.js.map +0 -1
- package/dist/module/meta/entity/app-master.entity.d.ts +0 -13
- package/dist/module/meta/entity/app-master.entity.js.map +0 -1
- package/dist/module/meta/repository/app-master.repository.js.map +0 -1
- package/dist/module/meta/service/app-master.service.js.map +0 -1
- package/dist/module/meta/service/populate-meta.service.d.ts +0 -13
- package/dist/module/meta/service/populate-meta.service.js.map +0 -1
- package/src/migrations/1732612800000-AddEntityJsonGinIndex.ts +0 -41
- package/src/module/entity_json/docs/FlatJson_Filterin_System.md +0 -2804
- package/src/module/filter/service/flatjson-filter.service.ts +0 -903
- package/src/module/filter/test/flatjson-filter.service.spec.ts +0 -415
- package/src/module/linked_attributes/dto/create-linked-attribute-smart.dto.ts +0 -54
- package/src/module/linked_attributes/test/linked-attributes.service.spec.ts +0 -244
- /package/dist/module/{meta → app_master}/controller/app-master.controller.d.ts +0 -0
- /package/dist/module/{meta → app_master}/controller/app-master.controller.js +0 -0
- /package/dist/module/{meta → app_master}/service/app-master.service.d.ts +0 -0
- /package/dist/module/{meta → app_master}/service/app-master.service.js +0 -0
- /package/src/module/{meta → app_master}/controller/app-master.controller.ts +0 -0
- /package/src/module/{meta → app_master}/service/app-master.service.ts +0 -0
|
@@ -212,14 +212,6 @@ export class ListMasterService {
|
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
-
if (loggedInUser?.appcode && sourceList === 'ROL') {
|
|
216
|
-
if (!this.skipLevelFilterEntities.includes(sourceList)) {
|
|
217
|
-
qb.andWhere(`${tableName}.appcode = :appcode`, {
|
|
218
|
-
appcode: loggedInUser.appcode,
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
|
|
223
215
|
// ✅ Apply dynamic params
|
|
224
216
|
for (const key in params) {
|
|
225
217
|
qb.andWhere(`${tableName}.${key} = :${key}`, {
|
|
@@ -259,7 +251,7 @@ export class ListMasterService {
|
|
|
259
251
|
|
|
260
252
|
const resolveInactiveStatus = await this.getResolvedListCode(
|
|
261
253
|
STATUS_INACTIVE,
|
|
262
|
-
loggedInUser?.
|
|
254
|
+
loggedInUser?.enterprise_id || 0,
|
|
263
255
|
);
|
|
264
256
|
|
|
265
257
|
// Fetch inactive records (with same filters but without status condition)
|
|
@@ -430,91 +422,373 @@ export class ListMasterService {
|
|
|
430
422
|
entity_type: string,
|
|
431
423
|
attribute_key: string,
|
|
432
424
|
loggedInUser: UserData,
|
|
433
|
-
body: Record<string,
|
|
425
|
+
body: Record<string, any>,
|
|
434
426
|
) {
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
427
|
+
try {
|
|
428
|
+
// Extract inactiveIds from body
|
|
429
|
+
const { inactiveIds, ...params } = body;
|
|
430
|
+
const inactiveIdsArray = inactiveIds
|
|
431
|
+
? inactiveIds.split(',').map((id) => parseInt(id, 10))
|
|
432
|
+
: [];
|
|
433
|
+
|
|
434
|
+
// Fetch Attribute Master to get data source configuration
|
|
435
|
+
const attributeMaster =
|
|
436
|
+
await this.attributeMasterService.findByMappedEntityTypeAndAttributeKey(
|
|
437
|
+
entity_type,
|
|
438
|
+
attribute_key,
|
|
439
|
+
loggedInUser,
|
|
440
|
+
);
|
|
440
441
|
|
|
441
|
-
|
|
442
|
+
if (!attributeMaster) {
|
|
443
|
+
throw new BadRequestException(
|
|
444
|
+
`Attribute '${attribute_key}' not found for entity '${entity_type}'`,
|
|
445
|
+
);
|
|
446
|
+
}
|
|
442
447
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
448
|
+
// Extract data source configuration from AttributeMaster
|
|
449
|
+
const {
|
|
450
|
+
ds_category, // ENT_LIST | LM | CAPI | CK | EXTAPI
|
|
451
|
+
ds_entitytype, // Entity type or list code
|
|
452
|
+
ds_filtercode, // Additional filter code
|
|
453
|
+
ds_appcode, // Target app code
|
|
454
|
+
} = attributeMaster;
|
|
446
455
|
|
|
447
|
-
|
|
456
|
+
if (!ds_category) {
|
|
457
|
+
throw new BadRequestException(
|
|
458
|
+
`Data source category not configured for attribute '${attribute_key}'`,
|
|
459
|
+
);
|
|
460
|
+
}
|
|
448
461
|
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
462
|
+
const currentAppCode = this.configService.get<string>('appcode');
|
|
463
|
+
|
|
464
|
+
// Check if request is for same app (SELF) or cross-app (CROSS)
|
|
465
|
+
const isSelfApp =
|
|
466
|
+
!ds_appcode ||
|
|
467
|
+
ds_appcode.toUpperCase() === 'SELF' ||
|
|
468
|
+
currentAppCode === ds_appcode;
|
|
469
|
+
|
|
470
|
+
if (isSelfApp) {
|
|
471
|
+
// SELF APP - Process locally
|
|
472
|
+
return this.processLocalDropdown(
|
|
473
|
+
ds_category,
|
|
474
|
+
ds_entitytype,
|
|
475
|
+
ds_filtercode,
|
|
476
|
+
params,
|
|
477
|
+
inactiveIdsArray,
|
|
478
|
+
loggedInUser,
|
|
479
|
+
);
|
|
480
|
+
} else {
|
|
481
|
+
// CROSS APP - Forward to target microservice
|
|
482
|
+
return this.processCrossAppDropdown(
|
|
483
|
+
ds_appcode,
|
|
452
484
|
entity_type,
|
|
453
485
|
attribute_key,
|
|
454
486
|
loggedInUser,
|
|
487
|
+
body,
|
|
455
488
|
);
|
|
489
|
+
}
|
|
490
|
+
} catch (error) {
|
|
491
|
+
console.error('❌ Error in getDropDownData:', error.message);
|
|
492
|
+
throw error;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
456
495
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
496
|
+
/**
|
|
497
|
+
* Process dropdown data locally (SELF APP)
|
|
498
|
+
*/
|
|
499
|
+
private async processLocalDropdown(
|
|
500
|
+
ds_category: string,
|
|
501
|
+
ds_entitytype: string,
|
|
502
|
+
ds_filtercode: string,
|
|
503
|
+
params: Record<string, any>,
|
|
504
|
+
inactiveIdsArray: number[],
|
|
505
|
+
loggedInUser: UserData,
|
|
506
|
+
) {
|
|
507
|
+
// Route to appropriate handler based on data source category
|
|
508
|
+
switch (ds_category.toUpperCase()) {
|
|
509
|
+
case 'ENT_LIST':
|
|
510
|
+
case 'ENTITY':
|
|
511
|
+
// Merge ds_filtercode params with request params
|
|
512
|
+
const mergedParams = { ...params };
|
|
513
|
+
if (ds_filtercode) {
|
|
514
|
+
const filterParams = this.parseFilterCode(ds_filtercode);
|
|
515
|
+
Object.assign(mergedParams, filterParams);
|
|
516
|
+
}
|
|
517
|
+
return this.fetchFromEntity(
|
|
518
|
+
ds_entitytype,
|
|
519
|
+
mergedParams,
|
|
520
|
+
inactiveIdsArray,
|
|
521
|
+
loggedInUser,
|
|
461
522
|
);
|
|
462
523
|
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
524
|
+
case 'LM':
|
|
525
|
+
case 'LIST_MASTER':
|
|
526
|
+
return this.fetchFromListMaster(
|
|
527
|
+
ds_entitytype,
|
|
528
|
+
ds_filtercode,
|
|
529
|
+
params,
|
|
530
|
+
inactiveIdsArray,
|
|
531
|
+
loggedInUser,
|
|
532
|
+
);
|
|
533
|
+
|
|
534
|
+
case 'CAPI':
|
|
535
|
+
case 'CUSTOM_API':
|
|
536
|
+
return this.fetchFromCustomInternalService(
|
|
537
|
+
ds_entitytype,
|
|
538
|
+
ds_filtercode,
|
|
539
|
+
params,
|
|
540
|
+
loggedInUser,
|
|
541
|
+
);
|
|
542
|
+
|
|
543
|
+
case 'CK':
|
|
544
|
+
case 'CUSTOM_KEY':
|
|
545
|
+
return this.fetchFromCustomKey(
|
|
546
|
+
ds_entitytype,
|
|
547
|
+
ds_filtercode,
|
|
548
|
+
params,
|
|
549
|
+
loggedInUser,
|
|
550
|
+
);
|
|
551
|
+
|
|
552
|
+
case 'EXTAPI':
|
|
553
|
+
case 'EXTERNAL_API':
|
|
554
|
+
return this.fetchFromExternalAPI(
|
|
555
|
+
ds_entitytype,
|
|
556
|
+
ds_filtercode,
|
|
557
|
+
params,
|
|
558
|
+
loggedInUser,
|
|
559
|
+
);
|
|
560
|
+
|
|
561
|
+
default:
|
|
562
|
+
throw new BadRequestException(
|
|
563
|
+
`Unsupported data source category: ${ds_category}`,
|
|
564
|
+
);
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Fetch dropdown from List Master
|
|
570
|
+
*/
|
|
571
|
+
private async fetchFromListMaster(
|
|
572
|
+
lmCode: string,
|
|
573
|
+
filterCode: string,
|
|
574
|
+
params: Record<string, any>,
|
|
575
|
+
inactiveIdsArray: number[],
|
|
576
|
+
loggedInUser: UserData,
|
|
577
|
+
) {
|
|
578
|
+
try {
|
|
579
|
+
// Get List Master configuration
|
|
580
|
+
const listMaster = await this.listMasterRepo.findByType(
|
|
581
|
+
lmCode,
|
|
582
|
+
loggedInUser.enterprise_id,
|
|
583
|
+
);
|
|
584
|
+
|
|
585
|
+
if (!listMaster) {
|
|
586
|
+
throw new BadRequestException(`List Master '${lmCode}' not found`);
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
// Use repository to fetch items directly with filter
|
|
590
|
+
return this.listItemsRepo.findItemsByType(
|
|
591
|
+
lmCode,
|
|
592
|
+
listMaster.sort_by,
|
|
593
|
+
inactiveIdsArray,
|
|
594
|
+
loggedInUser.enterprise_id,
|
|
595
|
+
params,
|
|
596
|
+
);
|
|
597
|
+
} catch (error) {
|
|
598
|
+
console.error(`❌ Error fetching from List Master '${lmCode}':`, error.message);
|
|
599
|
+
throw new BadRequestException(
|
|
600
|
+
`Failed to fetch from List Master: ${error.message}`,
|
|
601
|
+
);
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
/**
|
|
606
|
+
* Fetch dropdown from Custom Internal Service (Message Pattern)
|
|
607
|
+
*/
|
|
608
|
+
private async fetchFromCustomInternalService(
|
|
609
|
+
serviceName: string,
|
|
610
|
+
filterCode: string,
|
|
611
|
+
params: Record<string, any>,
|
|
612
|
+
loggedInUser: UserData,
|
|
613
|
+
) {
|
|
614
|
+
try {
|
|
615
|
+
// Get internal service client
|
|
616
|
+
const client = this.factory.getClient('INTERNAL_SERVICE');
|
|
617
|
+
|
|
618
|
+
if (!client) {
|
|
619
|
+
throw new BadRequestException('Internal service client not available');
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
// Call internal microservice using message pattern
|
|
623
|
+
const response = await client
|
|
624
|
+
.send(serviceName, {
|
|
625
|
+
filterCode,
|
|
626
|
+
params,
|
|
627
|
+
loggedInUser,
|
|
628
|
+
})
|
|
629
|
+
.toPromise();
|
|
630
|
+
|
|
631
|
+
return response;
|
|
632
|
+
} catch (error) {
|
|
633
|
+
console.error(
|
|
634
|
+
`❌ Error calling custom internal service '${serviceName}':`,
|
|
635
|
+
error.message,
|
|
636
|
+
);
|
|
637
|
+
throw new BadRequestException(
|
|
638
|
+
`Failed to call custom internal service: ${error.message}`,
|
|
639
|
+
);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
/**
|
|
644
|
+
* Fetch dropdown from Custom Key (Predefined logic)
|
|
645
|
+
*/
|
|
646
|
+
private async fetchFromCustomKey(
|
|
647
|
+
customKey: string,
|
|
648
|
+
filterCode: string,
|
|
649
|
+
params: Record<string, any>,
|
|
650
|
+
loggedInUser: UserData,
|
|
651
|
+
) {
|
|
652
|
+
try {
|
|
653
|
+
// Handle predefined custom logic based on custom key
|
|
654
|
+
switch (customKey.toUpperCase()) {
|
|
655
|
+
case 'USER_ROLES':
|
|
656
|
+
return this.getUserRolesDropdown(filterCode, params, loggedInUser);
|
|
657
|
+
|
|
658
|
+
case 'DEPARTMENTS':
|
|
659
|
+
return this.getDepartmentsDropdown(filterCode, params, loggedInUser);
|
|
660
|
+
|
|
661
|
+
case 'FINANCIAL_YEARS':
|
|
662
|
+
return this.getFinancialYearsDropdown(filterCode, params, loggedInUser);
|
|
466
663
|
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
664
|
+
case 'OPERATORS':
|
|
665
|
+
return this.getOperatorsDropdown(filterCode, params, loggedInUser);
|
|
666
|
+
|
|
667
|
+
// Add more custom key handlers as needed
|
|
668
|
+
default:
|
|
669
|
+
throw new BadRequestException(`Unknown custom key: ${customKey}`);
|
|
670
|
+
}
|
|
671
|
+
} catch (error) {
|
|
672
|
+
console.error(`❌ Error fetching custom key '${customKey}':`, error.message);
|
|
673
|
+
throw new BadRequestException(
|
|
674
|
+
`Failed to fetch custom key: ${error.message}`,
|
|
675
|
+
);
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
/**
|
|
680
|
+
* Fetch dropdown from External API
|
|
681
|
+
*/
|
|
682
|
+
private async fetchFromExternalAPI(
|
|
683
|
+
apiUrl: string,
|
|
684
|
+
filterCode: string,
|
|
685
|
+
params: Record<string, any>,
|
|
686
|
+
loggedInUser: UserData,
|
|
687
|
+
) {
|
|
688
|
+
try {
|
|
689
|
+
// Build full API URL with filter code if provided
|
|
690
|
+
const fullUrl = filterCode ? `${apiUrl}/${filterCode}` : apiUrl;
|
|
691
|
+
|
|
692
|
+
// Make external API call using Axios
|
|
693
|
+
const response = await axios.get(fullUrl, {
|
|
694
|
+
params: {
|
|
695
|
+
...params,
|
|
696
|
+
enterprise_id: loggedInUser.enterprise_id,
|
|
697
|
+
},
|
|
698
|
+
timeout: 10000, // 10 seconds timeout
|
|
699
|
+
headers: {
|
|
700
|
+
'Content-Type': 'application/json',
|
|
701
|
+
'Authorization': `Bearer ${this.configService.get('EXTERNAL_API_TOKEN')}`,
|
|
702
|
+
},
|
|
703
|
+
});
|
|
704
|
+
|
|
705
|
+
return response.data;
|
|
706
|
+
} catch (error) {
|
|
707
|
+
console.error(`❌ Error calling external API '${apiUrl}':`, error.message);
|
|
708
|
+
|
|
709
|
+
if (error.response) {
|
|
710
|
+
throw new BadRequestException(
|
|
711
|
+
`External API error: ${error.response.status} - ${error.response.statusText}`,
|
|
712
|
+
);
|
|
713
|
+
} else if (error.request) {
|
|
714
|
+
throw new BadRequestException('External API is not responding');
|
|
715
|
+
} else {
|
|
716
|
+
throw new BadRequestException(
|
|
717
|
+
`Failed to call external API: ${error.message}`,
|
|
718
|
+
);
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
/**
|
|
724
|
+
* Apply filter code to query (custom WHERE conditions)
|
|
725
|
+
*/
|
|
726
|
+
private applyFilterCode(
|
|
727
|
+
query: any,
|
|
728
|
+
tableName: string,
|
|
729
|
+
filterCode: string,
|
|
730
|
+
loggedInUser: UserData,
|
|
731
|
+
): any {
|
|
732
|
+
// Parse filter code and apply conditions
|
|
733
|
+
// Example: "status=active|type=premium"
|
|
734
|
+
const filters = filterCode.split('|');
|
|
735
|
+
|
|
736
|
+
filters.forEach((filter) => {
|
|
737
|
+
const [key, value] = filter.split('=');
|
|
738
|
+
if (key && value) {
|
|
739
|
+
// Handle special variables
|
|
740
|
+
let filterValue: any = value;
|
|
741
|
+
if (value === '{USER_ID}') {
|
|
742
|
+
filterValue = loggedInUser.id;
|
|
743
|
+
} else if (value === '{ENTERPRISE_ID}') {
|
|
744
|
+
filterValue = loggedInUser.enterprise_id;
|
|
508
745
|
}
|
|
746
|
+
|
|
747
|
+
query = query.andWhere(`${tableName}.${key} = :${key}`, {
|
|
748
|
+
[key]: filterValue,
|
|
749
|
+
});
|
|
509
750
|
}
|
|
510
|
-
}
|
|
511
|
-
|
|
751
|
+
});
|
|
752
|
+
|
|
753
|
+
return query;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
/**
|
|
757
|
+
* Format dropdown response with consistent structure
|
|
758
|
+
*/
|
|
759
|
+
private formatDropdownResponse(data: any[], config: any): any[] {
|
|
760
|
+
return data.map((item) => ({
|
|
761
|
+
id: item.id,
|
|
762
|
+
value: item.value || item.name || item.title,
|
|
763
|
+
label: item.label || item.display_name || item.name || item.title,
|
|
764
|
+
code: item.code,
|
|
765
|
+
...item, // Include all other fields
|
|
766
|
+
}));
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
/**
|
|
770
|
+
* Forward request to cross-app microservice (CROSS APP)
|
|
771
|
+
*/
|
|
772
|
+
private async processCrossAppDropdown(
|
|
773
|
+
targetAppCode: string,
|
|
774
|
+
entity_type: string,
|
|
775
|
+
attribute_key: string,
|
|
776
|
+
loggedInUser: UserData,
|
|
777
|
+
body: Record<string, any>,
|
|
778
|
+
) {
|
|
779
|
+
try {
|
|
780
|
+
// Get microservice client for target app
|
|
781
|
+
const client = this.factory.getClient(targetAppCode);
|
|
512
782
|
|
|
513
783
|
if (!client) {
|
|
514
|
-
|
|
784
|
+
throw new BadRequestException(
|
|
785
|
+
`Microservice client for app '${targetAppCode}' not available`,
|
|
786
|
+
);
|
|
515
787
|
}
|
|
516
788
|
|
|
517
|
-
|
|
789
|
+
// Forward the request to target microservice
|
|
790
|
+
// The target microservice will execute the same process recursively
|
|
791
|
+
const response = await client
|
|
518
792
|
.send('getDropdownData', {
|
|
519
793
|
entity_type,
|
|
520
794
|
attribute_key,
|
|
@@ -522,6 +796,94 @@ export class ListMasterService {
|
|
|
522
796
|
body,
|
|
523
797
|
})
|
|
524
798
|
.toPromise();
|
|
799
|
+
|
|
800
|
+
return response;
|
|
801
|
+
} catch (error) {
|
|
802
|
+
console.error(
|
|
803
|
+
`❌ Error calling cross-app microservice '${targetAppCode}':`,
|
|
804
|
+
error.message,
|
|
805
|
+
);
|
|
806
|
+
throw new BadRequestException(
|
|
807
|
+
`Failed to fetch dropdown from app '${targetAppCode}': ${error.message}`,
|
|
808
|
+
);
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
// Example custom key handlers
|
|
813
|
+
private async getUserRolesDropdown(
|
|
814
|
+
filterCode: string,
|
|
815
|
+
params: Record<string, any>,
|
|
816
|
+
loggedInUser: UserData,
|
|
817
|
+
) {
|
|
818
|
+
// TODO: Implement roles service integration
|
|
819
|
+
// return this.rolesService.getActiveRoles(loggedInUser.enterprise_id, params);
|
|
820
|
+
throw new BadRequestException('USER_ROLES handler not implemented yet');
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
private async getDepartmentsDropdown(
|
|
824
|
+
filterCode: string,
|
|
825
|
+
params: Record<string, any>,
|
|
826
|
+
loggedInUser: UserData,
|
|
827
|
+
) {
|
|
828
|
+
// TODO: Implement departments service integration
|
|
829
|
+
// return this.departmentService.getActiveDepartments(loggedInUser.enterprise_id, params);
|
|
830
|
+
throw new BadRequestException('DEPARTMENTS handler not implemented yet');
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
private async getFinancialYearsDropdown(
|
|
834
|
+
filterCode: string,
|
|
835
|
+
params: Record<string, any>,
|
|
836
|
+
loggedInUser: UserData,
|
|
837
|
+
) {
|
|
838
|
+
// Generate financial years dynamically
|
|
839
|
+
const currentYear = new Date().getFullYear();
|
|
840
|
+
const years: Array<{ id: number; value: string; label: string }> = [];
|
|
841
|
+
for (let i = -5; i <= 5; i++) {
|
|
842
|
+
const year = currentYear + i;
|
|
843
|
+
years.push({
|
|
844
|
+
id: year,
|
|
845
|
+
value: `FY${year}-${year + 1}`,
|
|
846
|
+
label: `FY ${year}-${year + 1}`,
|
|
847
|
+
});
|
|
525
848
|
}
|
|
849
|
+
return years;
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
private async getOperatorsDropdown(
|
|
853
|
+
filterCode: string,
|
|
854
|
+
params: Record<string, any>,
|
|
855
|
+
loggedInUser: UserData,
|
|
856
|
+
) {
|
|
857
|
+
// Return predefined operators
|
|
858
|
+
return [
|
|
859
|
+
{ id: 1, value: '=', label: 'Equals' },
|
|
860
|
+
{ id: 2, value: '!=', label: 'Not Equals' },
|
|
861
|
+
{ id: 3, value: '>', label: 'Greater Than' },
|
|
862
|
+
{ id: 4, value: '<', label: 'Less Than' },
|
|
863
|
+
{ id: 5, value: '>=', label: 'Greater Than or Equal' },
|
|
864
|
+
{ id: 6, value: '<=', label: 'Less Than or Equal' },
|
|
865
|
+
{ id: 7, value: 'LIKE', label: 'Contains' },
|
|
866
|
+
{ id: 8, value: 'IN', label: 'In List' },
|
|
867
|
+
];
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
/**
|
|
871
|
+
* Parse filter code string into key-value params
|
|
872
|
+
* Example: "status=active|type=premium" => { status: 'active', type: 'premium' }
|
|
873
|
+
*/
|
|
874
|
+
private parseFilterCode(filterCode: string): Record<string, any> {
|
|
875
|
+
if (!filterCode) return {};
|
|
876
|
+
|
|
877
|
+
const params: Record<string, any> = {};
|
|
878
|
+
const filters = filterCode.split('|');
|
|
879
|
+
|
|
880
|
+
filters.forEach((filter) => {
|
|
881
|
+
const [key, value] = filter.split('=');
|
|
882
|
+
if (key && value) {
|
|
883
|
+
params[key.trim()] = value.trim();
|
|
884
|
+
}
|
|
885
|
+
});
|
|
886
|
+
|
|
887
|
+
return params;
|
|
526
888
|
}
|
|
527
889
|
}
|
|
@@ -81,16 +81,4 @@ export class AttributeMasterController {
|
|
|
81
81
|
loggedInUser,
|
|
82
82
|
);
|
|
83
83
|
}
|
|
84
|
-
|
|
85
|
-
@Get('getAll/:entityType')
|
|
86
|
-
async getAttributes(
|
|
87
|
-
@Param('entityType') entityType: string,
|
|
88
|
-
@Req() req: Request & { user: any },
|
|
89
|
-
) {
|
|
90
|
-
const loggedInUser = req.user.userData;
|
|
91
|
-
return await this.attributeMasterService.getAttributes(
|
|
92
|
-
entityType,
|
|
93
|
-
loggedInUser,
|
|
94
|
-
);
|
|
95
|
-
}
|
|
96
84
|
}
|
|
@@ -33,9 +33,8 @@ export class EntityDynamicController {
|
|
|
33
33
|
if (!entityType) {
|
|
34
34
|
throw new BadRequestException(`Query param "entity_type" is required`);
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
return await this.entityDynamicService.
|
|
38
|
-
entityType,
|
|
36
|
+
data['entity_type'] = entityType;
|
|
37
|
+
return await this.entityDynamicService.createEntity(
|
|
39
38
|
data,
|
|
40
39
|
loggedInUser,
|
|
41
40
|
);
|
|
@@ -63,10 +62,9 @@ export class EntityDynamicController {
|
|
|
63
62
|
if (!existingEntity) {
|
|
64
63
|
throw new NotFoundException(`No entity found for id "${id}"`);
|
|
65
64
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
id,
|
|
65
|
+
data['id'] = id;
|
|
66
|
+
data['entity_type'] = entityType;
|
|
67
|
+
return await this.entityDynamicService.updateEntity(
|
|
70
68
|
data,
|
|
71
69
|
loggedInUser,
|
|
72
70
|
);
|
|
@@ -85,7 +83,7 @@ export class EntityDynamicController {
|
|
|
85
83
|
throw new BadRequestException(`Query param "entity_type" is required`);
|
|
86
84
|
}
|
|
87
85
|
|
|
88
|
-
const entity = await this.entityDynamicService.
|
|
86
|
+
const entity = await this.entityDynamicService.getEntityData(
|
|
89
87
|
entityType,
|
|
90
88
|
id,
|
|
91
89
|
loggedInUser,
|
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Body,
|
|
3
|
-
Controller, HttpCode,
|
|
4
|
-
HttpStatus,
|
|
5
|
-
Post,
|
|
6
|
-
Query,
|
|
7
|
-
Req,
|
|
8
|
-
Res,
|
|
9
|
-
UseGuards,
|
|
10
|
-
} from '@nestjs/common';
|
|
1
|
+
import { Body, Controller, HttpCode, HttpStatus, Post, Query, Req, Res, UseGuards } from '@nestjs/common';
|
|
11
2
|
import { EntityTableService } from '../service/entity-table.service';
|
|
12
3
|
import { Response } from 'express';
|
|
13
4
|
import { JwtAuthGuard } from '../../auth/guards/jwt.guard';
|
|
14
|
-
import { PopulateMetaService } from '../service/populate-meta.service';
|
|
15
5
|
import { EntityMasterService } from '../service/entity-master.service';
|
|
16
6
|
|
|
17
7
|
@Controller('meta')
|
|
@@ -19,9 +9,9 @@ import { EntityMasterService } from '../service/entity-master.service';
|
|
|
19
9
|
export class MetaController {
|
|
20
10
|
constructor(
|
|
21
11
|
private readonly entityTableService: EntityTableService,
|
|
22
|
-
private readonly populateMetaService: PopulateMetaService,
|
|
23
12
|
private readonly entityMaster: EntityMasterService,
|
|
24
|
-
) {
|
|
13
|
+
) {
|
|
14
|
+
}
|
|
25
15
|
|
|
26
16
|
@Post('get-table-data')
|
|
27
17
|
@HttpCode(HttpStatus.OK)
|
|
@@ -64,18 +54,6 @@ export class MetaController {
|
|
|
64
54
|
});
|
|
65
55
|
}
|
|
66
56
|
|
|
67
|
-
@Post('populate')
|
|
68
|
-
@HttpCode(HttpStatus.OK)
|
|
69
|
-
async populateMetaData(
|
|
70
|
-
@Query('organization_id') organizationId: number,
|
|
71
|
-
@Res() response: Response,
|
|
72
|
-
@Req() req: Request & { user: any },
|
|
73
|
-
) {
|
|
74
|
-
const loggedInUser = req.user.userData;
|
|
75
|
-
const result =
|
|
76
|
-
await this.populateMetaService.populateMetaData(organizationId);
|
|
77
|
-
return response.status(HttpStatus.OK).json(result);
|
|
78
|
-
}
|
|
79
57
|
|
|
80
58
|
@Post('operation-list')
|
|
81
59
|
@HttpCode(HttpStatus.OK)
|
|
@@ -89,4 +89,17 @@ export class AttributeMaster extends BaseEntity {
|
|
|
89
89
|
|
|
90
90
|
@Column({ name: 'flat_json_key', nullable: true })
|
|
91
91
|
flat_json_key: string;
|
|
92
|
+
|
|
93
|
+
// Dropdown data source fields
|
|
94
|
+
@Column({ name: 'ds_category', type: 'varchar', nullable: true, length: 50 })
|
|
95
|
+
ds_category: string;
|
|
96
|
+
|
|
97
|
+
@Column({ name: 'ds_entitytype', type: 'varchar', nullable: true, length: 255 })
|
|
98
|
+
ds_entitytype: string;
|
|
99
|
+
|
|
100
|
+
@Column({ name: 'ds_filtercode', type: 'varchar', nullable: true, length: 500 })
|
|
101
|
+
ds_filtercode: string;
|
|
102
|
+
|
|
103
|
+
@Column({ name: 'ds_appcode', type: 'varchar', nullable: true, length: 50 })
|
|
104
|
+
ds_appcode: string;
|
|
92
105
|
}
|