Bug: Modify List Merchant Accounts in Org with org_id (v1)



Modify List Merchant Accounts in Org with org_id (v1) as v2 merchant accounts will hav merchant_id as `Null`, and they cant be deserialized into v1.

This will cause terminate_2fa API to fail and cant obtain the merchant_id required to generate the jwt token.
diff --git a/crates/diesel_models/src/query/merchant_account.rs b/crates/diesel_models/src/query/merchant_account.rs
index c40af7f6535..ab51953b6ef 100644
--- a/crates/diesel_models/src/query/merchant_account.rs
+++ b/crates/diesel_models/src/query/merchant_account.rs
@@ -1,4 +1,5 @@
-use diesel::{associations::HasTable, ExpressionMethods, Table};
+use common_types::consts::API_VERSION;
+use diesel::{associations::HasTable, BoolExpressionMethods, ExpressionMethods, Table};
 
 use super::generics;
 #[cfg(feature = "v1")]
@@ -101,7 +102,9 @@ impl MerchantAccount {
             _,
         >(
             conn,
-            dsl::organization_id.eq(organization_id.to_owned()),
+            dsl::organization_id
+                .eq(organization_id.to_owned())
+                .and(dsl::version.eq(API_VERSION)),
             None,
             None,
             None,

## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
Modified the v1 merchant list query to list only v1 merchant accounts, v2 merchants cannot deserialize in v1 application code.

This change is required, since now, both v1 and v2 merchant accounts are stored in the same schema.

This will affect the following flows:
- list merchant accounts for user in org
- list merchant accounts (admin API)
- get single merchant id (during sign-in, to create JWT token)
- switch org for user
### 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.

Following are the paths where you can find config files:
1. `config`
2. `crates/router/src/configs`
3. `loadtest/config`
-->


## Motivation and Context
<!--
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

If you don't have an issue, we'd recommend starting with one first so the PR
can focus on the implementation (unless it is an obvious bug or documentation fix
that will have little conversation).
-->
Fix the deserialization issues when listing merchant accounts using v1 routes.

## How did you test it?
<!--
Did you write an integration/unit/API test to verify the code changes?
Or did you test this change manually (provide relevant screenshots)?
-->
Hit the following curls after creating a v1 merchant account and a v2 merchant account in the same organization.
The following APIs should only return v1 merchant accounts in the organization (and not the v2 merchant accounts).
#### List Merchant Accounts for User in Org:
```bash
curl --location 'http://localhost:8080/user/list/merchant' \
--header 'x-feature: integ-custom' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiMGVkNzFkOTktYjhiMS00ODI3LWEyMDgtOTUyZjY1NDNmMDY3IiwibWVyY2hhbnRfaWQiOiJtZXJjaGFudF8xNzQ0MjI1Njc2Iiwicm9sZV9pZCI6Im9yZ19hZG1pbiIsImV4cCI6MTc0NDM5ODQ5Mywib3JnX2lkIjoib3JnX0dYbXNobWtubDlrMGFuOXAzc3A3IiwicHJvZmlsZV9pZCI6InByb19JOUZVMTlSdWp0NzI4SFp0ODB4MyIsInRlbmFudF9pZCI6InB1YmxpYyJ9.q9-E0Wb8IXrwUvQyw5A2-bvgwkXqUeZrKsRi_rTHnaE'
```

#### Sign in and Terminate 2fa: (while sign-in, to create the jwt user-info token):
- Sign-in:

```bash
curl --location 'http://localhost:8080/user/v2/signin' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "sandeep.kumar@juspay.in",
    "password": "Hyperswitch@123"
}'
```
- Terminate 2fa:

```bash
curl --location 'http://localhost:8080/user/2fa/terminate?skip_two_factor_auth=true' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiMGVkNzFkOTktYjhiMS00ODI3LWEyMDgtOTUyZjY1NDNmMDY3IiwicHVycG9zZSI6InRvdHAiLCJvcmlnaW4iOiJzaWduX3VwIiwicGF0aCI6W10sImV4cCI6MTc0NDM5ODQ3NiwidGVuYW50X2lkIjoicHVibGljIn0.1p4cqrxgCDvPde5vq7nuuvApXQkaeoZX7ThvMFeiqFU' \
--header 'Cookie: login_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiMGVkNzFkOTktYjhiMS00ODI3LWEyMDgtOTUyZjY1NDNmMDY3IiwibWVyY2hhbnRfaWQiOiJtZXJjaGFudF8xNzQ0MjI1Njc2Iiwicm9sZV9pZCI6Im9yZ19hZG1pbiIsImV4cCI6MTc0NDM5ODQ5Mywib3JnX2lkIjoib3JnX0dYbXNobWtubDlrMGFuOXAzc3A3IiwicHJvZmlsZV9pZCI6InByb19JOUZVMTlSdWp0NzI4SFp0ODB4MyIsInRlbmFudF9pZCI6InB1YmxpYyJ9.q9-E0Wb8IXrwUvQyw5A2-bvgwkXqUeZrKsRi_rTHnaE'
```

#### Switch Org for User (for tenant level):
```bash
curl --location 'https://integ-api.hyperswitch.io/user/switch/org' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiMGVkNzFkOTktYjhiMS00ODI3LWEyMDgtOTUyZjY1NDNmMDY3IiwibWVyY2hhbnRfaWQiOiJtZXJjaGFudF8xNzQ0MjI1Njc2Iiwicm9sZV9pZCI6Im9yZ19hZG1pbiIsImV4cCI6MTc0NDM5ODQ5Mywib3JnX2lkIjoib3JnX0dYbXNobWtubDlrMGFuOXAzc3A3IiwicHJvZmlsZV9pZCI6InByb19JOUZVMTlSdWp0NzI4SFp0ODB4MyIsInRlbmFudF9pZCI6InB1YmxpYyJ9.q9-E0Wb8IXrwUvQyw5A2-bvgwkXqUeZrKsRi_rTHnaE' \
--data '{
    "org_id": "some_org_id"
}'
```

#### List Merchant Accounts (Admin API):
```bash
curl --location 'https://integ.hyperswitch.io/api/accounts/list?organization_id=org_pEDRnaMediEZaJcU888G' \
--header 'api-key: <admin-api-key>'
```




## Checklist
<!-- Put an `x` in the boxes that apply -->

- [x] I formatted the code `cargo +nightly fmt --all`
- [x] I addressed lints thrown by `cargo clippy`
- [x] I reviewed the submitted code
- [ ] I added unit tests for my changes where possible
