Issue:
feat(users): List users in lineage API

- Currently user roles are grouped by user email in dashboard.
- Payload might look something like this
	```json
	[
		{
			"email": "e1",
			"roles": [
				{
					"role_id": "r1",
					"role_name": "name"
				}
			]
		}
	]
	```


Resolution:
<think>
PR Context:
- Title: feat(users): Add API to list users in user lineage
- Merged: 2024-08-28T12:18:05Z
- Files changed: 18 files
- Commits: 6 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [x] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
- This PR adds a new API which will be used to list the users in the lineage.
- This PR also adds a db function for listing users in a particular org.

### Additional Changes

- [x] This PR modifies the API contract
- [ ] This PR modifie
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(users): Add API to list users in user lineage (#5722)
Files to modify:


**crates/api_models/src/user.rs**
  Add:
    - struct: pub::ListUsersInEntityResponse
    - struct: pub::MinimalRoleInfo

**crates/common_enums/src/enums.rs**
  Modify existing code

**crates/common_utils/src/consts.rs**
  Modify existing code

**crates/diesel_models/src/query/user_role.rs**
  Add:
    - function: pub::generic_user_roles_list_for_user

**crates/diesel_models/src/user_role.rs**
  Add:
    - function: private::get_entity_id_and_type
    - function: private::hash
    - function: private::eq
    - impl: impl Hash for UserRole
    - impl: impl PartialEq for UserRole

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

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

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

**crates/router/src/core/user_role.rs**
  Add:
    - function: private::list_users_in_lineage

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

**crates/router/src/db/kafka_store.rs**
  Add:
    - function: private::list_user_roles_by_user_id_and_version

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

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

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

**crates/router/src/routes/user_role.rs**
  Add:
    - function: pub::list_users_in_lineage

**crates/router/src/services/authorization/roles/predefined_roles.rs**
  Modify existing code

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

**crates/router_env/src/logger/types.rs**
  Modify existing code