Skip to main content

GroupPermissionSetting

Struct GroupPermissionSetting 

Source
pub struct GroupPermissionSetting { /* private fields */ }
Expand description

Represents configuration for a group permission setting specifying the groups to which the setting can be set to and the default values for the setting.

Changes: Removed allow_owners_group field in Zulip 10.0 (feature level 326), as we now support anonymous user groups. Previously, the role:owners system group was not offered when allow_owners_group was false.

Removed unnecessary id_field_name field in Zulip 10.0 (feature level 326). Previously, this always had the value of \"{setting_name}_id\"; it was an internal implementation detail of the server not intended to be included in the API.

Implementations§

Source§

impl GroupPermissionSetting

Source

pub const fn new() -> Self

Creates a new GroupPermissionSetting.

Source§

impl GroupPermissionSetting

Source

pub const fn require_system_group(&self) -> Option<bool>

Gets the GroupPermissionSetting require_system_group.

Whether the setting can only be set to a system user group.

Source

pub fn set_require_system_group(&mut self, val: bool)

Sets the GroupPermissionSetting require_system_group.

Whether the setting can only be set to a system user group.

Source

pub fn unset_require_system_group(&mut self) -> Option<bool>

Unsets the GroupPermissionSetting require_system_group.

Whether the setting can only be set to a system user group.

Source

pub fn with_require_system_group(self, val: bool) -> Self

Builder function that sets the GroupPermissionSetting require_system_group.

Whether the setting can only be set to a system user group.

Source

pub const fn allow_internet_group(&self) -> Option<bool>

Gets the GroupPermissionSetting allow_internet_group.

Whether the setting can be set to role:internet system group.

Source

pub fn set_allow_internet_group(&mut self, val: bool)

Sets the GroupPermissionSetting allow_internet_group.

Whether the setting can be set to role:internet system group.

Source

pub fn unset_allow_internet_group(&mut self) -> Option<bool>

Unsets the GroupPermissionSetting allow_internet_group.

Whether the setting can be set to role:internet system group.

Source

pub fn with_allow_internet_group(self, val: bool) -> Self

Builder function that sets the GroupPermissionSetting allow_internet_group.

Whether the setting can be set to role:internet system group.

Source

pub const fn allow_nobody_group(&self) -> Option<bool>

Gets the GroupPermissionSetting allow_nobody_group.

Whether the setting can be set to role:nobody system group.

Source

pub fn set_allow_nobody_group(&mut self, val: bool)

Sets the GroupPermissionSetting allow_nobody_group.

Whether the setting can be set to role:nobody system group.

Source

pub fn unset_allow_nobody_group(&mut self) -> Option<bool>

Unsets the GroupPermissionSetting allow_nobody_group.

Whether the setting can be set to role:nobody system group.

Source

pub fn with_allow_nobody_group(self, val: bool) -> Self

Builder function that sets the GroupPermissionSetting allow_nobody_group.

Whether the setting can be set to role:nobody system group.

Source

pub const fn allow_everyone_group(&self) -> Option<bool>

Gets the GroupPermissionSetting allow_everyone_group.

Whether the setting can be set to role:everyone system group.

If false, guest users cannot exercise this permission even if they are part of the group-setting value for this setting.

Source

pub fn set_allow_everyone_group(&mut self, val: bool)

Sets the GroupPermissionSetting allow_everyone_group.

Whether the setting can be set to role:everyone system group.

If false, guest users cannot exercise this permission even if they are part of the group-setting value for this setting.

Source

pub fn unset_allow_everyone_group(&mut self) -> Option<bool>

Unsets the GroupPermissionSetting allow_everyone_group.

Whether the setting can be set to role:everyone system group.

If false, guest users cannot exercise this permission even if they are part of the group-setting value for this setting.

Source

pub fn with_allow_everyone_group(self, val: bool) -> Self

Builder function that sets the GroupPermissionSetting allow_everyone_group.

Whether the setting can be set to role:everyone system group.

If false, guest users cannot exercise this permission even if they are part of the group-setting value for this setting.

Source§

impl GroupPermissionSetting

Source

pub fn default_group_name(&self) -> Option<&str>

Gets the GroupPermissionSetting default_group_name.

Name of the default system group for the setting.

For some channel settings, this can also be channel_creator.

In that case:

  • If the channel’s creator_id is not null, default for the setting is an anonymous group with the channel creator as the only member.

  • If the channel’s creator_id is null, default for the setting is role:nobody system group.

