rez_core 6.5.32 → 6.5.33
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 +3 -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 +60 -38
- package/dist/core.module.js.map +1 -1
- 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 +2 -3
- 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 +23 -98
- 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/app-master.entity.d.ts +8 -4
- package/dist/module/meta/entity/app-master.entity.js +30 -12
- package/dist/module/meta/entity/app-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 +2 -5
- package/dist/module/meta/entity.module.js.map +1 -1
- package/dist/module/meta/repository/app-master.repository.js +1 -1
- package/dist/module/meta/repository/app-master.repository.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 +25 -25
- 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/menu.controller.js +2 -2
- package/dist/module/module/controller/menu.controller.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 +15 -10
- package/dist/module/module/controller/module-access.controller.js.map +1 -1
- package/dist/module/module/entity/menu.entity.d.ts +6 -4
- package/dist/module/module/entity/menu.entity.js +16 -12
- package/dist/module/module/entity/menu.entity.js.map +1 -1
- package/dist/module/module/entity/module-access.entity.d.ts +15 -0
- package/dist/module/module/entity/module-access.entity.js +50 -0
- 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 +4 -4
- package/dist/module/module/repository/menu.repository.js +17 -27
- package/dist/module/module/repository/menu.repository.js.map +1 -1
- package/dist/module/module/repository/module-access.repository.d.ts +7 -7
- package/dist/module/module/repository/module-access.repository.js +86 -48
- package/dist/module/module/repository/module-access.repository.js.map +1 -1
- package/dist/module/module/service/menu.service.d.ts +3 -5
- package/dist/module/module/service/menu.service.js +9 -12
- package/dist/module/module/service/menu.service.js.map +1 -1
- package/dist/module/module/service/module-access.service.d.ts +8 -11
- package/dist/module/module/service/module-access.service.js +24 -26
- 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 +6 -2
- package/dist/module/user/repository/role.repository.js +16 -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 +4 -2
- package/dist/module/user/repository/user.repository.js +19 -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 +42 -38
- 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 +29 -22
- package/dist/module/user/service/user.service.js +44 -59
- package/dist/module/user/service/user.service.js.map +1 -1
- package/dist/module/user/user.module.js +1 -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 +2 -4
- package/dist/table.config.js +0 -2
- 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 +5 -5
- package/src/constant/status.constant.ts +4 -0
- package/src/core.module.ts +55 -44
- 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 +2 -3
- 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 +49 -233
- 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/app-master.entity.ts +22 -9
- package/src/module/meta/entity/entity-master.entity.ts +3 -9
- package/src/module/meta/entity.module.ts +5 -6
- package/src/module/meta/repository/app-master.repository.ts +1 -1
- 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 +20 -15
- 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/menu.controller.ts +2 -2
- package/src/module/module/controller/module-access.controller.ts +16 -11
- package/src/module/module/entity/menu.entity.ts +14 -10
- package/src/module/module/entity/module-access.entity.ts +41 -1
- 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 +19 -31
- package/src/module/module/repository/module-access.repository.ts +100 -63
- package/src/module/module/service/menu.service.ts +11 -13
- package/src/module/module/service/module-access.service.ts +26 -38
- 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 +24 -12
- package/src/module/user/repository/user-role-mapping.repository.ts +5 -1
- package/src/module/user/repository/user.repository.ts +28 -8
- 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 +53 -60
- 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 +63 -95
- package/src/module/user/user.module.ts +3 -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 +0 -2
- 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/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
|
@@ -9,7 +9,7 @@ export class UserRoleMappingRepository {
|
|
|
9
9
|
constructor(
|
|
10
10
|
@InjectRepository(UserRoleMapping)
|
|
11
11
|
private readonly userRoleMappingRepository: Repository<UserRoleMapping>,
|
|
12
|
-
) {}
|
|
12
|
+
) { }
|
|
13
13
|
|
|
14
14
|
async save(
|
|
15
15
|
userRoleMapping: UserRoleMapping,
|
|
@@ -123,4 +123,8 @@ export class UserRoleMappingRepository {
|
|
|
123
123
|
},
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
|
+
|
|
127
|
+
async find(options: any): Promise<UserRoleMapping[]> {
|
|
128
|
+
return await this.userRoleMappingRepository.find(options);
|
|
129
|
+
}
|
|
126
130
|
}
|
|
@@ -8,34 +8,46 @@ import { InjectRepository } from '@nestjs/typeorm';
|
|
|
8
8
|
export class UserRepository {
|
|
9
9
|
constructor(
|
|
10
10
|
@InjectRepository(UserData) private userRepository: Repository<UserData>,
|
|
11
|
-
) {}
|
|
11
|
+
) { }
|
|
12
12
|
|
|
13
13
|
async findById(userId: number): Promise<UserData | null> {
|
|
14
14
|
return this.userRepository.findOne({ where: { id: userId } });
|
|
15
15
|
}
|
|
16
|
+
|
|
16
17
|
async findByEmailId(
|
|
17
18
|
email: string,
|
|
18
|
-
|
|
19
|
+
enterprise_id?: number,
|
|
20
|
+
getLastApp?: boolean,
|
|
19
21
|
): Promise<UserData | null> {
|
|
20
22
|
if (!email) return null;
|
|
21
23
|
|
|
22
24
|
const where: any = { email_id: email };
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
|
|
26
|
+
if (enterprise_id !== undefined) {
|
|
27
|
+
where.enterprise_id = enterprise_id;
|
|
25
28
|
}
|
|
26
|
-
|
|
29
|
+
|
|
30
|
+
const options: any = { where };
|
|
31
|
+
|
|
32
|
+
if (getLastApp) {
|
|
33
|
+
options.relations = {
|
|
34
|
+
last_app: true,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return this.userRepository.findOne(options);
|
|
27
39
|
}
|
|
28
40
|
|
|
29
41
|
async findByMobile(
|
|
30
42
|
mobile: string,
|
|
31
|
-
|
|
43
|
+
enterprise_id?: number,
|
|
32
44
|
appCode?: string,
|
|
33
45
|
): Promise<UserData | null> {
|
|
34
46
|
if (!mobile) return null;
|
|
35
47
|
|
|
36
48
|
const where: any = { mobile };
|
|
37
|
-
if (
|
|
38
|
-
where.
|
|
49
|
+
if (enterprise_id !== undefined) {
|
|
50
|
+
where.enterprise_id = enterprise_id;
|
|
39
51
|
}
|
|
40
52
|
if (appCode !== undefined) {
|
|
41
53
|
where.appcode = appCode;
|
|
@@ -47,4 +59,12 @@ export class UserRepository {
|
|
|
47
59
|
async saveUser(user: UserData): Promise<UserData> {
|
|
48
60
|
return this.userRepository.save(user);
|
|
49
61
|
}
|
|
62
|
+
|
|
63
|
+
async updateUser(id: number, user: UserData) {
|
|
64
|
+
return await this.userRepository.update(id, user);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
async find(options: any): Promise<UserData[]> {
|
|
68
|
+
return await this.userRepository.find(options);
|
|
69
|
+
}
|
|
50
70
|
}
|
|
@@ -8,7 +8,7 @@ export class UserSessionRepository {
|
|
|
8
8
|
constructor(
|
|
9
9
|
@InjectRepository(UserSession)
|
|
10
10
|
private userSessionRepo: Repository<UserSession>,
|
|
11
|
-
) {}
|
|
11
|
+
) { }
|
|
12
12
|
|
|
13
13
|
async findBySessionKey(sessionKey: string): Promise<UserSession | null> {
|
|
14
14
|
return this.userSessionRepo.findOne({ where: { session_key: sessionKey } });
|
|
@@ -24,6 +24,10 @@ export class UserSessionRepository {
|
|
|
24
24
|
return this.userSessionRepo.save(session);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
async fetchUserFcmToken(user_id: number) {
|
|
28
|
+
return await this.userSessionRepo.findOne({ where: { user_id }, select: ['fcm_token'], order: { login_time: 'DESC' } });
|
|
29
|
+
}
|
|
30
|
+
|
|
27
31
|
async logoutSession(sessionKey: string): Promise<void> {
|
|
28
32
|
await this.userSessionRepo.update(
|
|
29
33
|
{ session_key: sessionKey },
|
|
@@ -2,8 +2,6 @@ import { BadRequestException, Inject, Injectable } from '@nestjs/common';
|
|
|
2
2
|
import { ConfigService } from '@nestjs/config';
|
|
3
3
|
import { InjectRepository } from '@nestjs/typeorm';
|
|
4
4
|
import { INVITATION_STATUS_ACCEPTED, STATUS_ACTIVE } from 'src/constant/global.constant';
|
|
5
|
-
import { OrganizationRepository } from 'src/module/enterprise/repository/organization.repository';
|
|
6
|
-
import { ListMasterService } from 'src/module/listmaster/service/list-master.service';
|
|
7
5
|
import { Repository } from 'typeorm';
|
|
8
6
|
import { EncryptUtilService } from '../../../utils/service/encryptUtil.service';
|
|
9
7
|
import { UserRoleMapping } from '../entity/user-role-mapping.entity';
|
|
@@ -11,6 +9,8 @@ import { UserSessionService } from './user-session.service';
|
|
|
11
9
|
import { UserService } from './user.service';
|
|
12
10
|
import { JwtAuthService } from 'src/module/auth/services/jwt.service';
|
|
13
11
|
import { ReflectionHelper } from '../../../utils/service/reflection-helper.service';
|
|
12
|
+
import { EnterpriseRepository } from 'src/module/enterprise/repository/enterprise.repository';
|
|
13
|
+
import { StatusConstant } from '../../../constant/status.constant';
|
|
14
14
|
|
|
15
15
|
@Injectable()
|
|
16
16
|
export class LoginService {
|
|
@@ -20,9 +20,7 @@ export class LoginService {
|
|
|
20
20
|
private configService: ConfigService,
|
|
21
21
|
@InjectRepository(UserRoleMapping)
|
|
22
22
|
private readonly userRoleMappingRepository: Repository<UserRoleMapping>,
|
|
23
|
-
private readonly
|
|
24
|
-
@Inject('ListMasterService')
|
|
25
|
-
private readonly listMasterService: ListMasterService,
|
|
23
|
+
private readonly enterpriseRepository: EnterpriseRepository,
|
|
26
24
|
private readonly jwtAuthService: JwtAuthService,
|
|
27
25
|
private readonly reflectionHelper: ReflectionHelper,
|
|
28
26
|
) {
|
|
@@ -39,53 +37,49 @@ export class LoginService {
|
|
|
39
37
|
}): Promise<any> {
|
|
40
38
|
const { email_id, password, is_otp = false, subdomain } = data;
|
|
41
39
|
|
|
42
|
-
let
|
|
40
|
+
let enterprise;
|
|
43
41
|
|
|
44
42
|
if (subdomain) {
|
|
45
|
-
|
|
46
|
-
await this.
|
|
43
|
+
enterprise =
|
|
44
|
+
await this.enterpriseRepository.findEnterpriseBySubdomain(
|
|
47
45
|
subdomain,
|
|
48
46
|
);
|
|
49
47
|
|
|
50
|
-
if (!
|
|
48
|
+
if (!enterprise) {
|
|
51
49
|
return {
|
|
52
50
|
success: false,
|
|
53
|
-
message: '
|
|
51
|
+
message: 'Enterprise not found.',
|
|
54
52
|
};
|
|
55
53
|
}
|
|
56
54
|
}
|
|
57
55
|
|
|
58
|
-
// 🔹 Step 2: Find the user by email +
|
|
56
|
+
// 🔹 Step 2: Find the user by email + enterprise check
|
|
59
57
|
const user = await this.userService.findByEmailId(
|
|
60
58
|
email_id,
|
|
61
|
-
|
|
59
|
+
enterprise?.id,
|
|
60
|
+
true
|
|
62
61
|
);
|
|
63
62
|
|
|
64
|
-
if (!user || (
|
|
63
|
+
if (!user || (enterprise && user.enterprise_id !== enterprise.id)) {
|
|
65
64
|
return {
|
|
66
65
|
success: false,
|
|
67
|
-
message: 'User not found in
|
|
66
|
+
message: 'User not found in Enterprise.',
|
|
68
67
|
};
|
|
69
68
|
}
|
|
70
69
|
|
|
71
70
|
// 🔹 Step 3: Verify org status
|
|
72
|
-
const userOrgData = await this.
|
|
73
|
-
user.
|
|
74
|
-
);
|
|
75
|
-
|
|
76
|
-
const resolveStatus = await this.listMasterService.getResolvedListCode(
|
|
77
|
-
STATUS_ACTIVE,
|
|
78
|
-
user?.organization_id || 0,
|
|
71
|
+
const userOrgData = await this.enterpriseRepository.findById(
|
|
72
|
+
user.enterprise_id,
|
|
79
73
|
);
|
|
80
74
|
|
|
81
75
|
if (
|
|
82
|
-
user.status !=
|
|
83
|
-
userOrgData?.status !=
|
|
76
|
+
user.status != StatusConstant.ACTIVE ||
|
|
77
|
+
userOrgData?.status != StatusConstant.ACTIVE
|
|
84
78
|
) {
|
|
85
79
|
return {
|
|
86
80
|
success: false,
|
|
87
81
|
message:
|
|
88
|
-
'Your account or
|
|
82
|
+
'Your account or Enterprise is inactive. Please contact admin.',
|
|
89
83
|
};
|
|
90
84
|
}
|
|
91
85
|
|
|
@@ -107,20 +101,23 @@ export class LoginService {
|
|
|
107
101
|
}
|
|
108
102
|
|
|
109
103
|
// 🔹 Step 5: App access check
|
|
110
|
-
let
|
|
104
|
+
let app_id = user.last_app_access_id;
|
|
111
105
|
|
|
112
|
-
if (!user.
|
|
113
|
-
await this.userService.setDefaultLastAccess(user.id,
|
|
106
|
+
if (!user.last_app_access_id) {
|
|
107
|
+
await this.userService.setDefaultLastAccess(user.id, app_id);
|
|
114
108
|
}
|
|
115
109
|
|
|
116
110
|
const whereCondition: any = { user_id: user.id };
|
|
117
111
|
|
|
118
|
-
if (
|
|
119
|
-
whereCondition.
|
|
112
|
+
if (app_id) {
|
|
113
|
+
whereCondition.app_id = app_id;
|
|
120
114
|
}
|
|
121
115
|
|
|
122
116
|
const roleMappings = await this.userRoleMappingRepository.find({
|
|
123
117
|
where: whereCondition,
|
|
118
|
+
relations: {
|
|
119
|
+
app: true
|
|
120
|
+
}
|
|
124
121
|
});
|
|
125
122
|
|
|
126
123
|
if (!roleMappings.length) {
|
|
@@ -137,33 +134,29 @@ export class LoginService {
|
|
|
137
134
|
user.id,
|
|
138
135
|
defaultAccess.level_type,
|
|
139
136
|
defaultAccess.level_id,
|
|
140
|
-
defaultAccess.
|
|
137
|
+
defaultAccess.app_id,
|
|
141
138
|
);
|
|
142
139
|
|
|
143
140
|
const token = await this.userSessionService.createSession(
|
|
144
141
|
user,
|
|
145
|
-
defaultAccess.
|
|
142
|
+
defaultAccess.app_id,
|
|
146
143
|
defaultAccess,
|
|
144
|
+
defaultAccess.appcode
|
|
147
145
|
);
|
|
148
146
|
|
|
149
147
|
// 🔹 Step 7: Update first login + invitation status
|
|
150
|
-
const resolvedInvitationStatus =
|
|
151
|
-
await this.listMasterService.getResolvedListCode(
|
|
152
|
-
INVITATION_STATUS_ACCEPTED,
|
|
153
|
-
user?.organization_id || 0,
|
|
154
|
-
);
|
|
155
148
|
|
|
156
149
|
if (user.is_firstlogin === 1) {
|
|
157
|
-
user.invitation_status =
|
|
150
|
+
user.invitation_status = INVITATION_STATUS_ACCEPTED;
|
|
158
151
|
user.is_firstlogin = 0;
|
|
159
152
|
const { password, ...userWithoutPassword } = user;
|
|
160
|
-
await this.userService.
|
|
153
|
+
await this.userService.updateUser(user.id, userWithoutPassword, user);
|
|
161
154
|
}
|
|
162
155
|
|
|
163
156
|
// 🔹 Step 8: Return response
|
|
164
157
|
|
|
165
|
-
const org = await this.
|
|
166
|
-
user.
|
|
158
|
+
const org = await this.enterpriseRepository.findById(
|
|
159
|
+
user.enterprise_id,
|
|
167
160
|
);
|
|
168
161
|
let slug: string;
|
|
169
162
|
if (org) {
|
|
@@ -171,23 +164,24 @@ export class LoginService {
|
|
|
171
164
|
} else {
|
|
172
165
|
return {
|
|
173
166
|
success: false,
|
|
174
|
-
message: '
|
|
167
|
+
message: 'Enterprise not found for the user.',
|
|
175
168
|
};
|
|
176
169
|
}
|
|
177
170
|
|
|
178
171
|
return {
|
|
179
172
|
success: true,
|
|
180
173
|
accessToken: token,
|
|
181
|
-
|
|
174
|
+
app_id: defaultAccess.app_id,
|
|
182
175
|
level_type: defaultAccess.level_type,
|
|
183
176
|
level_id: defaultAccess.level_id,
|
|
184
177
|
slug: slug,
|
|
178
|
+
appcode: defaultAccess.appcode
|
|
185
179
|
};
|
|
186
180
|
}
|
|
187
181
|
|
|
188
182
|
async formLogin(body: any): Promise<any> {
|
|
189
183
|
if (body) {
|
|
190
|
-
const {
|
|
184
|
+
const { entity_id } = body;
|
|
191
185
|
|
|
192
186
|
const leadRepo = this.reflectionHelper.getRepoService('CRMLead');
|
|
193
187
|
const entityData = await leadRepo.findOne({
|
|
@@ -197,12 +191,12 @@ export class LoginService {
|
|
|
197
191
|
if (entityData) {
|
|
198
192
|
const level_id = entityData.level_id;
|
|
199
193
|
const level_type = entityData.level_type;
|
|
200
|
-
const
|
|
194
|
+
const enterprise_id = entityData.enterprise_id;
|
|
201
195
|
|
|
202
196
|
const token = this.jwtAuthService.generateJwt({
|
|
203
197
|
level_id: level_id,
|
|
204
198
|
level_type: level_type,
|
|
205
|
-
|
|
199
|
+
enterprise_id: enterprise_id,
|
|
206
200
|
});
|
|
207
201
|
|
|
208
202
|
return {
|
|
@@ -216,7 +210,7 @@ export class LoginService {
|
|
|
216
210
|
private async getDefaultAccess(
|
|
217
211
|
user: any,
|
|
218
212
|
roleMappings: any[],
|
|
219
|
-
): Promise<{ level_type: string; level_id: string;
|
|
213
|
+
): Promise<{ level_type: string; level_id: string; app_id: number; appcode?:string }> {
|
|
220
214
|
const orgAccess = roleMappings.find((r) => r.level_type === 'ORG');
|
|
221
215
|
const brnAccesses = roleMappings.filter((r) => r.level_type === 'BRN');
|
|
222
216
|
const schAccesses = roleMappings.filter((r) => r.level_type === 'SCH');
|
|
@@ -224,7 +218,7 @@ export class LoginService {
|
|
|
224
218
|
let validURM;
|
|
225
219
|
|
|
226
220
|
validURM = roleMappings.some(
|
|
227
|
-
(r) => r.level_type == 'ORG' && r.level_id == user.
|
|
221
|
+
(r) => r.level_type == 'ORG' && r.level_id == user.enterprise_id,
|
|
228
222
|
);
|
|
229
223
|
|
|
230
224
|
if (!validURM) {
|
|
@@ -239,7 +233,8 @@ export class LoginService {
|
|
|
239
233
|
return {
|
|
240
234
|
level_type: user.last_level_type,
|
|
241
235
|
level_id: user.last_level_id,
|
|
242
|
-
|
|
236
|
+
app_id: user.last_app_access_id,
|
|
237
|
+
appcode: user.last_app.code
|
|
243
238
|
};
|
|
244
239
|
}
|
|
245
240
|
|
|
@@ -247,7 +242,8 @@ export class LoginService {
|
|
|
247
242
|
return {
|
|
248
243
|
level_type: 'ORG',
|
|
249
244
|
level_id: orgAccess.level_id,
|
|
250
|
-
|
|
245
|
+
app_id: orgAccess.app_id,
|
|
246
|
+
appcode: orgAccess.app.code
|
|
251
247
|
};
|
|
252
248
|
}
|
|
253
249
|
|
|
@@ -269,7 +265,7 @@ export class LoginService {
|
|
|
269
265
|
return {
|
|
270
266
|
level_type: 'SCH',
|
|
271
267
|
level_id: rows.id,
|
|
272
|
-
|
|
268
|
+
app_id: brnAccesses[0].app_id,
|
|
273
269
|
};
|
|
274
270
|
} else {
|
|
275
271
|
throw new BadRequestException(
|
|
@@ -282,7 +278,7 @@ export class LoginService {
|
|
|
282
278
|
return {
|
|
283
279
|
level_type: 'SCH',
|
|
284
280
|
level_id: schAccesses[0].level_id,
|
|
285
|
-
|
|
281
|
+
app_id: schAccesses[0].app_id,
|
|
286
282
|
};
|
|
287
283
|
}
|
|
288
284
|
|
|
@@ -1,69 +1,60 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
|
|
3
|
-
import { BaseEntity } from '../../meta/entity/base-entity.entity';
|
|
1
|
+
import { Injectable } from '@nestjs/common';
|
|
4
2
|
import { UserData } from '../entity/user.entity';
|
|
5
3
|
import { Role } from '../entity/role.entity';
|
|
6
|
-
import {
|
|
4
|
+
import { STATUS_ACTIVE, STATUS_INACTIVE } from 'src/constant/global.constant';
|
|
7
5
|
import { RoleRepository } from '../repository/role.repository';
|
|
8
|
-
import {
|
|
6
|
+
import { Repository } from 'typeorm';
|
|
9
7
|
import { InjectRepository } from '@nestjs/typeorm';
|
|
10
8
|
import { ModuleAccess } from '../../module/entity/module-access.entity';
|
|
11
|
-
import { ServiceResult } from 'src/dtos/response';
|
|
12
|
-
import { ListMasterService } from 'src/module/listmaster/service/list-master.service';
|
|
13
|
-
import { UserRoleMappingRepository } from '../repository/user-role-mapping.repository';
|
|
14
9
|
import { UserRoleMapping } from '../entity/user-role-mapping.entity';
|
|
10
|
+
import { plainToInstance } from 'class-transformer';
|
|
11
|
+
import { StatusConstant } from '../../../constant/status.constant';
|
|
15
12
|
|
|
16
13
|
@Injectable()
|
|
17
|
-
export class RoleService
|
|
14
|
+
export class RoleService {
|
|
18
15
|
constructor(
|
|
19
16
|
private readonly roleRepository: RoleRepository,
|
|
20
|
-
private readonly entityManager: EntityManager,
|
|
21
17
|
@InjectRepository(ModuleAccess)
|
|
22
18
|
private readonly moduleAccessRepo: Repository<ModuleAccess>,
|
|
23
|
-
@Inject('ListMasterService')
|
|
24
|
-
private readonly listMasterService: ListMasterService,
|
|
25
19
|
@InjectRepository(UserRoleMapping)
|
|
26
20
|
private readonly userRoleMappingRepo: Repository<UserRoleMapping>,
|
|
27
21
|
) {
|
|
28
|
-
super();
|
|
29
22
|
}
|
|
30
23
|
|
|
31
|
-
async
|
|
32
|
-
|
|
24
|
+
async createRole(
|
|
25
|
+
role: Role,
|
|
33
26
|
loggedInUser: UserData,
|
|
34
|
-
)
|
|
35
|
-
const role = entityData as Role;
|
|
27
|
+
) {
|
|
36
28
|
|
|
37
29
|
// if level_type and level_id are not provided, use loggedInUser's values
|
|
38
|
-
role.level_type =
|
|
39
|
-
role.level_id =
|
|
40
|
-
role.
|
|
30
|
+
role.level_type = role.level_type || loggedInUser.level_type;
|
|
31
|
+
role.level_id = role.level_id || loggedInUser.level_id;
|
|
32
|
+
role.created_by = loggedInUser.id;
|
|
33
|
+
role.enterprise_id = loggedInUser.enterprise_id;
|
|
34
|
+
// role.appcode = role.appcode || loggedInUser.appcode;
|
|
41
35
|
|
|
42
36
|
if (
|
|
43
37
|
await this.roleRepository.isRoleNameWithLevelExists(role.name, {
|
|
44
|
-
|
|
45
|
-
level_type:
|
|
38
|
+
enterprise_id: loggedInUser.enterprise_id,
|
|
39
|
+
level_type: role.level_type || loggedInUser?.level_type,
|
|
46
40
|
level_id:
|
|
47
|
-
parseInt(
|
|
41
|
+
parseInt(role.level_id) ||
|
|
48
42
|
parseInt(loggedInUser?.level_id || '', 10),
|
|
49
43
|
})
|
|
50
44
|
) {
|
|
51
45
|
return { success: false, error: 'Role name already exists.' };
|
|
52
46
|
}
|
|
53
47
|
|
|
48
|
+
|
|
54
49
|
const sourceRole = role.copy_from_role_id
|
|
55
|
-
? await this.
|
|
56
|
-
ENTITYTYPE_ROLE,
|
|
57
|
-
role.copy_from_role_id,
|
|
58
|
-
loggedInUser,
|
|
59
|
-
)
|
|
50
|
+
? await this.roleRepository.findById(role.copy_from_role_id)
|
|
60
51
|
: null;
|
|
61
52
|
|
|
62
53
|
if (role.copy_from_role_id && !sourceRole) {
|
|
63
54
|
return { success: false, error: 'Source role not found.' };
|
|
64
55
|
}
|
|
65
|
-
|
|
66
|
-
const savedRole = await
|
|
56
|
+
role.status = StatusConstant.ACTIVE;
|
|
57
|
+
const savedRole = await this.roleRepository.saveRole(role);
|
|
67
58
|
if (sourceRole) {
|
|
68
59
|
const sourcePermissions = await this.moduleAccessRepo.find({
|
|
69
60
|
where: { role_code: sourceRole.code },
|
|
@@ -85,40 +76,31 @@ export class RoleService extends EntityServiceImpl {
|
|
|
85
76
|
return { success: true, data: savedRole };
|
|
86
77
|
}
|
|
87
78
|
|
|
88
|
-
async
|
|
89
|
-
|
|
79
|
+
async updateRole(
|
|
80
|
+
id: number,
|
|
81
|
+
role: Role,
|
|
90
82
|
loggedInUser: UserData,
|
|
91
|
-
)
|
|
92
|
-
if (!
|
|
83
|
+
) {
|
|
84
|
+
if (!role.name) {
|
|
93
85
|
return { success: false, error: 'Role name is required' };
|
|
94
86
|
}
|
|
95
|
-
const role = entityData as Role;
|
|
96
87
|
|
|
97
|
-
|
|
98
|
-
STATUS_INACTIVE,
|
|
99
|
-
loggedInUser?.organization_id || 0,
|
|
100
|
-
);
|
|
101
|
-
|
|
102
|
-
if (entityData.status == resolveStatus.id) {
|
|
88
|
+
if (role.status == STATUS_INACTIVE) {
|
|
103
89
|
//get role by id
|
|
104
|
-
const existingRole = await this.
|
|
105
|
-
ENTITYTYPE_ROLE,
|
|
106
|
-
entityData.id,
|
|
107
|
-
loggedInUser,
|
|
108
|
-
);
|
|
90
|
+
const existingRole = await this.roleRepository.findById(id);
|
|
109
91
|
|
|
110
92
|
if (!existingRole) {
|
|
111
93
|
return { success: false, error: 'Role not found' };
|
|
112
94
|
}
|
|
113
95
|
|
|
114
96
|
const associatedUsers = await this.userRoleMappingRepo
|
|
115
|
-
.createQueryBuilder(
|
|
116
|
-
.innerJoin(
|
|
117
|
-
.where(
|
|
118
|
-
.andWhere(
|
|
97
|
+
.createQueryBuilder('map')
|
|
98
|
+
.innerJoin('sso_user', 'usr', 'map.user_id = usr.id')
|
|
99
|
+
.where('usr.status::text = :status', { status: StatusConstant.INACTIVE })
|
|
100
|
+
.andWhere('map.role_id::text = :roleId', {
|
|
119
101
|
roleId: String(existingRole?.id),
|
|
120
102
|
})
|
|
121
|
-
.select(
|
|
103
|
+
.select('map') // same as SELECT map.*
|
|
122
104
|
.getRawMany();
|
|
123
105
|
|
|
124
106
|
if (associatedUsers.length > 0) {
|
|
@@ -137,9 +119,9 @@ export class RoleService extends EntityServiceImpl {
|
|
|
137
119
|
}
|
|
138
120
|
|
|
139
121
|
if (
|
|
140
|
-
await this.roleRepository.isRoleNameExists(
|
|
141
|
-
excludeRoleId:
|
|
142
|
-
|
|
122
|
+
await this.roleRepository.isRoleNameExists(role.name, {
|
|
123
|
+
excludeRoleId: role.id,
|
|
124
|
+
enterprise_id: loggedInUser?.enterprise_id,
|
|
143
125
|
})
|
|
144
126
|
) {
|
|
145
127
|
return {
|
|
@@ -149,14 +131,13 @@ export class RoleService extends EntityServiceImpl {
|
|
|
149
131
|
}
|
|
150
132
|
|
|
151
133
|
const { copy_from_role_id, ...persistableData } = role;
|
|
152
|
-
|
|
134
|
+
|
|
135
|
+
const entity = plainToInstance(Role, persistableData);
|
|
136
|
+
const updatedRole = await this.roleRepository.updateRole(id, entity);
|
|
153
137
|
|
|
154
138
|
if (role.copy_from_role_id) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
role.copy_from_role_id,
|
|
158
|
-
loggedInUser,
|
|
159
|
-
);
|
|
139
|
+
|
|
140
|
+
const sourceRole = await this.roleRepository.findById(role.copy_from_role_id);
|
|
160
141
|
|
|
161
142
|
if (!sourceRole) {
|
|
162
143
|
return {
|
|
@@ -194,4 +175,16 @@ export class RoleService extends EntityServiceImpl {
|
|
|
194
175
|
}): Promise<Role[] | null> {
|
|
195
176
|
return await this.roleRepository.find(data);
|
|
196
177
|
}
|
|
178
|
+
|
|
179
|
+
async findByCode(code: string) {
|
|
180
|
+
return await this.roleRepository.findByCode(code);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
async findById(id: number) {
|
|
184
|
+
return await this.roleRepository.findById(id);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
async find(options: any): Promise<Role[]> {
|
|
188
|
+
return await this.roleRepository.findRoles(options);
|
|
189
|
+
}
|
|
197
190
|
}
|
|
@@ -7,7 +7,7 @@ import { UserRoleMapping } from '../entity/user-role-mapping.entity';
|
|
|
7
7
|
export class UserRoleMappingService {
|
|
8
8
|
constructor(
|
|
9
9
|
private readonly userRoleMappingRepository: UserRoleMappingRepository,
|
|
10
|
-
) {}
|
|
10
|
+
) { }
|
|
11
11
|
|
|
12
12
|
async assignUserRole(userRoleMapping: UserRoleMapping) {
|
|
13
13
|
const existing = await this.userRoleMappingRepository.findByUserIdAndRoleId(
|
|
@@ -95,4 +95,26 @@ export class UserRoleMappingService {
|
|
|
95
95
|
levelId,
|
|
96
96
|
);
|
|
97
97
|
}
|
|
98
|
+
|
|
99
|
+
async find(options: any): Promise<UserRoleMapping[]> {
|
|
100
|
+
return await this.userRoleMappingRepository.find(options);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
async create(data: any, loggedInUser: any) {
|
|
104
|
+
// Assuming data maps to UserRoleMapping or needs transformation
|
|
105
|
+
// Based on usage in controller: this.roleMappingService.createEntity(data.userRoleMappingData, data.loggedInUserData)
|
|
106
|
+
|
|
107
|
+
// If data is already a UserRoleMapping object or similar
|
|
108
|
+
// We might need to adjust this based on actual DTO structure, but for now passing it through or saving
|
|
109
|
+
|
|
110
|
+
// If it's a direct save:
|
|
111
|
+
// return await this.userRoleMappingRepository.save(data);
|
|
112
|
+
|
|
113
|
+
// However, assignUserRole seems to be the main method for creating/assigning.
|
|
114
|
+
// Let's use assignUserRole if data matches, or save if it's a raw entity.
|
|
115
|
+
// The controller passes `data.userRoleMappingData`.
|
|
116
|
+
|
|
117
|
+
// Let's assume it's a UserRoleMapping compatible object.
|
|
118
|
+
return await this.assignUserRole(data);
|
|
119
|
+
}
|
|
98
120
|
}
|
|
@@ -4,8 +4,7 @@ import { BadRequestException, Injectable } from '@nestjs/common';
|
|
|
4
4
|
import { UserSessionRepository } from '../repository/userSession.repository';
|
|
5
5
|
import { JwtAuthService } from 'src/module/auth/services/jwt.service';
|
|
6
6
|
import { ConfigService } from '@nestjs/config';
|
|
7
|
-
import {
|
|
8
|
-
import { DataSource, Repository } from 'typeorm';
|
|
7
|
+
import { Repository } from 'typeorm';
|
|
9
8
|
import { UserRoleMapping } from '../entity/user-role-mapping.entity';
|
|
10
9
|
import { UserData } from '../entity/user.entity';
|
|
11
10
|
import { InjectRepository } from '@nestjs/typeorm';
|
|
@@ -20,18 +19,18 @@ export class UserSessionService {
|
|
|
20
19
|
private configService: ConfigService,
|
|
21
20
|
@InjectRepository(UserData)
|
|
22
21
|
private readonly userDataRepository: Repository<UserData>,
|
|
23
|
-
@InjectRepository(UserRoleMapping)
|
|
24
|
-
private readonly userRoleMappingRepository: Repository<UserRoleMapping>,
|
|
25
22
|
private readonly reflectionHelper: ReflectionHelper,
|
|
26
|
-
) {
|
|
27
|
-
|
|
23
|
+
) {
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async createSession(user, app_id?: number, accessInfo?: any, appcode?: string) {
|
|
28
27
|
const sessionToken = this.clockIDGenService.idGenerator('SES');
|
|
29
28
|
|
|
30
29
|
const userSession: any = new UserSession();
|
|
31
30
|
userSession.user_id = user.id;
|
|
32
31
|
userSession.session_key = sessionToken;
|
|
33
32
|
userSession.is_session_loggedout = 0;
|
|
34
|
-
userSession.login_time = new Date();
|
|
33
|
+
// userSession.login_time = new Date(); -- Changed login_time to be auto generated by typeorm
|
|
35
34
|
|
|
36
35
|
const expiryTokenInHours = this.configService.get('TOKEN_EXPIRY') || 1;
|
|
37
36
|
userSession.expiry_date = new Date(
|
|
@@ -43,10 +42,11 @@ export class UserSessionService {
|
|
|
43
42
|
const payload: any = {
|
|
44
43
|
id: user.id,
|
|
45
44
|
sessionToken,
|
|
46
|
-
|
|
45
|
+
app_id,
|
|
47
46
|
email_id: user.email_id,
|
|
48
47
|
organization_id: user.organization_id,
|
|
49
48
|
enterprise_id: user.enterprise_id,
|
|
49
|
+
appcode,
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
// ✅ Add role access details
|
|
@@ -57,7 +57,6 @@ export class UserSessionService {
|
|
|
57
57
|
|
|
58
58
|
const accessToken = this.jwtAuthService.generateJwt(payload);
|
|
59
59
|
|
|
60
|
-
userSession.access_token = accessToken;
|
|
61
60
|
await this.userSessionRepository.saveSession(userSession);
|
|
62
61
|
|
|
63
62
|
return accessToken;
|
|
@@ -71,6 +70,10 @@ export class UserSessionService {
|
|
|
71
70
|
await this.userSessionRepository.saveSession(userSession);
|
|
72
71
|
}
|
|
73
72
|
|
|
73
|
+
async fetchUserFcmToken(user_id: number) {
|
|
74
|
+
return await this.userSessionRepository.fetchUserFcmToken(user_id);
|
|
75
|
+
};
|
|
76
|
+
|
|
74
77
|
|
|
75
78
|
async switchCurrentLevelService(
|
|
76
79
|
currentUser: any,
|
|
@@ -103,12 +106,12 @@ export class UserSessionService {
|
|
|
103
106
|
});
|
|
104
107
|
}
|
|
105
108
|
|
|
106
|
-
if (getUserDetails?.
|
|
109
|
+
if (getUserDetails?.enterprise_id == 1 && payload.level_type == 'ORG') {
|
|
107
110
|
payload.organization_id = payload.level_id;
|
|
108
111
|
}
|
|
109
112
|
|
|
110
113
|
await this.userDataRepository.update(currentUser.id, {
|
|
111
|
-
|
|
114
|
+
last_app_access_id: data.app_id,
|
|
112
115
|
last_level_type: data.level_type,
|
|
113
116
|
last_level_id: data.level_id,
|
|
114
117
|
});
|