Make config register_configuration use Rights bitflag object
This commit is contained in:
parent
c44521320d
commit
7b7294433b
|
@ -4,9 +4,9 @@
|
|||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::config::types::subconfigs::register::{
|
||||
use crate::types::{config::types::subconfigs::register::{
|
||||
DateOfBirthConfiguration, PasswordConfiguration, RegistrationEmailConfiguration,
|
||||
};
|
||||
}, Rights};
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
|
@ -22,7 +22,7 @@ pub struct RegisterConfiguration {
|
|||
pub allow_multiple_accounts: bool,
|
||||
pub block_proxies: bool,
|
||||
pub incrementing_discriminators: bool,
|
||||
pub default_rights: String,
|
||||
pub default_rights: Rights,
|
||||
}
|
||||
|
||||
impl Default for RegisterConfiguration {
|
||||
|
@ -39,7 +39,7 @@ impl Default for RegisterConfiguration {
|
|||
allow_multiple_accounts: true,
|
||||
block_proxies: true,
|
||||
incrementing_discriminators: false,
|
||||
default_rights: String::from("875069521787904"),
|
||||
default_rights: Rights::from_bits(648540060672).expect("failed to parse default_rights"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
use bitflags::bitflags;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
bitflags! {
|
||||
/// Rights are instance-wide, per-user permissions for everything you may perform on the instance,
|
||||
|
@ -14,6 +15,7 @@ bitflags! {
|
|||
///
|
||||
/// # Reference
|
||||
/// See <https://docs.spacebar.chat/setup/server/security/rights/>
|
||||
#[derive(Debug, Clone, Copy, Eq, PartialEq, Serialize, Deserialize)]
|
||||
pub struct Rights: u64 {
|
||||
/// All rights
|
||||
const OPERATOR = 1 << 0;
|
||||
|
@ -151,6 +153,12 @@ impl Rights {
|
|||
}
|
||||
}
|
||||
|
||||
impl Default for Rights {
|
||||
fn default() -> Self {
|
||||
Self::empty()
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(dead_code)] // FIXME: Remove this when we use this
|
||||
fn all_rights() -> Rights {
|
||||
Rights::OPERATOR
|
||||
|
|
Loading…
Reference in New Issue