Changes: In Zulip 12.0 (feature level 427), renamed stream_creator_or_nobody value to channel_creator.

Source

pub fn set_default_group_name<'a, C: Into<Cow<'a, str>>>(&mut self, val: C)

Sets the GroupPermissionSetting default_group_name.

Name of the default system group for the setting.

For some channel settings, this can also be channel_creator.

In that case:

  • If the channel’s creator_id is not null, default for the setting is an anonymous group with the channel creator as the only member.

  • If the channel’s creator_id is null, default for the setting is role:nobody system group.

Changes: In Zulip 12.0 (feature level 427), renamed stream_creator_or_nobody value to channel_creator.

Source

pub fn unset_default_group_name(&mut self) -> Option<String>

Unsets the GroupPermissionSetting default_group_name.

Name of the default system group for the setting.

For some channel settings, this can also be channel_creator.

In that case:

  • If the channel’s creator_id is not null, default for the setting is an anonymous group with the channel creator as the only member.

  • If the channel’s creator_id is null, default for the setting is role:nobody system group.

Changes: In Zulip 12.0 (feature level 427), renamed stream_creator_or_nobody value to channel_creator.

Source

pub fn with_default_group_name<'a, C: Into<Cow<'a, str>>>(self, val: C) -> Self

Builder function that sets the GroupPermissionSetting default_group_name.

Name of the default system group for the setting.

For some channel settings, this can also be channel_creator.

In that case:

  • If the channel’s creator_id is not null, default for the setting is an anonymous group with the channel creator as the only member.

  • If the channel’s creator_id is null, default for the setting is role:nobody system group.

Changes: In Zulip 12.0 (feature level 427), renamed stream_creator_or_nobody value to channel_creator.

Source

pub fn default_for_system_groups(&self) -> Option<&str>

Gets the GroupPermissionSetting default_for_system_groups.

Name of the default group for the setting for system groups. This is non-null only for group-level settings.

Source

pub fn set_default_for_system_groups<'a, C: Into<Cow<'a, str>>>( &mut self, val: C, )

Sets the GroupPermissionSetting default_for_system_groups.

Name of the default group for the setting for system groups. This is non-null only for group-level settings.

Source

pub fn unset_default_for_system_groups(&mut self) -> Option<String>

Unsets the GroupPermissionSetting default_for_system_groups.

Name of the default group for the setting for system groups. This is non-null only for group-level settings.

Source

pub fn with_default_for_system_groups<'a, C: Into<Cow<'a, str>>>( self, val: C, ) -> Self

Builder function that sets the GroupPermissionSetting default_for_system_groups.

Name of the default group for the setting for system groups. This is non-null only for group-level settings.

Source

pub fn allowed_system_groups(&self) -> Option<&[String]>

Gets the GroupPermissionSetting allowed_system_groups.

An array of names of system groups to which the setting can be set to.

If the list is empty, the setting can be set to system groups based on the other boolean fields.

Changes: New in Zulip 8.0 (feature level 225).

Source

pub fn set_allowed_system_groups<'a, C: Into<Cow<'a, [String]>>>( &mut self, val: C, )

Sets the GroupPermissionSetting allowed_system_groups.

An array of names of system groups to which the setting can be set to.

If the list is empty, the setting can be set to system groups based on the other boolean fields.

Changes: New in Zulip 8.0 (feature level 225).

Source

pub fn unset_allowed_system_groups(&mut self) -> Option<Vec<String>>

Unsets the GroupPermissionSetting allowed_system_groups.

An array of names of system groups to which the setting can be set to.

If the list is empty, the setting can be set to system groups based on the other boolean fields.

Changes: New in Zulip 8.0 (feature level 225).

Source

pub fn with_allowed_system_groups<'a, C: Into<Cow<'a, [String]>>>( self, val: C, ) -> Self

Builder function that sets the GroupPermissionSetting allowed_system_groups.

An array of names of system groups to which the setting can be set to.

If the list is empty, the setting can be set to system groups based on the other boolean fields.

Changes: New in Zulip 8.0 (feature level 225).

Trait Implementations§

Source§

impl Clone for GroupPermissionSetting

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GroupPermissionSetting

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for GroupPermissionSetting

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for GroupPermissionSetting

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for GroupPermissionSetting

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for GroupPermissionSetting

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for GroupPermissionSetting

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for GroupPermissionSetting

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more