mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 17:19:15 +08:00
109 lines
2.3 KiB
Rust
109 lines
2.3 KiB
Rust
use common_enums::PermissionGroup;
|
|
use common_utils::pii;
|
|
|
|
pub mod role;
|
|
|
|
#[derive(Debug, serde::Serialize)]
|
|
pub enum Permission {
|
|
PaymentRead,
|
|
PaymentWrite,
|
|
RefundRead,
|
|
RefundWrite,
|
|
ApiKeyRead,
|
|
ApiKeyWrite,
|
|
MerchantAccountRead,
|
|
MerchantAccountWrite,
|
|
MerchantConnectorAccountRead,
|
|
MerchantConnectorAccountWrite,
|
|
RoutingRead,
|
|
RoutingWrite,
|
|
DisputeRead,
|
|
DisputeWrite,
|
|
MandateRead,
|
|
MandateWrite,
|
|
CustomerRead,
|
|
CustomerWrite,
|
|
Analytics,
|
|
ThreeDsDecisionManagerWrite,
|
|
ThreeDsDecisionManagerRead,
|
|
SurchargeDecisionManagerWrite,
|
|
SurchargeDecisionManagerRead,
|
|
UsersRead,
|
|
UsersWrite,
|
|
MerchantAccountCreate,
|
|
}
|
|
|
|
#[derive(Debug, serde::Serialize)]
|
|
pub enum PermissionModule {
|
|
Payments,
|
|
Refunds,
|
|
MerchantAccount,
|
|
Connectors,
|
|
Routing,
|
|
Analytics,
|
|
Mandates,
|
|
Customer,
|
|
Disputes,
|
|
ThreeDsDecisionManager,
|
|
SurchargeDecisionManager,
|
|
AccountCreate,
|
|
}
|
|
|
|
#[derive(Debug, serde::Serialize)]
|
|
pub struct AuthorizationInfoResponse(pub Vec<AuthorizationInfo>);
|
|
|
|
#[derive(Debug, serde::Serialize)]
|
|
#[serde(untagged)]
|
|
pub enum AuthorizationInfo {
|
|
Module(ModuleInfo),
|
|
Group(GroupInfo),
|
|
}
|
|
|
|
#[derive(Debug, serde::Serialize)]
|
|
pub struct ModuleInfo {
|
|
pub module: PermissionModule,
|
|
pub description: &'static str,
|
|
pub permissions: Vec<PermissionInfo>,
|
|
}
|
|
|
|
#[derive(Debug, serde::Serialize)]
|
|
pub struct GroupInfo {
|
|
pub group: PermissionGroup,
|
|
pub description: &'static str,
|
|
pub permissions: Vec<PermissionInfo>,
|
|
}
|
|
|
|
#[derive(Debug, serde::Serialize)]
|
|
pub struct PermissionInfo {
|
|
pub enum_name: Permission,
|
|
pub description: &'static str,
|
|
}
|
|
|
|
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
|
pub struct UpdateUserRoleRequest {
|
|
pub email: pii::Email,
|
|
pub role_id: String,
|
|
}
|
|
|
|
#[derive(Debug, serde::Serialize)]
|
|
pub enum UserStatus {
|
|
Active,
|
|
InvitationSent,
|
|
}
|
|
|
|
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
|
pub struct AcceptInvitationRequest {
|
|
pub merchant_ids: Vec<String>,
|
|
pub need_dashboard_entry_response: Option<bool>,
|
|
}
|
|
|
|
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
|
pub struct DeleteUserRoleRequest {
|
|
pub email: pii::Email,
|
|
}
|
|
|
|
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
|
pub struct TransferOrgOwnershipRequest {
|
|
pub email: pii::Email,
|
|
}
|