mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-01 02:57:02 +08:00
feat(users): Added get role from jwt api (#3385)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -1,7 +1,6 @@
|
||||
use api_models::user_role as user_role_api;
|
||||
use diesel_models::enums::UserStatus;
|
||||
use error_stack::ResultExt;
|
||||
use router_env::logger;
|
||||
|
||||
use crate::{
|
||||
consts,
|
||||
@ -44,52 +43,50 @@ pub fn validate_role_id(role_id: &str) -> UserResult<()> {
|
||||
pub fn get_role_name_and_permission_response(
|
||||
role_info: &RoleInfo,
|
||||
) -> Option<(Vec<user_role_api::Permission>, &'static str)> {
|
||||
role_info
|
||||
.get_permissions()
|
||||
.iter()
|
||||
.map(TryInto::try_into)
|
||||
.collect::<Result<Vec<user_role_api::Permission>, _>>()
|
||||
.ok()
|
||||
.zip(role_info.get_name())
|
||||
role_info.get_name().map(|name| {
|
||||
(
|
||||
role_info
|
||||
.get_permissions()
|
||||
.iter()
|
||||
.map(|&per| per.into())
|
||||
.collect::<Vec<user_role_api::Permission>>(),
|
||||
name,
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
impl TryFrom<&Permission> for user_role_api::Permission {
|
||||
type Error = ();
|
||||
fn try_from(value: &Permission) -> Result<Self, Self::Error> {
|
||||
impl From<Permission> for user_role_api::Permission {
|
||||
fn from(value: Permission) -> Self {
|
||||
match value {
|
||||
Permission::PaymentRead => Ok(Self::PaymentRead),
|
||||
Permission::PaymentWrite => Ok(Self::PaymentWrite),
|
||||
Permission::RefundRead => Ok(Self::RefundRead),
|
||||
Permission::RefundWrite => Ok(Self::RefundWrite),
|
||||
Permission::ApiKeyRead => Ok(Self::ApiKeyRead),
|
||||
Permission::ApiKeyWrite => Ok(Self::ApiKeyWrite),
|
||||
Permission::MerchantAccountRead => Ok(Self::MerchantAccountRead),
|
||||
Permission::MerchantAccountWrite => Ok(Self::MerchantAccountWrite),
|
||||
Permission::MerchantConnectorAccountRead => Ok(Self::MerchantConnectorAccountRead),
|
||||
Permission::MerchantConnectorAccountWrite => Ok(Self::MerchantConnectorAccountWrite),
|
||||
Permission::ForexRead => Ok(Self::ForexRead),
|
||||
Permission::RoutingRead => Ok(Self::RoutingRead),
|
||||
Permission::RoutingWrite => Ok(Self::RoutingWrite),
|
||||
Permission::DisputeRead => Ok(Self::DisputeRead),
|
||||
Permission::DisputeWrite => Ok(Self::DisputeWrite),
|
||||
Permission::MandateRead => Ok(Self::MandateRead),
|
||||
Permission::MandateWrite => Ok(Self::MandateWrite),
|
||||
Permission::CustomerRead => Ok(Self::CustomerRead),
|
||||
Permission::CustomerWrite => Ok(Self::CustomerWrite),
|
||||
Permission::FileRead => Ok(Self::FileRead),
|
||||
Permission::FileWrite => Ok(Self::FileWrite),
|
||||
Permission::Analytics => Ok(Self::Analytics),
|
||||
Permission::ThreeDsDecisionManagerWrite => Ok(Self::ThreeDsDecisionManagerWrite),
|
||||
Permission::ThreeDsDecisionManagerRead => Ok(Self::ThreeDsDecisionManagerRead),
|
||||
Permission::SurchargeDecisionManagerWrite => Ok(Self::SurchargeDecisionManagerWrite),
|
||||
Permission::SurchargeDecisionManagerRead => Ok(Self::SurchargeDecisionManagerRead),
|
||||
Permission::UsersRead => Ok(Self::UsersRead),
|
||||
Permission::UsersWrite => Ok(Self::UsersWrite),
|
||||
|
||||
Permission::MerchantAccountCreate => {
|
||||
logger::error!("Invalid use of internal permission");
|
||||
Err(())
|
||||
}
|
||||
Permission::PaymentRead => Self::PaymentRead,
|
||||
Permission::PaymentWrite => Self::PaymentWrite,
|
||||
Permission::RefundRead => Self::RefundRead,
|
||||
Permission::RefundWrite => Self::RefundWrite,
|
||||
Permission::ApiKeyRead => Self::ApiKeyRead,
|
||||
Permission::ApiKeyWrite => Self::ApiKeyWrite,
|
||||
Permission::MerchantAccountRead => Self::MerchantAccountRead,
|
||||
Permission::MerchantAccountWrite => Self::MerchantAccountWrite,
|
||||
Permission::MerchantConnectorAccountRead => Self::MerchantConnectorAccountRead,
|
||||
Permission::MerchantConnectorAccountWrite => Self::MerchantConnectorAccountWrite,
|
||||
Permission::ForexRead => Self::ForexRead,
|
||||
Permission::RoutingRead => Self::RoutingRead,
|
||||
Permission::RoutingWrite => Self::RoutingWrite,
|
||||
Permission::DisputeRead => Self::DisputeRead,
|
||||
Permission::DisputeWrite => Self::DisputeWrite,
|
||||
Permission::MandateRead => Self::MandateRead,
|
||||
Permission::MandateWrite => Self::MandateWrite,
|
||||
Permission::CustomerRead => Self::CustomerRead,
|
||||
Permission::CustomerWrite => Self::CustomerWrite,
|
||||
Permission::FileRead => Self::FileRead,
|
||||
Permission::FileWrite => Self::FileWrite,
|
||||
Permission::Analytics => Self::Analytics,
|
||||
Permission::ThreeDsDecisionManagerWrite => Self::ThreeDsDecisionManagerWrite,
|
||||
Permission::ThreeDsDecisionManagerRead => Self::ThreeDsDecisionManagerRead,
|
||||
Permission::SurchargeDecisionManagerWrite => Self::SurchargeDecisionManagerWrite,
|
||||
Permission::SurchargeDecisionManagerRead => Self::SurchargeDecisionManagerRead,
|
||||
Permission::UsersRead => Self::UsersRead,
|
||||
Permission::UsersWrite => Self::UsersWrite,
|
||||
Permission::MerchantAccountCreate => Self::MerchantAccountCreate,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user