mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-01 19:42:27 +08:00
feat(users): Signin and Verify Email changes for User Invitation changes (#3420)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -1,5 +1,7 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
use api_models::user as user_api;
|
||||
use diesel_models::user_role::UserRole;
|
||||
use diesel_models::{enums::UserStatus, user_role::UserRole};
|
||||
use error_stack::ResultExt;
|
||||
use masking::Secret;
|
||||
|
||||
@ -118,3 +120,29 @@ pub fn get_verification_days_left(
|
||||
#[cfg(not(feature = "email"))]
|
||||
return Ok(None);
|
||||
}
|
||||
|
||||
pub fn get_multiple_merchant_details_with_status(
|
||||
user_roles: Vec<UserRole>,
|
||||
merchant_accounts: Vec<MerchantAccount>,
|
||||
) -> UserResult<Vec<user_api::UserMerchantAccount>> {
|
||||
let roles: HashMap<_, _> = user_roles
|
||||
.into_iter()
|
||||
.map(|user_role| (user_role.merchant_id.clone(), user_role))
|
||||
.collect();
|
||||
|
||||
merchant_accounts
|
||||
.into_iter()
|
||||
.map(|merchant| {
|
||||
let role = roles
|
||||
.get(merchant.merchant_id.as_str())
|
||||
.ok_or(UserErrors::InternalServerError.into())
|
||||
.attach_printable("Merchant exists but user role doesn't")?;
|
||||
|
||||
Ok(user_api::UserMerchantAccount {
|
||||
merchant_id: merchant.merchant_id.clone(),
|
||||
merchant_name: merchant.merchant_name.clone(),
|
||||
is_active: role.status == UserStatus::Active,
|
||||
})
|
||||
})
|
||||
.collect()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user