From c0c90c3001f73ab2f6fc7c99a018d5b192147e78 Mon Sep 17 00:00:00 2001 From: Julia Lange Date: Wed, 14 May 2025 18:18:52 -0700 Subject: [PATCH] Lexicons, update lexicon repo and compile Compiles the current lexicons to rust code using esquema. I had to do a little bit of shenanigans to get the rust to compile that needs to be redone every time. But there is a better way, I'm just lazy rn. --- lexicons | 2 +- src/lexicons/my/spoor/content.rs | 2 +- src/lexicons/my/spoor/content/external.rs | 16 ++++++++++++---- src/lexicons/my/spoor/content/media.rs | 6 +++--- .../my/spoor/content/{defs.rs => title.rs} | 12 ++++++------ src/lexicons/my/spoor/log/activity.rs | 13 ++++++++++--- src/lexicons/my/spoor/log/session.rs | 2 +- 7 files changed, 34 insertions(+), 19 deletions(-) rename src/lexicons/my/spoor/content/{defs.rs => title.rs} (68%) diff --git a/lexicons b/lexicons index 0c7e671..2fdba4f 160000 --- a/lexicons +++ b/lexicons @@ -1 +1 @@ -Subproject commit 0c7e67126c2eb46bd1901c2c329d1139747d7e89 +Subproject commit 2fdba4f2178a106418f48b7fd26d48b91aff58b1 diff --git a/src/lexicons/my/spoor/content.rs b/src/lexicons/my/spoor/content.rs index 5d9b80b..08a442c 100644 --- a/src/lexicons/my/spoor/content.rs +++ b/src/lexicons/my/spoor/content.rs @@ -1,8 +1,8 @@ // @generated - This file is generated by esquema-codegen (forked from atrium-codegen). DO NOT EDIT. //!Definitions for the `my.spoor.content` namespace. -pub mod defs; pub mod external; pub mod media; +pub mod title; #[derive(Debug)] pub struct External; impl atrium_api::types::Collection for External { diff --git a/src/lexicons/my/spoor/content/external.rs b/src/lexicons/my/spoor/content/external.rs index 5a916ee..505af91 100644 --- a/src/lexicons/my/spoor/content/external.rs +++ b/src/lexicons/my/spoor/content/external.rs @@ -9,10 +9,8 @@ pub struct RecordData { pub overrides: core::option::Option>, ///All the data needed to query the content from the source pub queryable: atrium_api::types::Union, - ///An nsid for a specific data source. The domain authority governs how to process the queryable - pub source: atrium_api::types::string::Nsid, #[serde(skip_serializing_if = "core::option::Option::is_none")] - pub titles: core::option::Option>, + pub titles: core::option::Option>, } pub type Record = atrium_api::types::Object; impl From for RecordData { @@ -21,8 +19,18 @@ impl From for RecordData { } } #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +pub struct Tvdbv4Data { + pub id: i64, + pub r#type: String, +} +pub type Tvdbv4 = atrium_api::types::Object; +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] #[serde(tag = "$type")] pub enum RecordOverridesRefs {} #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] #[serde(tag = "$type")] -pub enum RecordQueryableRefs {} +pub enum RecordQueryableRefs { + #[serde(rename = "my.spoor.content.external#tvdbv4")] + Tvdbv4(Box), +} diff --git a/src/lexicons/my/spoor/content/media.rs b/src/lexicons/my/spoor/content/media.rs index aa1cd3b..8b008f4 100644 --- a/src/lexicons/my/spoor/content/media.rs +++ b/src/lexicons/my/spoor/content/media.rs @@ -12,7 +12,7 @@ pub struct RecordData { pub last_updated: atrium_api::types::string::Datetime, #[serde(skip_serializing_if = "core::option::Option::is_none")] pub poster_image: core::option::Option, - pub titles: Vec, + pub titles: Vec, } pub type Record = atrium_api::types::Object; impl From for RecordData { @@ -38,7 +38,7 @@ pub type Television = atrium_api::types::Object; #[serde(tag = "$type")] pub enum RecordDurationDataRefs { #[serde(rename = "my.spoor.content.media#television")] - MySpoorContentMediaTelevision(Box), + MySpoorContentMediaTelevision(Box), #[serde(rename = "my.spoor.content.media#book")] - MySpoorContentMediaBook(Box), + MySpoorContentMediaBook(Box), } diff --git a/src/lexicons/my/spoor/content/defs.rs b/src/lexicons/my/spoor/content/title.rs similarity index 68% rename from src/lexicons/my/spoor/content/defs.rs rename to src/lexicons/my/spoor/content/title.rs index 69d3607..2fb3ea6 100644 --- a/src/lexicons/my/spoor/content/defs.rs +++ b/src/lexicons/my/spoor/content/title.rs @@ -1,8 +1,8 @@ // @generated - This file is generated by esquema-codegen (forked from atrium-codegen). DO NOT EDIT. -//!Definitions for the `my.spoor.content.defs` namespace. +//!Definitions for the `my.spoor.content.title` namespace. #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] #[serde(rename_all = "camelCase")] -pub struct TitleData { +pub struct MainData { #[serde(skip_serializing_if = "core::option::Option::is_none")] pub lang: core::option::Option, #[serde(skip_serializing_if = "core::option::Option::is_none")] @@ -10,10 +10,10 @@ pub struct TitleData { #[serde(skip_serializing_if = "core::option::Option::is_none")] pub value: core::option::Option, } -pub type Title = atrium_api::types::Object; +pub type Main = atrium_api::types::Object; ///A phonetic transcription of the native title such that when read it will sound like the native title. -pub const TITLE_HOMOPHONIC: &str = "my.spoor.content.defs#titleHomophonic"; +pub const TITLE_HOMOPHONIC: &str = "my.spoor.content.title#titleHomophonic"; ///The title in its native script -pub const TITLE_NATIVE: &str = "my.spoor.content.defs#titleNative"; +pub const TITLE_NATIVE: &str = "my.spoor.content.title#titleNative"; ///A translation of the title -pub const TITLE_TRANSLATION: &str = "my.spoor.content.defs#titleTranslation"; +pub const TITLE_TRANSLATION: &str = "my.spoor.content.title#titleTranslation"; diff --git a/src/lexicons/my/spoor/log/activity.rs b/src/lexicons/my/spoor/log/activity.rs index cbf8882..0f6f2ee 100644 --- a/src/lexicons/my/spoor/log/activity.rs +++ b/src/lexicons/my/spoor/log/activity.rs @@ -10,7 +10,7 @@ pub struct RecordData { #[serde(skip_serializing_if = "core::option::Option::is_none")] pub performed_at: core::option::Option, pub progress: atrium_api::types::Union, - pub session: crate::com::atproto::repo::strong_ref::Main, + pub session: atrium_api::com::atproto::repo::strong_ref::Main, } pub type Record = atrium_api::types::Object; impl From for RecordData { @@ -18,9 +18,16 @@ impl From for RecordData { Self::try_from_unknown(value).unwrap() } } +///The index of the content consumed. Content must be indexable +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +pub struct ProgressIndexData { + pub index: i64, +} +pub type ProgressIndex = atrium_api::types::Object; #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] #[serde(tag = "$type")] pub enum RecordProgressRefs { - #[serde(rename = "my.spoor.log.activity#indexProgress")] - MySpoorLogActivityIndexProgress(Box), + #[serde(rename = "my.spoor.log.activity#progressIndex")] + ProgressIndex(Box), } diff --git a/src/lexicons/my/spoor/log/session.rs b/src/lexicons/my/spoor/log/session.rs index cf5d0d5..ce61cb2 100644 --- a/src/lexicons/my/spoor/log/session.rs +++ b/src/lexicons/my/spoor/log/session.rs @@ -4,7 +4,7 @@ use atrium_api::types::TryFromUnknown; #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct RecordData { - pub content: crate::com::atproto::repo::strong_ref::Main, + pub content: atrium_api::com::atproto::repo::strong_ref::Main, ///Client-declared timestamp for when this activity was created pub created_at: atrium_api::types::string::Datetime, #[serde(skip_serializing_if = "core::option::Option::is_none")]