rez_core 6.5.50 → 6.5.51
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/.claude/settings.local.json +26 -0
- package/.idea/250218_nodejs_core.iml +9 -0
- package/.idea/codeStyles/Project.xml +59 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/copilot.data.migration.agent.xml +6 -0
- package/.idea/copilot.data.migration.ask.xml +6 -0
- package/.idea/copilot.data.migration.ask2agent.xml +6 -0
- package/.idea/copilot.data.migration.edit.xml +6 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/prettier.xml +6 -0
- package/.idea/vcs.xml +6 -0
- 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 -18
- package/dist/module/enterprise/entity/organization.entity.js +8 -74
- 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 +4 -4
- package/dist/module/enterprise/service/enterprise.service.js.map +1 -1
- package/dist/module/enterprise/service/organization.service.d.ts +4 -4
- package/dist/module/enterprise/service/organization.service.js +101 -24
- 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.js +1 -8
- package/dist/module/listmaster/service/list-master.service.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/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-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 +1 -1
- package/dist/module/meta/service/entity-service-impl.service.js +10 -14
- 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 +96 -48
- 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 +0 -2
- package/dist/module/notification/notification.module.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.js +0 -1
- package/dist/module/notification/service/otp.service.js.map +1 -1
- 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 +0 -3
- 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/server.log +850 -0
- 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 +9 -59
- 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 +10 -4
- package/src/module/enterprise/service/organization.service.ts +140 -23
- 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 +1 -9
- package/src/module/meta/controller/meta.controller.ts +3 -25
- 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-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 -14
- 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 +111 -63
- 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 +0 -2
- package/src/module/notification/service/notification.service.ts +0 -1
- package/src/module/notification/service/otp.service.ts +4 -3
- 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 -3
- 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
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
|
|
1
|
+
import { Column, CreateDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm';
|
|
2
|
+
import { EnterpriseData } from './enterprise.entity';
|
|
2
3
|
|
|
3
4
|
@Entity({ name: 'sso_organization' })
|
|
4
5
|
export class OrganizationData {
|
|
5
6
|
@PrimaryGeneratedColumn({ name: 'id', type: 'int' })
|
|
6
7
|
id: number;
|
|
7
8
|
|
|
8
|
-
@
|
|
9
|
-
enterprise_id:
|
|
9
|
+
@ManyToOne(() => EnterpriseData, {nullable: true, onDelete: 'SET NULL'})
|
|
10
|
+
@JoinColumn({ name: 'enterprise_id', referencedColumnName: 'id' })
|
|
11
|
+
enterprise_id: EnterpriseData;
|
|
10
12
|
|
|
11
13
|
@Column({ name: 'code', nullable: true })
|
|
12
14
|
code: string;
|
|
13
15
|
|
|
14
|
-
@Column({ name: 'appcode', nullable: true })
|
|
15
|
-
appcode: string;
|
|
16
|
-
|
|
17
16
|
@Column({ name: 'name', nullable: true })
|
|
18
17
|
name: string;
|
|
19
18
|
|
|
20
19
|
@Column({ name: 'status', type: 'varchar', nullable: true })
|
|
21
20
|
status: string;
|
|
22
21
|
|
|
23
|
-
@Column({ name: '
|
|
24
|
-
|
|
22
|
+
@Column({ name: 'parent_id', nullable: true })
|
|
23
|
+
parent_id: number;
|
|
25
24
|
|
|
26
25
|
@Column({ name: 'created_by', nullable: true })
|
|
27
26
|
created_by: number;
|
|
@@ -29,61 +28,12 @@ export class OrganizationData {
|
|
|
29
28
|
@Column({ name: 'modified_by', nullable: true })
|
|
30
29
|
modified_by: number;
|
|
31
30
|
|
|
32
|
-
@
|
|
31
|
+
@CreateDateColumn({ name: 'created_date', nullable: true })
|
|
33
32
|
created_date: Date;
|
|
34
33
|
|
|
35
|
-
@
|
|
36
|
-
parent_id: number;
|
|
37
|
-
|
|
38
|
-
@Column({ name: 'modified_date', nullable: true })
|
|
34
|
+
@UpdateDateColumn({ name: 'modified_date', nullable: true })
|
|
39
35
|
modified_date: Date;
|
|
40
36
|
|
|
41
|
-
@Column({ name: 'contact_number', nullable: true })
|
|
42
|
-
contact_number: string;
|
|
43
|
-
|
|
44
|
-
@Column({ name: 'email', nullable: true })
|
|
45
|
-
emailId: string;
|
|
46
|
-
|
|
47
|
-
@Column({ name: 'entity_type', nullable: true })
|
|
48
|
-
entity_type: string;
|
|
49
|
-
|
|
50
|
-
@Column({ name: 'primary_contact_name', nullable: true })
|
|
51
|
-
primary_contact_name: string;
|
|
52
|
-
|
|
53
|
-
@Column({ name: 'address', nullable: true })
|
|
54
|
-
address: string;
|
|
55
|
-
|
|
56
|
-
@Column({ name: 'gstin', nullable: true })
|
|
57
|
-
gstin: string;
|
|
58
|
-
|
|
59
|
-
@Column({ name: 'company_pan_number', nullable: true })
|
|
60
|
-
company_pan_number: string;
|
|
61
|
-
|
|
62
|
-
@Column({ name: 'bankacc_benef_name', nullable: true })
|
|
63
|
-
bankacc_benef_name: string;
|
|
64
|
-
|
|
65
|
-
@Column({ name: 'bankacc_bank_name', nullable: true })
|
|
66
|
-
bankacc_bank_name: string;
|
|
67
|
-
|
|
68
|
-
@Column({ name: 'bankacc_account_number', nullable: true })
|
|
69
|
-
bankaccAccountNumber: string;
|
|
70
|
-
|
|
71
|
-
@Column({ name: 'bankacc_branch_ifsc', nullable: true })
|
|
72
|
-
bankacc_account_number: string;
|
|
73
|
-
|
|
74
|
-
@Column({
|
|
75
|
-
name: 'organization_type',
|
|
76
|
-
type: 'varchar',
|
|
77
|
-
nullable: true,
|
|
78
|
-
})
|
|
79
|
-
organization_type: string;
|
|
80
|
-
|
|
81
|
-
@Column({ name: 'is_brand', type: 'boolean', nullable: true })
|
|
82
|
-
is_brand: boolean;
|
|
83
|
-
|
|
84
|
-
@Column({ name: 'type', nullable: true })
|
|
85
|
-
type: string;
|
|
86
|
-
|
|
87
37
|
@Column({ name: 'wbs_code', nullable: true })
|
|
88
38
|
wbs_code: string;
|
|
89
39
|
|
|
@@ -10,22 +10,44 @@ export class EnterpriseRepository {
|
|
|
10
10
|
private readonly enterpriseRepository: Repository<EnterpriseData>,
|
|
11
11
|
) {}
|
|
12
12
|
|
|
13
|
-
async save(enterpriseData: EnterpriseData) {
|
|
14
|
-
|
|
13
|
+
async save(enterpriseData: EnterpriseData, loggedInUser: any) {
|
|
14
|
+
if (loggedInUser) {
|
|
15
|
+
enterpriseData.created_by = loggedInUser.id;
|
|
16
|
+
enterpriseData.modified_by = loggedInUser.id;
|
|
17
|
+
}
|
|
15
18
|
return await this.enterpriseRepository.save(enterpriseData);
|
|
16
19
|
}
|
|
17
20
|
|
|
18
|
-
async update(
|
|
21
|
+
async update(
|
|
22
|
+
enterpriseData: EnterpriseData,
|
|
23
|
+
loggedInUser: any,
|
|
24
|
+
): Promise<EnterpriseData | null> {
|
|
19
25
|
const existingEnterprise = await this.enterpriseRepository.findOne({
|
|
20
26
|
where: { id: enterpriseData.id },
|
|
21
27
|
});
|
|
22
28
|
if (!existingEnterprise) {
|
|
23
29
|
throw new Error(`Enterprise with id ${enterpriseData.id} not found`);
|
|
24
30
|
}
|
|
25
|
-
|
|
31
|
+
if (loggedInUser) {
|
|
32
|
+
enterpriseData.modified_by = loggedInUser.id;
|
|
33
|
+
}
|
|
26
34
|
await this.enterpriseRepository.update(enterpriseData.id, enterpriseData);
|
|
27
35
|
return await this.enterpriseRepository.findOne({
|
|
28
36
|
where: { id: enterpriseData.id },
|
|
29
37
|
});
|
|
30
38
|
}
|
|
39
|
+
|
|
40
|
+
async findEnterpriseBySubdomain(
|
|
41
|
+
slug: string,
|
|
42
|
+
): Promise<EnterpriseData | null> {
|
|
43
|
+
return await this.enterpriseRepository.findOne({
|
|
44
|
+
where: { slug },
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
async findById(id: number) {
|
|
49
|
+
return await this.enterpriseRepository.findOne({
|
|
50
|
+
where: { id },
|
|
51
|
+
});
|
|
52
|
+
}
|
|
31
53
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// import { Inject, Injectable } from '@nestjs/common';
|
|
2
|
+
// import { firstValueFrom } from 'rxjs';
|
|
3
|
+
// import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
|
|
4
|
+
//
|
|
5
|
+
// @Injectable()
|
|
6
|
+
// export class BrandProfileService extends EntityServiceImpl {
|
|
7
|
+
// constructor() {
|
|
8
|
+
// super();
|
|
9
|
+
// }
|
|
10
|
+
// }
|
|
@@ -1,5 +1,75 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
@Injectable()
|
|
5
|
-
export class BrandService
|
|
1
|
+
// import { Injectable } from '@nestjs/common';
|
|
2
|
+
// import { InjectRepository } from '@nestjs/typeorm';
|
|
3
|
+
//
|
|
4
|
+
// @Injectable()
|
|
5
|
+
// export class BrandService {
|
|
6
|
+
// constructor(
|
|
7
|
+
// @InjectRepository(Brand)
|
|
8
|
+
// ) {
|
|
9
|
+
//
|
|
10
|
+
// }
|
|
11
|
+
//
|
|
12
|
+
// async getEntityData(
|
|
13
|
+
// entityType: string,
|
|
14
|
+
// id: number,
|
|
15
|
+
// loggedInUser,
|
|
16
|
+
// ): Promise<any> {
|
|
17
|
+
// const brandResponse = await super.getEntityData(
|
|
18
|
+
// entityType,
|
|
19
|
+
// id,
|
|
20
|
+
// loggedInUser,
|
|
21
|
+
// );
|
|
22
|
+
//
|
|
23
|
+
// return brandResponse;
|
|
24
|
+
// }
|
|
25
|
+
//
|
|
26
|
+
// async createEntity(body: any, userData): Promise<any> {
|
|
27
|
+
// const { entity_type, ...data } = body;
|
|
28
|
+
//
|
|
29
|
+
// const brandData = await super.createEntity(
|
|
30
|
+
// {
|
|
31
|
+
// ...data,
|
|
32
|
+
//
|
|
33
|
+
// entity_type: 'ORG',
|
|
34
|
+
// type: 'BRN',
|
|
35
|
+
// parent_id: userData.organization_id,
|
|
36
|
+
// },
|
|
37
|
+
// userData,
|
|
38
|
+
// );
|
|
39
|
+
//
|
|
40
|
+
// // save brand profile
|
|
41
|
+
//
|
|
42
|
+
// const brandProfile = await super.createEntity(
|
|
43
|
+
// {
|
|
44
|
+
// ...body,
|
|
45
|
+
// parent_id: brandData.id,
|
|
46
|
+
// organization_id: brandData.organization_id,
|
|
47
|
+
// entity_type: 'BRNP',
|
|
48
|
+
// },
|
|
49
|
+
// userData,
|
|
50
|
+
// );
|
|
51
|
+
//
|
|
52
|
+
// return brandProfile;
|
|
53
|
+
// }
|
|
54
|
+
//
|
|
55
|
+
// async updateEntity(body: any, userData): Promise<any> {
|
|
56
|
+
// // update brand table
|
|
57
|
+
// const { id, entity_type, organization_id, ...newBody } = body;
|
|
58
|
+
//
|
|
59
|
+
// const brandProfile = await super.updateEntity(body, userData);
|
|
60
|
+
//
|
|
61
|
+
// // update brand
|
|
62
|
+
// await super.updateEntity(
|
|
63
|
+
// {
|
|
64
|
+
// ...newBody,
|
|
65
|
+
// id: brandProfile.parent_id,
|
|
66
|
+
// parent_id: userData.organization_id,
|
|
67
|
+
// entity_type: 'ORG',
|
|
68
|
+
// type: 'BRN',
|
|
69
|
+
// },
|
|
70
|
+
// userData,
|
|
71
|
+
// );
|
|
72
|
+
//
|
|
73
|
+
// return brandProfile;
|
|
74
|
+
// }
|
|
75
|
+
// }
|
|
@@ -6,11 +6,17 @@ import { EnterpriseData } from '../entity/enterprise.entity';
|
|
|
6
6
|
export class EnterpriseService {
|
|
7
7
|
constructor(private readonly enterpriseRepository: EnterpriseRepository) {}
|
|
8
8
|
|
|
9
|
-
async create(
|
|
10
|
-
|
|
9
|
+
async create(
|
|
10
|
+
enterpriseData: EnterpriseData,
|
|
11
|
+
loggedInUser: any,
|
|
12
|
+
): Promise<EnterpriseData> {
|
|
13
|
+
return await this.enterpriseRepository.save(enterpriseData, loggedInUser);
|
|
11
14
|
}
|
|
12
15
|
|
|
13
|
-
async update(
|
|
14
|
-
|
|
16
|
+
async update(
|
|
17
|
+
enterpriseData: EnterpriseData,
|
|
18
|
+
loggedInUser: any,
|
|
19
|
+
): Promise<EnterpriseData | null> {
|
|
20
|
+
return await this.enterpriseRepository.update(enterpriseData, loggedInUser);
|
|
15
21
|
}
|
|
16
22
|
}
|
|
@@ -12,29 +12,24 @@ export class OrganizationService {
|
|
|
12
12
|
constructor(
|
|
13
13
|
@InjectRepository(OrganizationData)
|
|
14
14
|
private readonly organizationRepository: Repository<OrganizationData>,
|
|
15
|
+
private readonly schoolRepository: SchoolRepository,
|
|
15
16
|
private readonly idGen: ClockIDGenService,
|
|
16
17
|
private readonly wbcCodeGenService: WBSCodeGenService,
|
|
17
|
-
private readonly schoolRepository: SchoolRepository,
|
|
18
18
|
) {}
|
|
19
19
|
|
|
20
20
|
async create(
|
|
21
21
|
organizationDto: Partial<OrganizationData>,
|
|
22
|
+
loggedInUser?: any,
|
|
22
23
|
manager?: EntityManager,
|
|
23
24
|
): Promise<OrganizationData> {
|
|
24
25
|
const repo = manager
|
|
25
26
|
? manager.getRepository(OrganizationData)
|
|
26
27
|
: this.organizationRepository;
|
|
27
28
|
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
if (isBrand) {
|
|
31
|
-
// BRN case
|
|
32
|
-
const parentOrgId = organizationDto.parent_id;
|
|
33
|
-
|
|
34
|
-
if (!parentOrgId) {
|
|
35
|
-
throw new Error('Parent Org ID is required to create a brand.');
|
|
36
|
-
}
|
|
29
|
+
const parentOrgId = organizationDto.parent_id;
|
|
37
30
|
|
|
31
|
+
if (parentOrgId) {
|
|
32
|
+
// Sub-org case: parent_id is present
|
|
38
33
|
const parentOrg = await repo.findOne({
|
|
39
34
|
where: { id: parentOrgId },
|
|
40
35
|
});
|
|
@@ -43,37 +38,55 @@ export class OrganizationService {
|
|
|
43
38
|
throw new Error('Parent organization not found.');
|
|
44
39
|
}
|
|
45
40
|
|
|
46
|
-
|
|
41
|
+
if (!parentOrg.wbs_code) {
|
|
42
|
+
throw new Error('Parent organization must have a WBS code.');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Find existing sub-orgs with the same parent_id
|
|
46
|
+
const existingSubOrgs = await repo.find({
|
|
47
47
|
where: {
|
|
48
|
-
type: 'BRN',
|
|
49
48
|
parent_id: parentOrgId,
|
|
50
49
|
},
|
|
51
50
|
select: ['wbs_code'],
|
|
52
51
|
});
|
|
53
52
|
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
// Extract the last part of WBS codes (after the dot)
|
|
54
|
+
const subOrgCodes = existingSubOrgs
|
|
55
|
+
.map((subOrg) => {
|
|
56
|
+
const parts = subOrg.wbs_code?.split('.');
|
|
57
|
+
return parts && parts.length > 1 ? parts[parts.length - 1] : null;
|
|
58
|
+
})
|
|
56
59
|
.filter(Boolean)
|
|
57
60
|
.map(Number);
|
|
58
61
|
|
|
59
|
-
|
|
62
|
+
// Generate next sequential code
|
|
63
|
+
const nextSubOrgCode = subOrgCodes.length
|
|
64
|
+
? Math.max(...subOrgCodes) + 1
|
|
65
|
+
: 1;
|
|
60
66
|
|
|
61
|
-
const
|
|
62
|
-
organizationDto.wbs_code = `${parentOrg.wbs_code}.${
|
|
67
|
+
const subOrgWbsCode = this.wbcCodeGenService.padCode(nextSubOrgCode);
|
|
68
|
+
organizationDto.wbs_code = `${parentOrg.wbs_code}.${subOrgWbsCode}`;
|
|
63
69
|
} else {
|
|
64
|
-
//
|
|
70
|
+
// Main org case: no parent_id
|
|
65
71
|
const existingOrgs = await repo.find({
|
|
66
72
|
where: {
|
|
67
|
-
|
|
73
|
+
parent_id: IsNull(),
|
|
68
74
|
},
|
|
69
75
|
select: ['wbs_code'],
|
|
70
76
|
});
|
|
71
77
|
|
|
78
|
+
// Extract WBS codes (should be simple numbers like 00001, 00002)
|
|
72
79
|
const orgCodes = existingOrgs
|
|
73
|
-
.map((org) =>
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
.map((org) => {
|
|
81
|
+
// If WBS code contains a dot, it's not a main org, skip it
|
|
82
|
+
if (org.wbs_code?.includes('.')) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
return org.wbs_code ? Number(org.wbs_code) : null;
|
|
86
|
+
})
|
|
87
|
+
.filter((code): code is number => code !== null);
|
|
76
88
|
|
|
89
|
+
// Generate next sequential code
|
|
77
90
|
const nextOrgCode = orgCodes.length ? Math.max(...orgCodes) + 1 : 1;
|
|
78
91
|
|
|
79
92
|
organizationDto.wbs_code = this.wbcCodeGenService.padCode(nextOrgCode);
|
|
@@ -81,7 +94,11 @@ export class OrganizationService {
|
|
|
81
94
|
|
|
82
95
|
organizationDto.code = this.idGen.idGenerator('ORG');
|
|
83
96
|
// organizationDto.status = 'ACTIVE';
|
|
84
|
-
|
|
97
|
+
|
|
98
|
+
if (loggedInUser) {
|
|
99
|
+
organizationDto.modified_by = loggedInUser.id;
|
|
100
|
+
organizationDto.created_by = loggedInUser.id;
|
|
101
|
+
}
|
|
85
102
|
|
|
86
103
|
const organization = repo.create(organizationDto);
|
|
87
104
|
return await repo.save(organization);
|
|
@@ -113,12 +130,112 @@ export class OrganizationService {
|
|
|
113
130
|
async update(
|
|
114
131
|
id: number,
|
|
115
132
|
organizationDto: Partial<OrganizationData>,
|
|
133
|
+
loggedInUser?: any,
|
|
116
134
|
manager?: EntityManager,
|
|
117
135
|
): Promise<OrganizationData | null> {
|
|
118
136
|
const repo = manager
|
|
119
137
|
? manager.getRepository(OrganizationData)
|
|
120
138
|
: this.organizationRepository;
|
|
121
139
|
|
|
140
|
+
// Get existing organization
|
|
141
|
+
const existingOrg = await repo.findOne({ where: { id } });
|
|
142
|
+
if (!existingOrg) {
|
|
143
|
+
throw new Error(`Organization with id ${id} not found.`);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// Prevent circular reference - check if trying to set itself as parent
|
|
147
|
+
if (organizationDto.parent_id === id) {
|
|
148
|
+
throw new Error('Organization cannot be its own parent.');
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Check if parent_id is being changed
|
|
152
|
+
const parentIdChanged =
|
|
153
|
+
organizationDto.parent_id !== undefined &&
|
|
154
|
+
organizationDto.parent_id !== existingOrg.parent_id;
|
|
155
|
+
|
|
156
|
+
// If parent_id is being set or changed, recalculate WBS code
|
|
157
|
+
if (parentIdChanged) {
|
|
158
|
+
const newParentId = organizationDto.parent_id;
|
|
159
|
+
|
|
160
|
+
if (newParentId) {
|
|
161
|
+
// Sub-org case: parent_id is being set
|
|
162
|
+
const parentOrg = await repo.findOne({
|
|
163
|
+
where: { id: newParentId },
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
if (!parentOrg) {
|
|
167
|
+
throw new Error('Parent organization not found.');
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (!parentOrg.wbs_code) {
|
|
171
|
+
throw new Error('Parent organization must have a WBS code.');
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// Prevent setting a descendant as parent (circular reference check)
|
|
175
|
+
if (parentOrg.wbs_code?.startsWith(existingOrg.wbs_code || '')) {
|
|
176
|
+
throw new Error(
|
|
177
|
+
'Cannot set a descendant organization as parent (circular reference).',
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// Find existing sub-orgs with the same parent_id (excluding current org)
|
|
182
|
+
const existingSubOrgs = await repo.find({
|
|
183
|
+
where: {
|
|
184
|
+
parent_id: newParentId,
|
|
185
|
+
},
|
|
186
|
+
select: ['wbs_code', 'id'],
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
// Extract the last part of WBS codes (after the dot)
|
|
190
|
+
const subOrgCodes = existingSubOrgs
|
|
191
|
+
.filter((subOrg) => subOrg.id !== id) // Exclude current org
|
|
192
|
+
.map((subOrg) => {
|
|
193
|
+
const parts = subOrg.wbs_code?.split('.');
|
|
194
|
+
return parts && parts.length > 1 ? parts[parts.length - 1] : null;
|
|
195
|
+
})
|
|
196
|
+
.filter(Boolean)
|
|
197
|
+
.map(Number);
|
|
198
|
+
|
|
199
|
+
// Generate next sequential code
|
|
200
|
+
const nextSubOrgCode = subOrgCodes.length
|
|
201
|
+
? Math.max(...subOrgCodes) + 1
|
|
202
|
+
: 1;
|
|
203
|
+
|
|
204
|
+
const subOrgWbsCode = this.wbcCodeGenService.padCode(nextSubOrgCode);
|
|
205
|
+
organizationDto.wbs_code = `${parentOrg.wbs_code}.${subOrgWbsCode}`;
|
|
206
|
+
} else {
|
|
207
|
+
// Main org case: parent_id is being removed
|
|
208
|
+
const existingOrgs = await repo.find({
|
|
209
|
+
where: {
|
|
210
|
+
parent_id: IsNull(),
|
|
211
|
+
},
|
|
212
|
+
select: ['wbs_code', 'id'],
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
// Extract WBS codes (should be simple numbers like 00001, 00002)
|
|
216
|
+
const orgCodes = existingOrgs
|
|
217
|
+
.filter((org) => org.id !== id) // Exclude current org
|
|
218
|
+
.map((org) => {
|
|
219
|
+
// If WBS code contains a dot, it's not a main org, skip it
|
|
220
|
+
if (org.wbs_code?.includes('.')) {
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
return org.wbs_code ? Number(org.wbs_code) : null;
|
|
224
|
+
})
|
|
225
|
+
.filter((code): code is number => code !== null);
|
|
226
|
+
|
|
227
|
+
// Generate next sequential code
|
|
228
|
+
const nextOrgCode = orgCodes.length ? Math.max(...orgCodes) + 1 : 1;
|
|
229
|
+
|
|
230
|
+
organizationDto.wbs_code = this.wbcCodeGenService.padCode(nextOrgCode);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// Set modified_by
|
|
235
|
+
if (loggedInUser) {
|
|
236
|
+
organizationDto.modified_by = loggedInUser.id;
|
|
237
|
+
}
|
|
238
|
+
|
|
122
239
|
await repo.update(id, organizationDto);
|
|
123
240
|
return await repo.findOne({ where: { id } });
|
|
124
241
|
}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import { DataSource } from 'typeorm';
|
|
3
|
-
import { EntityServiceImpl } from './entity-service-impl.service';
|
|
4
2
|
import { ReflectionHelper } from 'src/utils/service/reflection-helper.service';
|
|
5
3
|
|
|
6
4
|
@Injectable()
|
|
7
5
|
export class PopulateMetaService {
|
|
8
6
|
constructor(
|
|
9
|
-
private readonly dataSource: DataSource,
|
|
10
|
-
private readonly entityServiceImpl: EntityServiceImpl,
|
|
11
7
|
private readonly reflectionHelper: ReflectionHelper,
|
|
12
|
-
) {
|
|
8
|
+
) {
|
|
9
|
+
}
|
|
13
10
|
|
|
14
11
|
async populateMetaData(organization_id: number) {
|
|
15
12
|
const metadataTables = [
|
|
@@ -44,17 +44,4 @@ export class EntityJSONController {
|
|
|
44
44
|
loggedInUser,
|
|
45
45
|
);
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
// @Get('/get_attributes/:entityType')
|
|
49
|
-
// @UseGuards(JwtAuthGuard)
|
|
50
|
-
// async getAttributesByMappedEntityType(
|
|
51
|
-
// @Param('entityType') entityType: string,
|
|
52
|
-
// @Req() req: Request & { user: any },
|
|
53
|
-
// ) {
|
|
54
|
-
// const loggedInUser = req.user?.userData;
|
|
55
|
-
// return this.entityJSONService.getAttributesByMappedEntityType(
|
|
56
|
-
// entityType,
|
|
57
|
-
// loggedInUser,
|
|
58
|
-
// );
|
|
59
|
-
// }
|
|
60
47
|
}
|
|
@@ -29,14 +29,11 @@ export class EntityJson {
|
|
|
29
29
|
created_by: number;
|
|
30
30
|
|
|
31
31
|
@Column({ type: 'int', nullable: true })
|
|
32
|
-
|
|
32
|
+
updated_by: number;
|
|
33
33
|
|
|
34
34
|
@CreateDateColumn({ type: 'timestamp', nullable: true })
|
|
35
35
|
created_at: Date;
|
|
36
36
|
|
|
37
37
|
@UpdateDateColumn({ type: 'timestamp', nullable: true })
|
|
38
38
|
updated_at: Date;
|
|
39
|
-
|
|
40
|
-
@UpdateDateColumn({ type: 'varchar', nullable: true })
|
|
41
|
-
updated_by: string;
|
|
42
39
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Module
|
|
1
|
+
import { Module } from '@nestjs/common';
|
|
2
2
|
import { EntityModule } from '../meta/entity.module';
|
|
3
3
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
4
4
|
import { EntityJSONService } from './service/entity_json.service';
|
|
@@ -8,15 +8,11 @@ import { UtilsModule } from 'src/utils/utils.module';
|
|
|
8
8
|
import { EntityJson } from './entity/entityJson.entity';
|
|
9
9
|
import { EntityJSONRepository } from './service/entityJson.repository';
|
|
10
10
|
|
|
11
|
+
|
|
11
12
|
@Module({
|
|
12
|
-
imports: [
|
|
13
|
-
forwardRef(() => EntityModule),
|
|
14
|
-
TypeOrmModule.forFeature([EntityJson]),
|
|
15
|
-
forwardRef(() => FilterModule),
|
|
16
|
-
UtilsModule,
|
|
17
|
-
],
|
|
13
|
+
imports: [EntityModule, TypeOrmModule.forFeature([EntityJson]),FilterModule,UtilsModule],
|
|
18
14
|
controllers: [EntityJSONController],
|
|
19
|
-
providers: [EntityJSONService,
|
|
20
|
-
exports: [
|
|
15
|
+
providers: [EntityJSONService,EntityJSONRepository],
|
|
16
|
+
exports: [],
|
|
21
17
|
})
|
|
22
18
|
export class EntityJSONModule {}
|