rez_core 6.5.47 → 6.5.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.module.js +3 -5
- package/dist/app.module.js.map +1 -1
- package/dist/core.module.js +38 -63
- package/dist/core.module.js.map +1 -1
- package/dist/migrations/1732612800000-AddEntityJsonGinIndex.d.ts +6 -0
- package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js +32 -0
- package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js.map +1 -0
- package/dist/module/auth/strategies/jwt.strategy.d.ts +1 -2
- package/dist/module/auth/strategies/jwt.strategy.js +2 -3
- 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 -1
- package/dist/module/dashboard/service/dashboard.service.js.map +1 -1
- package/dist/module/enterprise/controller/organization.controller.d.ts +4 -12
- package/dist/module/enterprise/controller/organization.controller.js +8 -64
- package/dist/module/enterprise/controller/organization.controller.js.map +1 -1
- package/dist/module/enterprise/enterprise.module.js +15 -10
- package/dist/module/enterprise/enterprise.module.js.map +1 -1
- package/dist/module/enterprise/entity/enterprise.entity.d.ts +3 -1
- package/dist/module/enterprise/entity/enterprise.entity.js +12 -4
- package/dist/module/enterprise/entity/enterprise.entity.js.map +1 -1
- package/dist/module/enterprise/entity/organization-app-mapping.entity.d.ts +1 -6
- package/dist/module/enterprise/entity/organization-app-mapping.entity.js +4 -21
- package/dist/module/enterprise/entity/organization-app-mapping.entity.js.map +1 -1
- package/dist/module/enterprise/entity/organization.entity.d.ts +18 -3
- package/dist/module/enterprise/entity/organization.entity.js +74 -8
- package/dist/module/enterprise/entity/organization.entity.js.map +1 -1
- package/dist/module/enterprise/repository/enterprise.repository.d.ts +2 -4
- package/dist/module/enterprise/repository/enterprise.repository.js +4 -19
- package/dist/module/enterprise/repository/enterprise.repository.js.map +1 -1
- package/dist/module/enterprise/service/brand.service.d.ts +3 -0
- package/dist/module/enterprise/service/brand.service.js +17 -0
- 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 +24 -101
- package/dist/module/enterprise/service/organization.service.js.map +1 -1
- package/dist/module/entity_json/controller/entity_json.controller.d.ts +2 -9
- package/dist/module/entity_json/controller/entity_json.controller.js.map +1 -1
- package/dist/module/entity_json/entity/entityJson.entity.d.ts +2 -1
- package/dist/module/entity_json/entity/entityJson.entity.js +5 -1
- package/dist/module/entity_json/entity/entityJson.entity.js.map +1 -1
- package/dist/module/entity_json/entity_json.module.js +7 -2
- package/dist/module/entity_json/entity_json.module.js.map +1 -1
- package/dist/module/entity_json/service/entity_json.service.d.ts +2 -10
- package/dist/module/entity_json/service/entity_json.service.js +101 -25
- package/dist/module/entity_json/service/entity_json.service.js.map +1 -1
- package/dist/module/filter/controller/filter.controller.d.ts +12 -0
- 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 +11 -2
- package/dist/module/filter/filter.module.js.map +1 -1
- package/dist/module/filter/service/filter.service.d.ts +38 -2
- package/dist/module/filter/service/filter.service.js +43 -50
- package/dist/module/filter/service/filter.service.js.map +1 -1
- package/dist/module/filter/service/flatjson-filter.service.d.ts +32 -0
- package/dist/module/filter/service/flatjson-filter.service.js +632 -0
- package/dist/module/filter/service/flatjson-filter.service.js.map +1 -0
- package/dist/module/filter/service/saved-filter.service.d.ts +3 -2
- package/dist/module/filter/service/saved-filter.service.js +14 -18
- package/dist/module/filter/service/saved-filter.service.js.map +1 -1
- package/dist/module/integration/service/integration.service.d.ts +1 -0
- package/dist/module/integration/service/integration.service.js +2 -1
- package/dist/module/integration/service/integration.service.js.map +1 -1
- package/dist/module/integration/service/wrapper.service.js +1 -0
- package/dist/module/integration/service/wrapper.service.js.map +1 -1
- package/dist/module/layout/controller/layout.controller.d.ts +3 -1
- package/dist/module/layout/controller/layout.controller.js +7 -3
- package/dist/module/layout/controller/layout.controller.js.map +1 -1
- package/dist/module/layout/entity/header-section.entity.d.ts +2 -0
- package/dist/module/layout/entity/header-section.entity.js +8 -0
- package/dist/module/layout/entity/header-section.entity.js.map +1 -1
- package/dist/module/layout/layout.module.js +2 -1
- package/dist/module/layout/layout.module.js.map +1 -1
- package/dist/module/layout/repository/header-section.repository.d.ts +1 -0
- package/dist/module/layout/repository/header-section.repository.js +5 -0
- 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 +41 -0
- package/dist/module/linked_attributes/controller/linked_attributes.controller.js +90 -0
- package/dist/module/linked_attributes/controller/linked_attributes.controller.js.map +1 -1
- package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.d.ts +13 -0
- package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js +64 -0
- package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js.map +1 -0
- package/dist/module/linked_attributes/linked_attributes.module.js +8 -1
- package/dist/module/linked_attributes/linked_attributes.module.js.map +1 -1
- package/dist/module/linked_attributes/service/linked_attributes.service.d.ts +65 -1
- package/dist/module/linked_attributes/service/linked_attributes.service.js +287 -2
- package/dist/module/linked_attributes/service/linked_attributes.service.js.map +1 -1
- package/dist/module/listmaster/service/list-master.service.js +8 -1
- package/dist/module/listmaster/service/list-master.service.js.map +1 -1
- package/dist/module/meta/controller/app-master.controller.js.map +1 -0
- package/dist/module/meta/controller/meta.controller.d.ts +6 -1
- package/dist/module/meta/controller/meta.controller.js +19 -1
- package/dist/module/meta/controller/meta.controller.js.map +1 -1
- package/dist/module/meta/entity/app-master.entity.d.ts +13 -0
- package/dist/module/{app_master → meta}/entity/app-master.entity.js +12 -30
- package/dist/module/meta/entity/app-master.entity.js.map +1 -0
- package/dist/module/meta/entity/entity-master.entity.d.ts +1 -0
- package/dist/module/meta/entity/entity-master.entity.js +8 -1
- package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
- package/dist/module/meta/entity.module.js +14 -3
- package/dist/module/meta/entity.module.js.map +1 -1
- package/dist/module/{app_master → meta}/repository/app-master.repository.d.ts +2 -2
- package/dist/module/{app_master → meta}/repository/app-master.repository.js +4 -4
- package/dist/module/meta/repository/app-master.repository.js.map +1 -0
- package/dist/module/meta/service/app-master.service.js.map +1 -0
- package/dist/module/meta/service/attribute-master.service.d.ts +6 -1
- package/dist/module/meta/service/attribute-master.service.js +22 -2
- package/dist/module/meta/service/attribute-master.service.js.map +1 -1
- package/dist/module/meta/service/entity-master.service.js +1 -0
- package/dist/module/meta/service/entity-master.service.js.map +1 -1
- package/dist/module/meta/service/entity-relation.service.d.ts +4 -3
- package/dist/module/meta/service/entity-relation.service.js +10 -4
- 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 +14 -10
- package/dist/module/meta/service/entity-service-impl.service.js.map +1 -1
- package/dist/module/meta/service/entity-table.service.d.ts +5 -4
- package/dist/module/meta/service/entity-table.service.js +45 -24
- package/dist/module/meta/service/entity-table.service.js.map +1 -1
- package/dist/module/meta/service/populate-meta.service.d.ts +13 -0
- package/dist/module/{enterprise → meta}/service/populate-meta.service.js +8 -2
- package/dist/module/meta/service/populate-meta.service.js.map +1 -0
- package/dist/module/meta/service/resolver.service.d.ts +1 -1
- package/dist/module/meta/service/resolver.service.js +6 -3
- package/dist/module/meta/service/resolver.service.js.map +1 -1
- package/dist/module/module/controller/module-access.controller.d.ts +4 -3
- package/dist/module/module/controller/module-access.controller.js +8 -13
- package/dist/module/module/controller/module-access.controller.js.map +1 -1
- package/dist/module/module/entity/menu.entity.d.ts +3 -6
- package/dist/module/module/entity/menu.entity.js +10 -19
- package/dist/module/module/entity/menu.entity.js.map +1 -1
- package/dist/module/module/entity/module-access.entity.d.ts +1 -15
- package/dist/module/module/entity/module-access.entity.js +3 -49
- package/dist/module/module/entity/module-access.entity.js.map +1 -1
- package/dist/module/module/entity/module-action.entity.d.ts +2 -4
- package/dist/module/module/entity/module-action.entity.js +6 -11
- package/dist/module/module/entity/module-action.entity.js.map +1 -1
- package/dist/module/module/entity/module.entity.d.ts +5 -3
- package/dist/module/module/entity/module.entity.js +18 -8
- 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 +7 -5
- 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 +27 -38
- 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 +48 -96
- package/dist/module/module/repository/module-access.repository.js.map +1 -1
- package/dist/module/module/service/menu.service.d.ts +4 -2
- package/dist/module/module/service/menu.service.js +10 -7
- package/dist/module/module/service/menu.service.js.map +1 -1
- package/dist/module/module/service/module-access.service.d.ts +10 -7
- package/dist/module/module/service/module-access.service.js +24 -22
- package/dist/module/module/service/module-access.service.js.map +1 -1
- package/dist/module/notification/entity/notification.entity.d.ts +2 -17
- package/dist/module/notification/entity/notification.entity.js +2 -68
- package/dist/module/notification/entity/notification.entity.js.map +1 -1
- package/dist/module/notification/notification.module.js +2 -0
- package/dist/module/notification/notification.module.js.map +1 -1
- package/dist/module/notification/service/notification.service.d.ts +3 -1
- package/dist/module/notification/service/notification.service.js +5 -2
- package/dist/module/notification/service/notification.service.js.map +1 -1
- package/dist/module/notification/service/otp.service.js +1 -0
- package/dist/module/notification/service/otp.service.js.map +1 -1
- package/dist/module/user/controller/login.controller.d.ts +3 -1
- package/dist/module/user/controller/login.controller.js +6 -2
- package/dist/module/user/controller/login.controller.js.map +1 -1
- package/dist/module/user/controller/user.controller.d.ts +2 -0
- package/dist/module/user/controller/user.controller.js +13 -0
- package/dist/module/user/controller/user.controller.js.map +1 -1
- package/dist/module/user/dto/create-user.dto.d.ts +3 -6
- package/dist/module/user/dto/create-user.dto.js +11 -17
- package/dist/module/user/dto/create-user.dto.js.map +1 -1
- package/dist/module/user/entity/role.entity.d.ts +6 -18
- package/dist/module/user/entity/role.entity.js +19 -64
- package/dist/module/user/entity/role.entity.js.map +1 -1
- package/dist/module/user/entity/user-role-mapping.entity.d.ts +0 -10
- package/dist/module/user/entity/user-role-mapping.entity.js +1 -33
- package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
- package/dist/module/user/entity/user-session.entity.d.ts +2 -0
- package/dist/module/user/entity/user-session.entity.js +20 -2
- package/dist/module/user/entity/user-session.entity.js.map +1 -1
- package/dist/module/user/entity/user.entity.d.ts +5 -17
- package/dist/module/user/entity/user.entity.js +15 -61
- package/dist/module/user/entity/user.entity.js.map +1 -1
- package/dist/module/user/repository/role.repository.d.ts +2 -7
- package/dist/module/user/repository/role.repository.js +8 -23
- package/dist/module/user/repository/role.repository.js.map +1 -1
- package/dist/module/user/repository/user-role-mapping.repository.d.ts +0 -1
- package/dist/module/user/repository/user-role-mapping.repository.js +0 -3
- package/dist/module/user/repository/user-role-mapping.repository.js.map +1 -1
- package/dist/module/user/repository/user.repository.d.ts +2 -5
- package/dist/module/user/repository/user.repository.js +7 -26
- package/dist/module/user/repository/user.repository.js.map +1 -1
- package/dist/module/user/repository/userSession.repository.d.ts +0 -1
- package/dist/module/user/repository/userSession.repository.js +0 -3
- package/dist/module/user/repository/userSession.repository.js.map +1 -1
- package/dist/module/user/service/login.service.d.ts +5 -3
- package/dist/module/user/service/login.service.js +42 -43
- package/dist/module/user/service/login.service.js.map +1 -1
- package/dist/module/user/service/role.service.d.ts +11 -24
- package/dist/module/user/service/role.service.js +40 -54
- package/dist/module/user/service/role.service.js.map +1 -1
- package/dist/module/user/service/user-role-mapping.service.d.ts +0 -2
- package/dist/module/user/service/user-role-mapping.service.js +0 -6
- package/dist/module/user/service/user-role-mapping.service.js.map +1 -1
- package/dist/module/user/service/user-session.service.d.ts +4 -3
- package/dist/module/user/service/user-session.service.js +11 -10
- package/dist/module/user/service/user-session.service.js.map +1 -1
- package/dist/module/user/service/user.service.d.ts +22 -33
- package/dist/module/user/service/user.service.js +58 -66
- package/dist/module/user/service/user.service.js.map +1 -1
- package/dist/module/user/user.module.js +7 -2
- 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 +8 -6
- 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 +2 -1
- 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 +2 -0
- package/dist/module/workflow/service/comm-template.service.js.map +1 -1
- package/dist/module/workflow/service/entity-modification.service.js +1 -0
- 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 +3 -0
- package/dist/module/workflow/service/task.service.js.map +1 -1
- package/dist/module/workflow/service/workflow-meta.service.js +7 -2
- 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 +0 -2
- package/dist/module/workflow/workflow.module.js.map +1 -1
- package/dist/module/workflow-automation/service/workflow-automation.service.js +6 -11
- package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
- package/dist/module/workflow-automation/workflow-automation.module.js +1 -3
- package/dist/module/workflow-automation/workflow-automation.module.js.map +1 -1
- package/dist/module/workflow-schedule/service/workflow-schedule.service.js +2 -0
- package/dist/module/workflow-schedule/service/workflow-schedule.service.js.map +1 -1
- package/dist/table.config.d.ts +5 -3
- package/dist/table.config.js +3 -1
- package/dist/table.config.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/app.module.ts +5 -7
- package/src/core.module.ts +44 -58
- package/src/migrations/1732612800000-AddEntityJsonGinIndex.ts +41 -0
- package/src/module/auth/strategies/jwt.strategy.ts +2 -4
- package/src/module/dashboard/dashboard.module.ts +3 -3
- package/src/module/dashboard/service/dashboard.service.ts +2 -1
- package/src/module/enterprise/controller/organization.controller.ts +4 -60
- package/src/module/enterprise/enterprise.module.ts +18 -16
- package/src/module/enterprise/entity/enterprise.entity.ts +11 -5
- package/src/module/enterprise/entity/organization-app-mapping.entity.ts +4 -18
- package/src/module/enterprise/entity/organization.entity.ts +59 -9
- package/src/module/enterprise/repository/enterprise.repository.ts +4 -26
- package/src/module/enterprise/service/brand.service.ts +5 -75
- package/src/module/enterprise/service/enterprise.service.ts +4 -10
- package/src/module/enterprise/service/organization.service.ts +23 -140
- package/src/module/entity_json/controller/entity_json.controller.ts +13 -0
- package/src/module/entity_json/docs/FlatJson_Filterin_System.md +2804 -0
- package/src/module/entity_json/entity/entityJson.entity.ts +4 -1
- package/src/module/entity_json/entity_json.module.ts +9 -5
- package/src/module/entity_json/service/entity_json.service.ts +237 -51
- package/src/module/filter/controller/filter.controller.ts +1 -3
- package/src/module/filter/filter.module.ts +12 -3
- package/src/module/filter/service/filter.service.ts +130 -73
- package/src/module/filter/service/flatjson-filter.service.ts +903 -0
- package/src/module/filter/service/saved-filter.service.ts +16 -26
- package/src/module/filter/test/flatjson-filter.service.spec.ts +415 -0
- package/src/module/integration/service/integration.service.ts +6 -2
- package/src/module/integration/service/wrapper.service.ts +1 -0
- package/src/module/layout/controller/layout.controller.ts +8 -1
- package/src/module/layout/entity/header-section.entity.ts +6 -0
- package/src/module/layout/layout.module.ts +1 -1
- package/src/module/layout/repository/header-section.repository.ts +6 -0
- package/src/module/layout/service/header-section.service.ts +1 -1
- package/src/module/linked_attributes/controller/linked_attributes.controller.ts +100 -0
- package/src/module/linked_attributes/dto/create-linked-attribute-smart.dto.ts +54 -0
- package/src/module/linked_attributes/linked_attributes.module.ts +9 -2
- package/src/module/linked_attributes/service/linked_attributes.service.ts +578 -3
- package/src/module/linked_attributes/test/linked-attributes.service.spec.ts +244 -0
- package/src/module/listmaster/service/list-master.service.ts +9 -1
- package/src/module/meta/controller/meta.controller.ts +25 -3
- package/src/module/{app_master → meta}/entity/app-master.entity.ts +9 -22
- package/src/module/meta/entity/entity-master.entity.ts +9 -3
- package/src/module/meta/entity.module.ts +20 -6
- package/src/module/{app_master → meta}/repository/app-master.repository.ts +3 -3
- package/src/module/meta/service/attribute-master.service.ts +31 -1
- package/src/module/meta/service/entity-master.service.ts +1 -0
- package/src/module/meta/service/entity-relation.service.ts +10 -6
- package/src/module/meta/service/entity-service-impl.service.ts +14 -19
- package/src/module/meta/service/entity-table.service.ts +82 -68
- package/src/module/meta/service/entity.service.ts +0 -1
- package/src/module/{enterprise → meta}/service/populate-meta.service.ts +5 -2
- package/src/module/meta/service/resolver.service.ts +4 -0
- package/src/module/module/controller/module-access.controller.ts +9 -14
- package/src/module/module/entity/menu.entity.ts +10 -18
- package/src/module/module/entity/module-access.entity.ts +3 -40
- package/src/module/module/entity/module-action.entity.ts +6 -10
- package/src/module/module/entity/module.entity.ts +14 -7
- package/src/module/module/module.module.ts +3 -2
- package/src/module/module/repository/menu.repository.ts +29 -43
- package/src/module/module/repository/module-access.repository.ts +63 -111
- package/src/module/module/service/menu.service.ts +9 -7
- package/src/module/module/service/module-access.service.ts +34 -22
- package/src/module/notification/entity/notification.entity.ts +3 -53
- package/src/module/notification/notification.module.ts +2 -0
- package/src/module/notification/service/notification.service.ts +1 -0
- package/src/module/notification/service/otp.service.ts +3 -4
- package/src/module/user/controller/login.controller.ts +8 -7
- package/src/module/user/controller/user.controller.ts +9 -0
- package/src/module/user/dto/create-user.dto.ts +6 -19
- package/src/module/user/entity/role.entity.ts +16 -59
- package/src/module/user/entity/user-role-mapping.entity.ts +3 -29
- package/src/module/user/entity/user-session.entity.ts +19 -3
- package/src/module/user/entity/user.entity.ts +13 -48
- package/src/module/user/repository/role.repository.ts +12 -32
- package/src/module/user/repository/user-role-mapping.repository.ts +1 -5
- package/src/module/user/repository/user.repository.ts +9 -36
- package/src/module/user/repository/userSession.repository.ts +1 -5
- package/src/module/user/service/login.service.ts +51 -47
- package/src/module/user/service/role.service.ts +63 -64
- package/src/module/user/service/user-role-mapping.service.ts +1 -23
- package/src/module/user/service/user-session.service.ts +11 -14
- package/src/module/user/service/user.service.ts +95 -76
- package/src/module/user/user.module.ts +5 -4
- package/src/module/workflow/repository/action-data.repository.ts +8 -6
- 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 +2 -3
- package/src/module/workflow/service/action.service.ts +2 -2
- package/src/module/workflow/service/comm-template.service.ts +2 -0
- package/src/module/workflow/service/entity-modification.service.ts +1 -0
- 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 +3 -0
- package/src/module/workflow/service/workflow-meta.service.ts +7 -2
- package/src/module/workflow/service/workflow.service.ts +2 -2
- package/src/module/workflow/workflow.module.ts +0 -2
- package/src/module/workflow-automation/service/workflow-automation.service.ts +7 -19
- package/src/module/workflow-automation/workflow-automation.module.ts +3 -4
- package/src/module/workflow-schedule/service/workflow-schedule.service.ts +2 -0
- package/src/resources/dev.properties.yaml +2 -2
- package/src/table.config.ts +3 -1
- package/.claude/settings.local.json +0 -26
- package/.idea/250218_nodejs_core.iml +0 -9
- package/.idea/codeStyles/Project.xml +0 -59
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/copilot.data.migration.agent.xml +0 -6
- package/.idea/copilot.data.migration.ask.xml +0 -6
- package/.idea/copilot.data.migration.ask2agent.xml +0 -6
- package/.idea/copilot.data.migration.edit.xml +0 -6
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/prettier.xml +0 -6
- package/.idea/vcs.xml +0 -6
- package/dist/constant/status.constant.d.ts +0 -4
- package/dist/constant/status.constant.js +0 -9
- package/dist/constant/status.constant.js.map +0 -1
- package/dist/module/app_master/app-master.module.d.ts +0 -2
- package/dist/module/app_master/app-master.module.js +0 -28
- package/dist/module/app_master/app-master.module.js.map +0 -1
- package/dist/module/app_master/controller/app-master.controller.js.map +0 -1
- package/dist/module/app_master/entity/app-master.entity.d.ts +0 -17
- package/dist/module/app_master/entity/app-master.entity.js.map +0 -1
- package/dist/module/app_master/repository/app-master.repository.js.map +0 -1
- package/dist/module/app_master/service/app-master.service.js.map +0 -1
- package/dist/module/enterprise/controller/enterprise.controller.d.ts +0 -12
- package/dist/module/enterprise/controller/enterprise.controller.js +0 -57
- package/dist/module/enterprise/controller/enterprise.controller.js.map +0 -1
- package/dist/module/enterprise/controller/meta.controller.d.ts +0 -9
- package/dist/module/enterprise/controller/meta.controller.js +0 -43
- package/dist/module/enterprise/controller/meta.controller.js.map +0 -1
- package/dist/module/enterprise/service/brand-profile.service.d.ts +0 -0
- package/dist/module/enterprise/service/brand-profile.service.js +0 -1
- package/dist/module/enterprise/service/brand-profile.service.js.map +0 -1
- package/dist/module/enterprise/service/populate-meta.service.d.ts +0 -9
- package/dist/module/enterprise/service/populate-meta.service.js.map +0 -1
- package/dist/module/enterprise/service/school.service.d.ts +0 -0
- package/dist/module/enterprise/service/school.service.js +0 -1
- package/dist/module/enterprise/service/school.service.js.map +0 -1
- package/server.log +0 -850
- package/src/constant/status.constant.ts +0 -4
- package/src/module/app_master/app-master.module.ts +0 -15
- package/src/module/enterprise/controller/enterprise.controller.ts +0 -40
- package/src/module/enterprise/controller/meta.controller.ts +0 -23
- package/src/module/enterprise/service/brand-profile.service.ts +0 -10
- package/src/module/enterprise/service/school.service.ts +0 -5
- /package/dist/module/{app_master → meta}/controller/app-master.controller.d.ts +0 -0
- /package/dist/module/{app_master → meta}/controller/app-master.controller.js +0 -0
- /package/dist/module/{app_master → meta}/service/app-master.service.d.ts +0 -0
- /package/dist/module/{app_master → meta}/service/app-master.service.js +0 -0
- /package/src/module/{app_master → meta}/controller/app-master.controller.ts +0 -0
- /package/src/module/{app_master → meta}/service/app-master.service.ts +0 -0
|
@@ -2,6 +2,8 @@ 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';
|
|
5
7
|
import { Repository } from 'typeorm';
|
|
6
8
|
import { EncryptUtilService } from '../../../utils/service/encryptUtil.service';
|
|
7
9
|
import { UserRoleMapping } from '../entity/user-role-mapping.entity';
|
|
@@ -9,8 +11,6 @@ import { UserSessionService } from './user-session.service';
|
|
|
9
11
|
import { UserService } from './user.service';
|
|
10
12
|
import { JwtAuthService } from 'src/module/auth/services/jwt.service';
|
|
11
13
|
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,7 +20,9 @@ export class LoginService {
|
|
|
20
20
|
private configService: ConfigService,
|
|
21
21
|
@InjectRepository(UserRoleMapping)
|
|
22
22
|
private readonly userRoleMappingRepository: Repository<UserRoleMapping>,
|
|
23
|
-
private readonly
|
|
23
|
+
private readonly organizationRepository: OrganizationRepository,
|
|
24
|
+
@Inject('ListMasterService')
|
|
25
|
+
private readonly listMasterService: ListMasterService,
|
|
24
26
|
private readonly jwtAuthService: JwtAuthService,
|
|
25
27
|
private readonly reflectionHelper: ReflectionHelper,
|
|
26
28
|
) {
|
|
@@ -37,49 +39,53 @@ export class LoginService {
|
|
|
37
39
|
}): Promise<any> {
|
|
38
40
|
const { email_id, password, is_otp = false, subdomain } = data;
|
|
39
41
|
|
|
40
|
-
let
|
|
42
|
+
let organization;
|
|
41
43
|
|
|
42
44
|
if (subdomain) {
|
|
43
|
-
|
|
44
|
-
await this.
|
|
45
|
+
organization =
|
|
46
|
+
await this.organizationRepository.findOrganizationBySubdomain(
|
|
45
47
|
subdomain,
|
|
46
48
|
);
|
|
47
49
|
|
|
48
|
-
if (!
|
|
50
|
+
if (!organization) {
|
|
49
51
|
return {
|
|
50
52
|
success: false,
|
|
51
|
-
message: '
|
|
53
|
+
message: 'Organization not found.',
|
|
52
54
|
};
|
|
53
55
|
}
|
|
54
56
|
}
|
|
55
57
|
|
|
56
|
-
// 🔹 Step 2: Find the user by email +
|
|
58
|
+
// 🔹 Step 2: Find the user by email + organization check
|
|
57
59
|
const user = await this.userService.findByEmailId(
|
|
58
60
|
email_id,
|
|
59
|
-
|
|
60
|
-
true
|
|
61
|
+
organization?.id,
|
|
61
62
|
);
|
|
62
63
|
|
|
63
|
-
if (!user || (
|
|
64
|
+
if (!user || (organization && user.organization_id !== organization.id)) {
|
|
64
65
|
return {
|
|
65
66
|
success: false,
|
|
66
|
-
message: 'User not found in
|
|
67
|
+
message: 'User not found in organization.',
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
70
|
|
|
70
71
|
// 🔹 Step 3: Verify org status
|
|
71
|
-
const userOrgData = await this.
|
|
72
|
-
user.
|
|
72
|
+
const userOrgData = await this.organizationRepository.findOrganizationById(
|
|
73
|
+
user.organization_id,
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
const resolveStatus = await this.listMasterService.getResolvedListCode(
|
|
77
|
+
STATUS_ACTIVE,
|
|
78
|
+
user?.organization_id || 0,
|
|
73
79
|
);
|
|
74
80
|
|
|
75
81
|
if (
|
|
76
|
-
user.status !=
|
|
77
|
-
userOrgData?.status !=
|
|
82
|
+
user.status != resolveStatus.id ||
|
|
83
|
+
userOrgData?.status != resolveStatus.id
|
|
78
84
|
) {
|
|
79
85
|
return {
|
|
80
86
|
success: false,
|
|
81
87
|
message:
|
|
82
|
-
'Your account or
|
|
88
|
+
'Your account or organization is inactive. Please contact admin.',
|
|
83
89
|
};
|
|
84
90
|
}
|
|
85
91
|
|
|
@@ -101,23 +107,20 @@ export class LoginService {
|
|
|
101
107
|
}
|
|
102
108
|
|
|
103
109
|
// 🔹 Step 5: App access check
|
|
104
|
-
let
|
|
110
|
+
let appcode = user.last_app_access;
|
|
105
111
|
|
|
106
|
-
if (!user.
|
|
107
|
-
await this.userService.setDefaultLastAccess(user.id,
|
|
112
|
+
if (!user.last_app_access || user.last_app_access == '') {
|
|
113
|
+
await this.userService.setDefaultLastAccess(user.id, appcode);
|
|
108
114
|
}
|
|
109
115
|
|
|
110
116
|
const whereCondition: any = { user_id: user.id };
|
|
111
117
|
|
|
112
|
-
if (
|
|
113
|
-
whereCondition.
|
|
118
|
+
if (appcode && appcode !== '') {
|
|
119
|
+
whereCondition.appcode = appcode;
|
|
114
120
|
}
|
|
115
121
|
|
|
116
122
|
const roleMappings = await this.userRoleMappingRepository.find({
|
|
117
123
|
where: whereCondition,
|
|
118
|
-
relations: {
|
|
119
|
-
app: true
|
|
120
|
-
}
|
|
121
124
|
});
|
|
122
125
|
|
|
123
126
|
if (!roleMappings.length) {
|
|
@@ -134,29 +137,33 @@ export class LoginService {
|
|
|
134
137
|
user.id,
|
|
135
138
|
defaultAccess.level_type,
|
|
136
139
|
defaultAccess.level_id,
|
|
137
|
-
defaultAccess.
|
|
140
|
+
defaultAccess.appcode,
|
|
138
141
|
);
|
|
139
142
|
|
|
140
143
|
const token = await this.userSessionService.createSession(
|
|
141
144
|
user,
|
|
142
|
-
defaultAccess.
|
|
145
|
+
defaultAccess.appcode,
|
|
143
146
|
defaultAccess,
|
|
144
|
-
defaultAccess.appcode
|
|
145
147
|
);
|
|
146
148
|
|
|
147
149
|
// 🔹 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
|
+
);
|
|
148
155
|
|
|
149
156
|
if (user.is_firstlogin === 1) {
|
|
150
|
-
user.invitation_status =
|
|
157
|
+
user.invitation_status = resolvedInvitationStatus.id;
|
|
151
158
|
user.is_firstlogin = 0;
|
|
152
159
|
const { password, ...userWithoutPassword } = user;
|
|
153
|
-
await this.userService.
|
|
160
|
+
await this.userService.updateEntity(userWithoutPassword, user);
|
|
154
161
|
}
|
|
155
162
|
|
|
156
163
|
// 🔹 Step 8: Return response
|
|
157
164
|
|
|
158
|
-
const org = await this.
|
|
159
|
-
user.
|
|
165
|
+
const org = await this.organizationRepository.findOrganizationById(
|
|
166
|
+
user.organization_id,
|
|
160
167
|
);
|
|
161
168
|
let slug: string;
|
|
162
169
|
if (org) {
|
|
@@ -164,24 +171,23 @@ export class LoginService {
|
|
|
164
171
|
} else {
|
|
165
172
|
return {
|
|
166
173
|
success: false,
|
|
167
|
-
message: '
|
|
174
|
+
message: 'Organization not found for the user.',
|
|
168
175
|
};
|
|
169
176
|
}
|
|
170
177
|
|
|
171
178
|
return {
|
|
172
179
|
success: true,
|
|
173
180
|
accessToken: token,
|
|
174
|
-
|
|
181
|
+
appcode: defaultAccess.appcode,
|
|
175
182
|
level_type: defaultAccess.level_type,
|
|
176
183
|
level_id: defaultAccess.level_id,
|
|
177
184
|
slug: slug,
|
|
178
|
-
appcode: defaultAccess.appcode
|
|
179
185
|
};
|
|
180
186
|
}
|
|
181
187
|
|
|
182
188
|
async formLogin(body: any): Promise<any> {
|
|
183
189
|
if (body) {
|
|
184
|
-
const { entity_id } = body;
|
|
190
|
+
const { entity_type, entity_id } = body;
|
|
185
191
|
|
|
186
192
|
const leadRepo = this.reflectionHelper.getRepoService('CRMLead');
|
|
187
193
|
const entityData = await leadRepo.findOne({
|
|
@@ -191,12 +197,12 @@ export class LoginService {
|
|
|
191
197
|
if (entityData) {
|
|
192
198
|
const level_id = entityData.level_id;
|
|
193
199
|
const level_type = entityData.level_type;
|
|
194
|
-
const
|
|
200
|
+
const organization_id = entityData.organization_id;
|
|
195
201
|
|
|
196
202
|
const token = this.jwtAuthService.generateJwt({
|
|
197
203
|
level_id: level_id,
|
|
198
204
|
level_type: level_type,
|
|
199
|
-
|
|
205
|
+
organization_id: organization_id,
|
|
200
206
|
});
|
|
201
207
|
|
|
202
208
|
return {
|
|
@@ -210,7 +216,7 @@ export class LoginService {
|
|
|
210
216
|
private async getDefaultAccess(
|
|
211
217
|
user: any,
|
|
212
218
|
roleMappings: any[],
|
|
213
|
-
): Promise<{ level_type: string; level_id: string;
|
|
219
|
+
): Promise<{ level_type: string; level_id: string; appcode: string }> {
|
|
214
220
|
const orgAccess = roleMappings.find((r) => r.level_type === 'ORG');
|
|
215
221
|
const brnAccesses = roleMappings.filter((r) => r.level_type === 'BRN');
|
|
216
222
|
const schAccesses = roleMappings.filter((r) => r.level_type === 'SCH');
|
|
@@ -218,7 +224,7 @@ export class LoginService {
|
|
|
218
224
|
let validURM;
|
|
219
225
|
|
|
220
226
|
validURM = roleMappings.some(
|
|
221
|
-
(r) => r.level_type == 'ORG' && r.level_id == user.
|
|
227
|
+
(r) => r.level_type == 'ORG' && r.level_id == user.organization_id,
|
|
222
228
|
);
|
|
223
229
|
|
|
224
230
|
if (!validURM) {
|
|
@@ -233,8 +239,7 @@ export class LoginService {
|
|
|
233
239
|
return {
|
|
234
240
|
level_type: user.last_level_type,
|
|
235
241
|
level_id: user.last_level_id,
|
|
236
|
-
|
|
237
|
-
appcode: user.last_app.code
|
|
242
|
+
appcode: user.last_app_access,
|
|
238
243
|
};
|
|
239
244
|
}
|
|
240
245
|
|
|
@@ -242,8 +247,7 @@ export class LoginService {
|
|
|
242
247
|
return {
|
|
243
248
|
level_type: 'ORG',
|
|
244
249
|
level_id: orgAccess.level_id,
|
|
245
|
-
|
|
246
|
-
appcode: orgAccess.app.code
|
|
250
|
+
appcode: orgAccess.appcode,
|
|
247
251
|
};
|
|
248
252
|
}
|
|
249
253
|
|
|
@@ -265,7 +269,7 @@ export class LoginService {
|
|
|
265
269
|
return {
|
|
266
270
|
level_type: 'SCH',
|
|
267
271
|
level_id: rows.id,
|
|
268
|
-
|
|
272
|
+
appcode: brnAccesses[0].appcode,
|
|
269
273
|
};
|
|
270
274
|
} else {
|
|
271
275
|
throw new BadRequestException(
|
|
@@ -278,7 +282,7 @@ export class LoginService {
|
|
|
278
282
|
return {
|
|
279
283
|
level_type: 'SCH',
|
|
280
284
|
level_id: schAccesses[0].level_id,
|
|
281
|
-
|
|
285
|
+
appcode: schAccesses[0].appcode,
|
|
282
286
|
};
|
|
283
287
|
}
|
|
284
288
|
|
|
@@ -1,68 +1,69 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
1
|
+
import { BadRequestException, Inject, Injectable } from '@nestjs/common';
|
|
2
|
+
import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
|
|
3
|
+
import { BaseEntity } from '../../meta/entity/base-entity.entity';
|
|
2
4
|
import { UserData } from '../entity/user.entity';
|
|
3
5
|
import { Role } from '../entity/role.entity';
|
|
4
|
-
import { STATUS_INACTIVE } from 'src/constant/global.constant';
|
|
6
|
+
import { ENTITYTYPE_ROLE, STATUS_INACTIVE } from 'src/constant/global.constant';
|
|
5
7
|
import { RoleRepository } from '../repository/role.repository';
|
|
6
|
-
import { Repository } from 'typeorm';
|
|
8
|
+
import { EntityManager, Repository } from 'typeorm';
|
|
7
9
|
import { InjectRepository } from '@nestjs/typeorm';
|
|
8
10
|
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';
|
|
9
14
|
import { UserRoleMapping } from '../entity/user-role-mapping.entity';
|
|
10
|
-
import { plainToInstance } from 'class-transformer';
|
|
11
|
-
import { StatusConstant } from '../../../constant/status.constant';
|
|
12
15
|
|
|
13
16
|
@Injectable()
|
|
14
|
-
export class RoleService {
|
|
17
|
+
export class RoleService extends EntityServiceImpl {
|
|
15
18
|
constructor(
|
|
16
19
|
private readonly roleRepository: RoleRepository,
|
|
20
|
+
private readonly entityManager: EntityManager,
|
|
17
21
|
@InjectRepository(ModuleAccess)
|
|
18
22
|
private readonly moduleAccessRepo: Repository<ModuleAccess>,
|
|
23
|
+
@Inject('ListMasterService')
|
|
24
|
+
private readonly listMasterService: ListMasterService,
|
|
19
25
|
@InjectRepository(UserRoleMapping)
|
|
20
26
|
private readonly userRoleMappingRepo: Repository<UserRoleMapping>,
|
|
21
27
|
) {
|
|
28
|
+
super();
|
|
22
29
|
}
|
|
23
30
|
|
|
24
|
-
async
|
|
25
|
-
|
|
26
|
-
loggedInUser:
|
|
27
|
-
) {
|
|
31
|
+
async createEntity(
|
|
32
|
+
entityData: BaseEntity,
|
|
33
|
+
loggedInUser: UserData,
|
|
34
|
+
): Promise<ServiceResult<BaseEntity>> {
|
|
35
|
+
const role = entityData as Role;
|
|
28
36
|
|
|
29
37
|
// if level_type and level_id are not provided, use loggedInUser's values
|
|
30
|
-
role.level_type =
|
|
31
|
-
role.level_id =
|
|
32
|
-
role.
|
|
33
|
-
role.enterprise_id = loggedInUser.enterprise_id;
|
|
34
|
-
role.app_id = role.app_id || loggedInUser.app_id;
|
|
38
|
+
role.level_type = entityData.level_type || loggedInUser.level_type;
|
|
39
|
+
role.level_id = entityData.level_id || loggedInUser.level_id;
|
|
40
|
+
role.appcode = entityData.appcode || loggedInUser.appcode;
|
|
35
41
|
|
|
36
42
|
if (
|
|
37
43
|
await this.roleRepository.isRoleNameWithLevelExists(role.name, {
|
|
38
|
-
|
|
39
|
-
level_type:
|
|
44
|
+
organization_id: loggedInUser?.organization_id || undefined,
|
|
45
|
+
level_type: entityData.level_type || loggedInUser?.level_type,
|
|
40
46
|
level_id:
|
|
41
|
-
parseInt(
|
|
47
|
+
parseInt(entityData.level_id) ||
|
|
42
48
|
parseInt(loggedInUser?.level_id || '', 10),
|
|
43
49
|
})
|
|
44
50
|
) {
|
|
45
51
|
return { success: false, error: 'Role name already exists.' };
|
|
46
52
|
}
|
|
47
53
|
|
|
48
|
-
if(!role.code) {
|
|
49
|
-
const maxId = await this.roleRepository.findMaxIdRecord();
|
|
50
|
-
if(maxId && maxId.id) {
|
|
51
|
-
role.code = `ROL${maxId.id + 1}`;
|
|
52
|
-
} else {
|
|
53
|
-
role.code = `ROL1`;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
54
|
const sourceRole = role.copy_from_role_id
|
|
58
|
-
? await this.
|
|
55
|
+
? await this.getEntityData(
|
|
56
|
+
ENTITYTYPE_ROLE,
|
|
57
|
+
role.copy_from_role_id,
|
|
58
|
+
loggedInUser,
|
|
59
|
+
)
|
|
59
60
|
: null;
|
|
60
61
|
|
|
61
62
|
if (role.copy_from_role_id && !sourceRole) {
|
|
62
63
|
return { success: false, error: 'Source role not found.' };
|
|
63
64
|
}
|
|
64
|
-
|
|
65
|
-
const savedRole = await
|
|
65
|
+
|
|
66
|
+
const savedRole = await super.createEntity(role, loggedInUser);
|
|
66
67
|
if (sourceRole) {
|
|
67
68
|
const sourcePermissions = await this.moduleAccessRepo.find({
|
|
68
69
|
where: { role_code: sourceRole.code },
|
|
@@ -71,11 +72,11 @@ export class RoleService {
|
|
|
71
72
|
const clonedPermissions = sourcePermissions.map((perm) =>
|
|
72
73
|
this.moduleAccessRepo.create({
|
|
73
74
|
role_code: savedRole.code,
|
|
75
|
+
module_code: perm.module_code,
|
|
74
76
|
action_type: perm.action_type,
|
|
75
77
|
access_flag: perm.access_flag,
|
|
76
78
|
level_type: perm.level_type,
|
|
77
79
|
appcode: perm.appcode,
|
|
78
|
-
module_id: perm.module_id
|
|
79
80
|
}),
|
|
80
81
|
);
|
|
81
82
|
|
|
@@ -84,31 +85,40 @@ export class RoleService {
|
|
|
84
85
|
return { success: true, data: savedRole };
|
|
85
86
|
}
|
|
86
87
|
|
|
87
|
-
async
|
|
88
|
-
|
|
89
|
-
role: Role,
|
|
88
|
+
async updateEntity(
|
|
89
|
+
entityData: BaseEntity,
|
|
90
90
|
loggedInUser: UserData,
|
|
91
|
-
) {
|
|
92
|
-
if (!
|
|
91
|
+
): Promise<ServiceResult<BaseEntity>> {
|
|
92
|
+
if (!entityData.name) {
|
|
93
93
|
return { success: false, error: 'Role name is required' };
|
|
94
94
|
}
|
|
95
|
+
const role = entityData as Role;
|
|
95
96
|
|
|
96
|
-
|
|
97
|
+
const resolveStatus = await this.listMasterService.getResolvedListCode(
|
|
98
|
+
STATUS_INACTIVE,
|
|
99
|
+
loggedInUser?.organization_id || 0,
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
if (entityData.status == resolveStatus.id) {
|
|
97
103
|
//get role by id
|
|
98
|
-
const existingRole = await this.
|
|
104
|
+
const existingRole = await this.getEntityData(
|
|
105
|
+
ENTITYTYPE_ROLE,
|
|
106
|
+
entityData.id,
|
|
107
|
+
loggedInUser,
|
|
108
|
+
);
|
|
99
109
|
|
|
100
110
|
if (!existingRole) {
|
|
101
111
|
return { success: false, error: 'Role not found' };
|
|
102
112
|
}
|
|
103
113
|
|
|
104
114
|
const associatedUsers = await this.userRoleMappingRepo
|
|
105
|
-
.createQueryBuilder(
|
|
106
|
-
.innerJoin(
|
|
107
|
-
.where(
|
|
108
|
-
.andWhere(
|
|
115
|
+
.createQueryBuilder("map")
|
|
116
|
+
.innerJoin("sso_user", "usr", "map.user_id = usr.id")
|
|
117
|
+
.where("usr.status::text = :status", { status: String(resolveStatus.id) })
|
|
118
|
+
.andWhere("map.role_id::text = :roleId", {
|
|
109
119
|
roleId: String(existingRole?.id),
|
|
110
120
|
})
|
|
111
|
-
.select(
|
|
121
|
+
.select("map") // same as SELECT map.*
|
|
112
122
|
.getRawMany();
|
|
113
123
|
|
|
114
124
|
if (associatedUsers.length > 0) {
|
|
@@ -127,9 +137,9 @@ export class RoleService {
|
|
|
127
137
|
}
|
|
128
138
|
|
|
129
139
|
if (
|
|
130
|
-
await this.roleRepository.isRoleNameExists(
|
|
131
|
-
excludeRoleId:
|
|
132
|
-
|
|
140
|
+
await this.roleRepository.isRoleNameExists(entityData.name, {
|
|
141
|
+
excludeRoleId: entityData.id,
|
|
142
|
+
organization_id: loggedInUser?.organization_id,
|
|
133
143
|
})
|
|
134
144
|
) {
|
|
135
145
|
return {
|
|
@@ -139,13 +149,14 @@ export class RoleService {
|
|
|
139
149
|
}
|
|
140
150
|
|
|
141
151
|
const { copy_from_role_id, ...persistableData } = role;
|
|
142
|
-
|
|
143
|
-
const entity = plainToInstance(Role, persistableData);
|
|
144
|
-
const updatedRole = await this.roleRepository.updateRole(id, entity);
|
|
152
|
+
const updatedRole = await super.updateEntity(persistableData, loggedInUser);
|
|
145
153
|
|
|
146
154
|
if (role.copy_from_role_id) {
|
|
147
|
-
|
|
148
|
-
|
|
155
|
+
const sourceRole = await this.getEntityData(
|
|
156
|
+
ENTITYTYPE_ROLE,
|
|
157
|
+
role.copy_from_role_id,
|
|
158
|
+
loggedInUser,
|
|
159
|
+
);
|
|
149
160
|
|
|
150
161
|
if (!sourceRole) {
|
|
151
162
|
return {
|
|
@@ -163,7 +174,7 @@ export class RoleService {
|
|
|
163
174
|
const clonedPermissions = sourcePermissions.map((perm) =>
|
|
164
175
|
this.moduleAccessRepo.create({
|
|
165
176
|
role_code: role.code,
|
|
166
|
-
|
|
177
|
+
module_code: perm.module_code,
|
|
167
178
|
action_type: perm.action_type,
|
|
168
179
|
access_flag: perm.access_flag,
|
|
169
180
|
appcode: perm.appcode,
|
|
@@ -183,16 +194,4 @@ export class RoleService {
|
|
|
183
194
|
}): Promise<Role[] | null> {
|
|
184
195
|
return await this.roleRepository.find(data);
|
|
185
196
|
}
|
|
186
|
-
|
|
187
|
-
async findByCode(code: string) {
|
|
188
|
-
return await this.roleRepository.findByCode(code);
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
async findById(id: number) {
|
|
192
|
-
return await this.roleRepository.findById(id);
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
async find(options: any): Promise<Role[]> {
|
|
196
|
-
return await this.roleRepository.findRoles(options);
|
|
197
|
-
}
|
|
198
197
|
}
|
|
@@ -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,26 +95,4 @@ 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
|
-
}
|
|
120
98
|
}
|
|
@@ -4,7 +4,8 @@ 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 {
|
|
7
|
+
import { UserRoleMappingService } from './user-role-mapping.service';
|
|
8
|
+
import { DataSource, Repository } from 'typeorm';
|
|
8
9
|
import { UserRoleMapping } from '../entity/user-role-mapping.entity';
|
|
9
10
|
import { UserData } from '../entity/user.entity';
|
|
10
11
|
import { InjectRepository } from '@nestjs/typeorm';
|
|
@@ -19,18 +20,18 @@ export class UserSessionService {
|
|
|
19
20
|
private configService: ConfigService,
|
|
20
21
|
@InjectRepository(UserData)
|
|
21
22
|
private readonly userDataRepository: Repository<UserData>,
|
|
23
|
+
@InjectRepository(UserRoleMapping)
|
|
24
|
+
private readonly userRoleMappingRepository: Repository<UserRoleMapping>,
|
|
22
25
|
private readonly reflectionHelper: ReflectionHelper,
|
|
23
|
-
) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
async createSession(user, app_id?: number, accessInfo?: any, appcode?: string) {
|
|
26
|
+
) {}
|
|
27
|
+
async createSession(user, appcode?: string, accessInfo?: any) {
|
|
27
28
|
const sessionToken = this.clockIDGenService.idGenerator('SES');
|
|
28
29
|
|
|
29
30
|
const userSession: any = new UserSession();
|
|
30
31
|
userSession.user_id = user.id;
|
|
31
32
|
userSession.session_key = sessionToken;
|
|
32
33
|
userSession.is_session_loggedout = 0;
|
|
33
|
-
|
|
34
|
+
userSession.login_time = new Date();
|
|
34
35
|
|
|
35
36
|
const expiryTokenInHours = this.configService.get('TOKEN_EXPIRY') || 1;
|
|
36
37
|
userSession.expiry_date = new Date(
|
|
@@ -42,11 +43,10 @@ export class UserSessionService {
|
|
|
42
43
|
const payload: any = {
|
|
43
44
|
id: user.id,
|
|
44
45
|
sessionToken,
|
|
45
|
-
|
|
46
|
+
appcode,
|
|
46
47
|
email_id: user.email_id,
|
|
47
48
|
organization_id: user.organization_id,
|
|
48
49
|
enterprise_id: user.enterprise_id,
|
|
49
|
-
appcode,
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
// ✅ Add role access details
|
|
@@ -57,6 +57,7 @@ export class UserSessionService {
|
|
|
57
57
|
|
|
58
58
|
const accessToken = this.jwtAuthService.generateJwt(payload);
|
|
59
59
|
|
|
60
|
+
userSession.access_token = accessToken;
|
|
60
61
|
await this.userSessionRepository.saveSession(userSession);
|
|
61
62
|
|
|
62
63
|
return accessToken;
|
|
@@ -70,10 +71,6 @@ export class UserSessionService {
|
|
|
70
71
|
await this.userSessionRepository.saveSession(userSession);
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
async fetchUserFcmToken(user_id: number) {
|
|
74
|
-
return await this.userSessionRepository.fetchUserFcmToken(user_id);
|
|
75
|
-
};
|
|
76
|
-
|
|
77
74
|
|
|
78
75
|
async switchCurrentLevelService(
|
|
79
76
|
currentUser: any,
|
|
@@ -106,12 +103,12 @@ export class UserSessionService {
|
|
|
106
103
|
});
|
|
107
104
|
}
|
|
108
105
|
|
|
109
|
-
if (getUserDetails?.
|
|
106
|
+
if (getUserDetails?.organization_id == 1 && payload.level_type == 'ORG') {
|
|
110
107
|
payload.organization_id = payload.level_id;
|
|
111
108
|
}
|
|
112
109
|
|
|
113
110
|
await this.userDataRepository.update(currentUser.id, {
|
|
114
|
-
|
|
111
|
+
last_app_access: data.appcode,
|
|
115
112
|
last_level_type: data.level_type,
|
|
116
113
|
last_level_id: data.level_id,
|
|
117
114
|
});
|