#[non_exhaustive]pub struct SpaceUpdateRoleInput<'a> {
pub id: &'a Id,
pub name: Option<&'a str>,
pub color: Patch<&'a str>,
pub permissions: Option<&'a [&'a str]>,
pub position: Option<u64>,
}Expand description
One role update in the updateRoles patch key of Space/set update
(JMAP Chat §Space/set update / manage_roles permission).
Fields left at their default (None / Patch::Keep) are omitted from
the wire patch and the server leaves the corresponding property unchanged.
Hierarchy enforcement: a member may only modify roles whose position is
strictly less than their own highest-position role (server-enforced).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.id: &'a IdSpaceRole.id to update.
name: Option<&'a str>New name. None = no change.
color: Patch<&'a str>Set or clear the color. Patch::Clear removes any assigned color.
permissions: Option<&'a [&'a str]>Replace the permissions list. None = no change.
position: Option<u64>New position in the role hierarchy. None = no change.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for SpaceUpdateRoleInput<'a>
impl<'a> RefUnwindSafe for SpaceUpdateRoleInput<'a>
impl<'a> Send for SpaceUpdateRoleInput<'a>
impl<'a> Sync for SpaceUpdateRoleInput<'a>
impl<'a> Unpin for SpaceUpdateRoleInput<'a>
impl<'a> UnsafeUnpin for SpaceUpdateRoleInput<'a>
impl<'a> UnwindSafe for SpaceUpdateRoleInput<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more