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 serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
use crate::types::config::types::subconfigs::register::{
|
use crate::types::{config::types::subconfigs::register::{
|
||||||
DateOfBirthConfiguration, PasswordConfiguration, RegistrationEmailConfiguration,
|
DateOfBirthConfiguration, PasswordConfiguration, RegistrationEmailConfiguration,
|
||||||
};
|
}, Rights};
|
||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
|
@ -22,7 +22,7 @@ pub struct RegisterConfiguration {
|
||||||
pub allow_multiple_accounts: bool,
|
pub allow_multiple_accounts: bool,
|
||||||
pub block_proxies: bool,
|
pub block_proxies: bool,
|
||||||
pub incrementing_discriminators: bool,
|
pub incrementing_discriminators: bool,
|
||||||
pub default_rights: String,
|
pub default_rights: Rights,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for RegisterConfiguration {
|
impl Default for RegisterConfiguration {
|
||||||
|
@ -39,7 +39,7 @@ impl Default for RegisterConfiguration {
|
||||||
allow_multiple_accounts: true,
|
allow_multiple_accounts: true,
|
||||||
block_proxies: true,
|
block_proxies: true,
|
||||||
incrementing_discriminators: false,
|
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/.
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
use bitflags::bitflags;
|
use bitflags::bitflags;
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
bitflags! {
|
bitflags! {
|
||||||
/// Rights are instance-wide, per-user permissions for everything you may perform on the instance,
|
/// Rights are instance-wide, per-user permissions for everything you may perform on the instance,
|
||||||
|
@ -14,6 +15,7 @@ bitflags! {
|
||||||
///
|
///
|
||||||
/// # Reference
|
/// # Reference
|
||||||
/// See <https://docs.spacebar.chat/setup/server/security/rights/>
|
/// See <https://docs.spacebar.chat/setup/server/security/rights/>
|
||||||
|
#[derive(Debug, Clone, Copy, Eq, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct Rights: u64 {
|
pub struct Rights: u64 {
|
||||||
/// All rights
|
/// All rights
|
||||||
const OPERATOR = 1 << 0;
|
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
|
#[allow(dead_code)] // FIXME: Remove this when we use this
|
||||||
fn all_rights() -> Rights {
|
fn all_rights() -> Rights {
|
||||||
Rights::OPERATOR
|
Rights::OPERATOR
|
||||||
|
|
Loading…
Reference in New Issue