blastmud/blastmud_game/src/models/session.rs
Condorra 3c302136d5 Remove most references to less_explicit_mode
Instead add one basic illegality filter for everyone.
2023-12-29 23:48:31 +11:00

38 lines
1017 B
Rust

use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Clone, Debug)]
#[serde(default)]
pub struct Session {
pub source: String,
pub less_explicit_mode: bool, // DEPRECATED
pub last_active: Option<DateTime<Utc>>,
// Reminder: Consider backwards compatibility when updating this. New fields should generally
// be an Option, or you should ensure the default value is sensible, or things will
// crash out for existing sessions.
}
impl Session {
pub fn explicit_if_allowed<'l>(
self: &Self,
explicit: &'l str,
non_explicit: Option<&'l str>,
) -> &'l str {
if self.less_explicit_mode {
non_explicit.unwrap_or(explicit)
} else {
explicit
}
}
}
impl Default for Session {
fn default() -> Self {
Session {
source: "unknown".to_owned(),
less_explicit_mode: false,
last_active: None,
}
}
}