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}