feat(users): Add V2 User APIs to Support Modularity for Merchant Accounts (#7386)

Co-authored-by: Sandeep Kumar <sandeep.kumar@Sandeep-Kumar-LVF93XQXPC.local>
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
Co-authored-by: Mani Chandra Dulam <mani.dchandra@juspay.in>
This commit is contained in:
Sandeep Kumar
2025-03-12 19:31:24 +05:30
committed by GitHub
parent 13a2749099
commit d1f53036c7
12 changed files with 249 additions and 37 deletions

View File

@ -19,8 +19,9 @@ use crate::user::{
SendVerifyEmailRequest, SignUpRequest, SignUpWithMerchantIdRequest, SsoSignInRequest,
SwitchMerchantRequest, SwitchOrganizationRequest, SwitchProfileRequest, TokenResponse,
TwoFactorAuthStatusResponse, TwoFactorStatus, UpdateUserAccountDetailsRequest,
UpdateUserAuthenticationMethodRequest, UserFromEmailRequest, UserMerchantCreate,
UserOrgMerchantCreateRequest, VerifyEmailRequest, VerifyRecoveryCodeRequest, VerifyTotpRequest,
UpdateUserAuthenticationMethodRequest, UserFromEmailRequest, UserMerchantAccountResponse,
UserMerchantCreate, UserOrgMerchantCreateRequest, VerifyEmailRequest,
VerifyRecoveryCodeRequest, VerifyTotpRequest,
};
common_utils::impl_api_event_type!(
@ -39,6 +40,7 @@ common_utils::impl_api_event_type!(
CreateInternalUserRequest,
CreateTenantUserRequest,
UserOrgMerchantCreateRequest,
UserMerchantAccountResponse,
UserMerchantCreate,
AuthorizeResponse,
ConnectAccountRequest,

View File

@ -133,6 +133,7 @@ pub struct UserOrgMerchantCreateRequest {
#[derive(Debug, serde::Deserialize, serde::Serialize)]
pub struct UserMerchantCreate {
pub company_name: String,
pub product_type: Option<common_enums::MerchantProductType>,
}
#[derive(serde::Serialize, Debug, Clone)]
@ -151,6 +152,7 @@ pub struct GetUserDetailsResponse {
pub profile_id: id_type::ProfileId,
pub entity_type: EntityType,
pub theme_id: Option<String>,
pub version: common_enums::ApiVersion,
}
#[derive(Debug, serde::Deserialize, serde::Serialize)]
@ -382,9 +384,11 @@ pub struct ListOrgsForUserResponse {
}
#[derive(Debug, serde::Serialize)]
pub struct ListMerchantsForUserInOrgResponse {
pub struct UserMerchantAccountResponse {
pub merchant_id: id_type::MerchantId,
pub merchant_name: OptionalEncryptableName,
pub product_type: Option<common_enums::MerchantProductType>,
pub version: common_enums::ApiVersion,
}
#[derive(Debug, serde::Serialize)]