Skip to main content

rs_tenant/
role.rs

1use crate::ids::RoleId;
2use crate::scope::GrantScope;
3
4/// 角色分配及其显式授权范围。
5#[derive(Clone, Debug, Eq, PartialEq, Hash)]
6#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
7pub struct RoleAssignment {
8    /// 被分配的角色。
9    pub role: RoleId,
10    /// 该分配授予的范围。
11    pub scope: GrantScope,
12}
13
14impl RoleAssignment {
15    /// 创建角色分配。
16    pub fn new(role: RoleId, scope: GrantScope) -> Self {
17        Self { role, scope }
18    }
19}