add: anonymous questions
This commit is contained in:
parent
2266afde01
commit
3db7f2699c
34 changed files with 473 additions and 98 deletions
|
@ -136,6 +136,9 @@ pub struct UserSettings {
|
|||
/// A header shown in the place of "Ask question" if `enable_questions` is true.
|
||||
#[serde(default)]
|
||||
pub motivational_header: String,
|
||||
/// If questions from anonymous users are allowed. Requires `enable_questions`.
|
||||
#[serde(default)]
|
||||
pub allow_anonymous_questions: bool,
|
||||
}
|
||||
|
||||
impl Default for User {
|
||||
|
@ -192,6 +195,15 @@ impl User {
|
|||
}
|
||||
}
|
||||
|
||||
/// Anonymous user profile.
|
||||
pub fn anonymous() -> Self {
|
||||
Self {
|
||||
username: "anonymous".to_string(),
|
||||
id: 0,
|
||||
..Default::default()
|
||||
}
|
||||
}
|
||||
|
||||
/// Create a new token
|
||||
///
|
||||
/// # Returns
|
||||
|
@ -356,6 +368,29 @@ impl UserBlock {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct IpBlock {
|
||||
pub id: usize,
|
||||
pub created: usize,
|
||||
pub initiator: usize,
|
||||
pub receiver: String,
|
||||
}
|
||||
|
||||
impl IpBlock {
|
||||
/// Create a new [`IpBlock`].
|
||||
pub fn new(initiator: usize, receiver: String) -> Self {
|
||||
Self {
|
||||
id: AlmostSnowflake::new(1234567890)
|
||||
.to_string()
|
||||
.parse::<usize>()
|
||||
.unwrap(),
|
||||
created: unix_epoch_timestamp() as usize,
|
||||
initiator,
|
||||
receiver,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct IpBan {
|
||||
pub ip: String,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue