1 parent
e37d583179
commit
5260c2828b
65 files changed
+8469
-380
No files matched your search
+21
-4
@@ -37,14 +37,21 @@ impl Permission {
|
||||
pub struct User {
|
||||
#[serde(default)]
|
||||
pub language: Option<String>,
|
||||
pub id: Uuid,
|
||||
/// Canonical account-owned person; email is required by account persistence.
|
||||
#[serde(flatten)]
|
||||
pub person: Person,
|
||||
pub username: String,
|
||||
pub display_name: String,
|
||||
pub country: String,
|
||||
/// None follows the browser timezone; this never changes scheduling rules.
|
||||
pub timezone: Option<String>,
|
||||
}
|
||||
|
||||
impl std::ops::Deref for User {
|
||||
type Target = Person;
|
||||
fn deref(&self) -> &Person {
|
||||
&self.person
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct Member {
|
||||
pub user: User,
|
||||
@@ -428,7 +435,8 @@ impl WorkspaceDocument {
|
||||
} = &self.integration
|
||||
{
|
||||
ensure(
|
||||
Uuid::parse_str(cloud_id).is_ok() && Uuid::parse_str(team_id).is_ok(),
|
||||
Uuid::parse_str(cloud_id).is_ok()
|
||||
&& Uuid::parse_str(team_id.strip_prefix("og-").unwrap_or(team_id)).is_ok(),
|
||||
crate::i18n::text("err_jsm_cloud_and_team_ids_must_be_uuids_f75b5f"),
|
||||
)?;
|
||||
ensure(
|
||||
@@ -704,3 +712,12 @@ pub struct Timeline {
|
||||
pub to: DateTime<Utc>,
|
||||
pub assignments: Vec<Assignment>,
|
||||
}
|
||||
|
||||
/// A compact representation of a verified calendar-day cycle, independent of providers.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct RecurringRotation {
|
||||
pub start: DateTime<Utc>,
|
||||
pub end: DateTime<Utc>,
|
||||
pub shift_days: u16,
|
||||
pub participants: Vec<Uuid>,
|
||||
}
|
||||
Reference in new issue
Block a user