Issue:
refactor: migrate user roles table to support v2

- Make org_id and merchant_id nullable.
- Add new nullable columns profile_id, entity_id , entity_type, version

Resolution:
<think>
PR Context:
- Title: refactor(user_roles): make org and merchant id nullable
- Merged: 2024-07-25T10:56:16Z
- Files changed: 16 files
- Commits: 23 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [ ] Enhancement
- [x] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
### DB changes in user_roles
- New Columns
  - `version`
  - `entity_id`
  - `entity_type`
  - `profile_id`
- Changes
  - `merchant_id` is now nullable
  - `org_id` is now nullable

### Additional Changes

- [ ] This PR modifies the API contract
- [x] This PR modifies the
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** refactor(user_roles): make org and merchant id nullable (#5353)
Co-authored-by: hyperswitch-bot[bot]
Files to modify:


**crates/diesel_models/src/enums.rs**
  Add:
    - enum: pub::UserRoleVersion

**crates/diesel_models/src/query/user_role.rs**
  Modify existing code

**crates/diesel_models/src/schema.rs**
  Modify existing code

**crates/diesel_models/src/schema_v2.rs**
  Modify existing code

**crates/diesel_models/src/user_role.rs**
  Modify existing code

**crates/router/src/core/user.rs**
  Modify existing code

**crates/router/src/core/user_role.rs**
  Modify existing code

**crates/router/src/db/kafka_store.rs**
  Modify existing code

**crates/router/src/db/user_role.rs**
  Modify existing code

**crates/router/src/routes/recon.rs**
  Modify existing code

**crates/router/src/types/domain/user.rs**
  Modify existing code

**crates/router/src/types/domain/user/decision_manager.rs**
  Modify existing code

**crates/router/src/utils/user.rs**
  Modify existing code

**crates/router/src/utils/user_role.rs**
  Modify existing code