Issue:
feat(disputes): support filters in disputes list

Support filters in disputes list
- Get list of filters to be applied on disputes list
- It can be multi-select for options like status and connector
- `get` api to be used to pass filters which to be applied on list API
- Implement parsing logic for get api, (to be used by other get filter APIs as well)

Filters:
- Date (Timerange)
- Status
- Payment id or Dispute id search 
- Amount
- Currency
- Connector

Resolution:
<think>
PR Context:
- Title: feat(disputes): add filters for disputes list
- Merged: 2024-09-22T18:35:30Z
- Files changed: 14 files
- Commits: 25 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
Add filters for disputes list

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!--
Provide links to the files with corresponding changes.

Fol
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(disputes): add filters for disputes list (#5637)
Co-authored-by: hyperswitch-bot[bot] <14852550
Files to modify:


**crates/api_models/src/disputes.rs**
  Remove:
    - struct: pub::DisputeListConstraints
  Add:
    - struct: pub::DisputeListGetConstraints
    - struct: pub::DisputeListFilters

**crates/api_models/src/events.rs**
  Add:
    - function: private::get_api_event_type
    - impl: impl ApiEventMetric for DisputeListFilters

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

**crates/hyperswitch_domain_models/src/disputes.rs**
  Add:
    - function: private::try_from
    - struct: pub::DisputeListConstraints
    - impl: impl TryFrom<(
        api_models::disputes::DisputeListGetConstraints,
        Option<Vec<common_utils::id_type::ProfileId>>,
    )> for DisputeListConstraints

**crates/hyperswitch_domain_models/src/lib.rs**
  Add:
    - mod: pub::disputes

**crates/router/src/core/disputes.rs**
  Remove:
    - mod: pub::transformers
  Add:
    - function: pub::get_filters_for_disputes
    - mod: pub::transformers

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

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

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

**crates/router/src/routes/disputes.rs**
  Add:
    - function: pub::get_disputes_filters
    - function: pub::get_disputes_filters_profile

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

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

**crates/router/src/types/storage/dispute.rs**
  Modify existing code

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