From fed32ce1fde67c697a0ab84e4c5620945ce7dd79 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Wed, 9 Jul 2025 18:21:56 -0400 Subject: [PATCH] tokens + enums - make sqlx optional (#708) --- .../schema/database/mysql_queries/Cargo.toml | 34 +++++++++---------- crates/schema/public/enums/Cargo.toml | 24 +++++++------ .../generic_download_type.rs | 19 ++++++----- .../src/by_table/user_ratings/rating_value.rs | 5 +-- .../public/enums/src/common/job_status.rs | 5 +-- .../schema/public/enums/src/common/view_as.rs | 5 +-- .../public/enums/src/common/visibility.rs | 5 +-- .../public/enums/src/common/vocoder_type.rs | 10 +++--- .../src/macros/impl_mysql_enum_coders.rs | 7 ++++ .../enums/src/macros/impl_mysql_from_row.rs | 8 +++++ .../src/macros/impl_sqlite_enum_coders.rs | 7 ++++ crates/schema/public/enums/src/traits/mod.rs | 1 + crates/schema/public/tokens/Cargo.toml | 24 +++++++------ .../src/macros/impl_mysql_token_from_row.rs | 8 +++++ .../src/tokens/anonymous_visitor_tracking.rs | 5 +-- .../tokens/src/tokens/api_tokens_external.rs | 5 +-- .../tokens/src/tokens/api_tokens_internal.rs | 5 +-- .../public/tokens/src/tokens/audit_logs.rs | 5 +-- .../tokens/src/tokens/batch_generations.rs | 5 +-- .../public/tokens/src/tokens/beta_keys.rs | 5 +-- .../tokens/src/tokens/browser_session_logs.rs | 5 +-- .../public/tokens/src/tokens/comments.rs | 5 +-- .../src/tokens/email_sender_job_token.rs | 5 +-- .../tokens/src/tokens/firehose_entries.rs | 5 +-- .../src/tokens/generic_download_jobs.rs | 5 +-- .../src/tokens/generic_inference_jobs.rs | 5 +-- .../src/tokens/google_sign_in_accounts.rs | 5 +-- .../public/tokens/src/tokens/media_files.rs | 5 +-- .../public/tokens/src/tokens/media_uploads.rs | 5 +-- .../tokens/src/tokens/model_categories.rs | 5 +-- .../public/tokens/src/tokens/model_weights.rs | 5 +-- .../tokens/src/tokens/password_reset.rs | 5 +-- .../public/tokens/src/tokens/prompts.rs | 5 +-- .../tokens/src/tokens/sqlite/news_stories.rs | 5 +-- .../src/tokens/sqlite/tts_render_tasks.rs | 5 +-- .../schema/public/tokens/src/tokens/tags.rs | 5 +-- .../tokens/src/tokens/tts_inference_jobs.rs | 5 +-- .../src/tokens/tts_model_upload_jobs.rs | 5 +-- .../public/tokens/src/tokens/tts_models.rs | 5 +-- .../public/tokens/src/tokens/tts_results.rs | 5 +-- .../tokens/src/tokens/twitch_event_rule.rs | 5 +-- .../tokens/twitch_oauth_tokens_grouping.rs | 5 +-- .../tokens/twitch_oauth_tokens_internal.rs | 5 +-- .../tokens/src/tokens/user_bookmarks.rs | 5 +-- .../public/tokens/src/tokens/user_sessions.rs | 5 +-- .../tokens/src/tokens/user_subscriptions.rs | 5 +-- .../schema/public/tokens/src/tokens/users.rs | 5 +-- .../tokens/src/tokens/vocoder_models.rs | 5 +-- .../tokens/src/tokens/voice_clone_requests.rs | 5 +-- .../src/tokens/voice_conversion_models.rs | 5 +-- .../src/tokens/voice_conversion_results.rs | 5 +-- .../tokens/src/tokens/w2l_inference_jobs.rs | 5 +-- .../public/tokens/src/tokens/w2l_results.rs | 5 +-- .../src/tokens/w2l_template_upload_jobs.rs | 5 +-- .../public/tokens/src/tokens/w2l_templates.rs | 5 +-- .../tokens/src/tokens/weight_uploads.rs | 14 -------- .../src/tokens/zs_voice_dataset_samples.rs | 5 +-- .../tokens/src/tokens/zs_voice_datasets.rs | 5 +-- .../public/tokens/src/tokens/zs_voices.rs | 5 +-- crates/schema/public/tokens/src/traits/mod.rs | 1 + 60 files changed, 237 insertions(+), 160 deletions(-) delete mode 100644 crates/schema/public/tokens/src/tokens/weight_uploads.rs diff --git a/crates/schema/database/mysql_queries/Cargo.toml b/crates/schema/database/mysql_queries/Cargo.toml index 846388dcc3..6d040e1e44 100644 --- a/crates/schema/database/mysql_queries/Cargo.toml +++ b/crates/schema/database/mysql_queries/Cargo.toml @@ -8,45 +8,45 @@ authors = [ ] publish = false +[package.metadata.cargo-udeps.ignore] +normal = ["workspace-build-acceleration"] + [lib] name = "mysql_queries" path = "src/lib.rs" -[package.metadata.cargo-udeps.ignore] -normal = ["workspace-build-acceleration"] - [dependencies] # cargo-hakari workspace hack (faster compile times) -workspace-build-acceleration = { workspace = true } +workspace-build-acceleration.workspace = true # Internal bucket_paths = { path = "../../../lib/bucket_paths" } composite_identifiers = { path = "../../../schema/public/composite_identifiers" } -enums = { workspace = true } -errors = { workspace = true } -idempotency = { workspace = true } +enums = { workspace = true, features = ["database"] } +errors.workspace = true +idempotency.workspace = true reusable_types = { path = "../../../schema/public/reusable_types" } -tokens = { workspace = true } +tokens = { workspace = true, features = ["database"] } # External -anyhow = { workspace = true } -chrono = { workspace = true } -log = { workspace = true } +anyhow.workspace = true +chrono.workspace = true +log.workspace = true # Needed to safety check some queries we can't use escaping for -once_cell = { workspace = true } -regex = { workspace = true } +once_cell.workspace = true +regex.workspace = true # Serialization -serde = { workspace = true } -serde_derive = { workspace = true } -serde_json = { workspace = true } +serde.workspace = true +serde_derive.workspace = true +serde_json.workspace = true # BigNum num-traits = "0.2.19" tokio = { version = "1.38.0", features = ["full"] } -rand = { workspace = true } +rand.workspace = true sqlx = { version = "0.7.2", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono", "bigdecimal" ] } [dev-dependencies] diff --git a/crates/schema/public/enums/Cargo.toml b/crates/schema/public/enums/Cargo.toml index 5e25a47551..16a44752bb 100644 --- a/crates/schema/public/enums/Cargo.toml +++ b/crates/schema/public/enums/Cargo.toml @@ -8,27 +8,31 @@ authors = [ ] publish = false +[package.metadata.cargo-udeps.ignore] +normal = ["workspace-build-acceleration"] + [lib] name = "enums" path = "src/lib.rs" -[package.metadata.cargo-udeps.ignore] -normal = ["workspace-build-acceleration"] +[features] +default = [] +database = ["sqlx", "sqlx-core", "sqlx-mysql"] [dependencies] # Workspace hack (faster compile times) -workspace-build-acceleration = { workspace = true } +workspace-build-acceleration.workspace = true # Internal # (None yet) # Serialization -serde = { workspace = true } -serde_derive = { workspace = true } +serde.workspace = true +serde_derive.workspace = true -sqlx = { version = "0.7.2", features = [ "mysql", "sqlite", "runtime-tokio-native-tls", "chrono" ] } -sqlx-core = { version = "0.7.2" } -sqlx-mysql= { version = "0.7.2" } +sqlx = { version = "0.7.2", features = [ "mysql", "runtime-tokio-native-tls", "chrono" ], optional = true } +sqlx-core = { version = "0.7.2" , optional = true } +sqlx-mysql = { version = "0.7.2" , optional = true } utoipa = { version = "4", features = ["chrono","actix_extras"] } @@ -38,5 +42,5 @@ utoipa = { version = "4", features = ["chrono","actix_extras"] } strum = { version = "0.26", features = ["derive"] } # Test serialization -serde_json = { workspace = true } -toml = { workspace = true } +serde_json.workspace = true +toml.workspace = true diff --git a/crates/schema/public/enums/src/by_table/generic_download_jobs/generic_download_type.rs b/crates/schema/public/enums/src/by_table/generic_download_jobs/generic_download_type.rs index a77fa21081..1dc94eae6f 100644 --- a/crates/schema/public/enums/src/by_table/generic_download_jobs/generic_download_type.rs +++ b/crates/schema/public/enums/src/by_table/generic_download_jobs/generic_download_type.rs @@ -15,24 +15,25 @@ use strum::EnumIter; /// /// DO NOT CHANGE VALUES WITHOUT A MIGRATION STRATEGY. #[cfg_attr(test, derive(EnumIter, EnumCount))] -#[derive(Clone, Copy, Eq, PartialEq, Debug, Deserialize, Serialize, sqlx::Type, Hash, Ord, PartialOrd)] +#[cfg_attr(not(feature = "database"), derive(Clone, Copy, Eq, PartialEq, Debug, Deserialize, Serialize, Hash, Ord, PartialOrd))] +#[cfg_attr(feature = "database", derive(Clone, Copy, Eq, PartialEq, Debug, Deserialize, Serialize, sqlx::Type, Hash, Ord, PartialOrd))] pub enum GenericDownloadType { /// NB: Note - this is hifigan for Tacotron2. /// Some work will be needed to unify this with other hifigan types. #[serde(rename = "hifigan")] - #[sqlx(rename = "hifigan")] + #[cfg_attr(feature = "database", sqlx(rename = "hifigan"))] HifiGan, /// NB: Note - this is hifigan for SoftVC (our internal codename is "rocketvc"). /// Some work will need to be done to unify this with other hifigan types. #[serde(rename = "hifigan_rocket_vc")] - #[sqlx(rename = "hifigan_rocket_vc")] + #[cfg_attr(feature = "database", sqlx(rename = "hifigan_rocket_vc"))] HifiGanRocketVc, /// NB: Note - this is hifigan for SoVitsSvc /// Some work will need to be done to unify this with other hifigan types. #[serde(rename = "hifigan_so_vits_svc")] - #[sqlx(rename = "hifigan_so_vits_svc")] + #[cfg_attr(feature = "database", sqlx(rename = "hifigan_so_vits_svc"))] HifiGanSoVitsSvc, //#[serde(rename = "melgan_vocodes")] @@ -42,27 +43,27 @@ pub enum GenericDownloadType { /// NB: Our external-facing name for "softvc" is rocketvc. /// I wish we could stop being stupid about this. #[serde(rename = "rocket_vc")] - #[sqlx(rename = "rocket_vc")] + #[cfg_attr(feature = "database", sqlx(rename = "rocket_vc"))] RocketVc, /// RVC (v2) voice conversion models #[serde(rename = "rvc_v2")] - #[sqlx(rename = "rvc_v2")] + #[cfg_attr(feature = "database", sqlx(rename = "rvc_v2"))] RvcV2, /// so-vits-svc voice conversion models #[serde(rename = "so_vits_svc")] - #[sqlx(rename = "so_vits_svc")] + #[cfg_attr(feature = "database", sqlx(rename = "so_vits_svc"))] SoVitsSvc, /// Tacotron TTS models. #[serde(rename = "tacotron2")] - #[sqlx(rename = "tacotron2")] + #[cfg_attr(feature = "database", sqlx(rename = "tacotron2"))] Tacotron2, /// VITS TTS models. #[serde(rename = "vits")] - #[sqlx(rename = "vits")] + #[cfg_attr(feature = "database", sqlx(rename = "vits"))] Vits, } diff --git a/crates/schema/public/enums/src/by_table/user_ratings/rating_value.rs b/crates/schema/public/enums/src/by_table/user_ratings/rating_value.rs index 4899503892..a96ab8a626 100644 --- a/crates/schema/public/enums/src/by_table/user_ratings/rating_value.rs +++ b/crates/schema/public/enums/src/by_table/user_ratings/rating_value.rs @@ -18,9 +18,10 @@ use utoipa::ToSchema; /// *DO NOT CHANGE VALUES WITHOUT A MIGRATION STRATEGY!* /// #[cfg_attr(test, derive(EnumIter, EnumCount))] -#[derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize, sqlx::Type, ToSchema)] +#[cfg_attr(not(feature = "database"), derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize, sqlx::Type, ToSchema))] +#[cfg_attr(feature = "database", sqlx(rename_all = "lowercase"))] #[serde(rename_all = "lowercase")] -#[sqlx(rename_all = "lowercase")] pub enum UserRatingValue { /// This is considered a ratings "soft deletion" and does not count towards a total score. /// This is the default rating. diff --git a/crates/schema/public/enums/src/common/job_status.rs b/crates/schema/public/enums/src/common/job_status.rs index 8637c968ed..14b8fb3cf5 100644 --- a/crates/schema/public/enums/src/common/job_status.rs +++ b/crates/schema/public/enums/src/common/job_status.rs @@ -19,9 +19,10 @@ use strum::EnumIter; /// DO NOT CHANGE VALUES WITHOUT A MIGRATION STRATEGY. #[cfg_attr(test, derive(EnumIter, EnumCount))] -#[derive(Clone, Copy, PartialEq, Eq, Hash, Ord, PartialOrd, Serialize, Deserialize, sqlx::Type)] +#[cfg_attr(not(feature = "database"), derive(Clone, Copy, PartialEq, Eq, Hash, Ord, PartialOrd, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, Copy, PartialEq, Eq, Hash, Ord, PartialOrd, Serialize, Deserialize, sqlx::Type))] +#[cfg_attr(feature = "database", sqlx(rename_all = "snake_case"))] #[serde(rename_all = "snake_case")] -#[sqlx(rename_all = "snake_case")] pub enum JobStatus { Pending, Started, diff --git a/crates/schema/public/enums/src/common/view_as.rs b/crates/schema/public/enums/src/common/view_as.rs index 1420034805..e473512d36 100644 --- a/crates/schema/public/enums/src/common/view_as.rs +++ b/crates/schema/public/enums/src/common/view_as.rs @@ -5,9 +5,10 @@ use strum::EnumIter; use utoipa::ToSchema; #[cfg_attr(test, derive(EnumIter, EnumCount))] -#[derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize, sqlx::Type,ToSchema)] +#[cfg_attr(not(feature = "database"), derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize, sqlx::Type,ToSchema))] +#[cfg_attr(feature = "database", sqlx(rename_all = "snake_case"))] #[serde(rename_all = "snake_case")] -#[sqlx(rename_all = "snake_case")] pub enum ViewAs { /// Public entities are able to be listed in public lists. /// It does not mean that they necessarily will be (eg. they could be "mod unapproved" or deleted). diff --git a/crates/schema/public/enums/src/common/visibility.rs b/crates/schema/public/enums/src/common/visibility.rs index 4871c31942..5beecc2209 100644 --- a/crates/schema/public/enums/src/common/visibility.rs +++ b/crates/schema/public/enums/src/common/visibility.rs @@ -18,9 +18,10 @@ use strum::EnumIter; use utoipa::ToSchema; #[cfg_attr(test, derive(EnumIter, EnumCount))] -#[derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize, sqlx::Type,ToSchema)] +#[cfg_attr(not(feature = "database"), derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize, sqlx::Type, ToSchema))] +#[cfg_attr(feature = "database", sqlx(rename_all = "lowercase"))] #[serde(rename_all = "lowercase")] -#[sqlx(rename_all = "lowercase")] pub enum Visibility { /// Public entities are able to be listed in public lists. /// It does not mean that they necessarily will be (eg. they could be "mod unapproved" or deleted). diff --git a/crates/schema/public/enums/src/common/vocoder_type.rs b/crates/schema/public/enums/src/common/vocoder_type.rs index 2bf94ca083..7fd976c48a 100644 --- a/crates/schema/public/enums/src/common/vocoder_type.rs +++ b/crates/schema/public/enums/src/common/vocoder_type.rs @@ -1,19 +1,21 @@ -#[derive(Clone, Copy, Eq, PartialEq, Debug, Deserialize, Serialize, sqlx::Type)] +#[cfg_attr(not(feature = "database"), derive(Clone, Copy, Eq, PartialEq, Debug, Deserialize, Serialize))] +#[cfg_attr(feature = "database", derive(Clone, Copy, Eq, PartialEq, Debug, Deserialize, Serialize, sqlx::Type))] pub enum VocoderType { /// NB: Note - this is hifigan for Tacotron2. /// Some work will be needed to unify this with other hifigan types. #[serde(rename = "hifigan")] - #[sqlx(rename = "hifigan")] + #[cfg_attr(feature = "database", sqlx(rename = "hifigan"))] HifiGan, #[serde(rename = "hifigan-superres")] - #[sqlx(rename = "hifigan-superres")] + #[cfg_attr(feature = "database", sqlx(rename = "hifigan-superres"))] HifiGanSuperResolution, /// NB: Note - this is hifigan for SoftVC (our internal codename is "rocketvc"). /// Some work will need to be done to unify this with other hifigan types. + /// NB(bt, 2025-07-09): It was so silly to try to obscure this. Both FakeYou and Uberduck are irrelevant now. #[serde(rename = "hifigan_rocket_vc")] - #[sqlx(rename = "hifigan_rocket_vc")] + #[cfg_attr(feature = "database", sqlx(rename = "hifigan_rocket_vc"))] HifiGanRocketVc, } diff --git a/crates/schema/public/enums/src/macros/impl_mysql_enum_coders.rs b/crates/schema/public/enums/src/macros/impl_mysql_enum_coders.rs index e55dede0ed..6f143ad6d4 100644 --- a/crates/schema/public/enums/src/macros/impl_mysql_enum_coders.rs +++ b/crates/schema/public/enums/src/macros/impl_mysql_enum_coders.rs @@ -1,3 +1,4 @@ +#[cfg(feature = "database")] /// This overt approach is being taken because of the following error: /// /// `MySqlDatabaseError { code: Some("HY000"), number: 1210, message: "Incorrect arguments to mysqld_stmt_execute" }` @@ -59,3 +60,9 @@ macro_rules! impl_mysql_enum_coders { } } +#[cfg(not(feature = "database"))] +macro_rules! impl_mysql_enum_coders { + ($t:ident) => { + // Intentionally empty + } +} diff --git a/crates/schema/public/enums/src/macros/impl_mysql_from_row.rs b/crates/schema/public/enums/src/macros/impl_mysql_from_row.rs index 91380fbf65..c2d0ebf6c4 100644 --- a/crates/schema/public/enums/src/macros/impl_mysql_from_row.rs +++ b/crates/schema/public/enums/src/macros/impl_mysql_from_row.rs @@ -1,4 +1,5 @@ +#[cfg(feature = "database")] /// Implement `MySqlFromRow` on a type. macro_rules! impl_mysql_from_row { ($t:ident) => { @@ -61,3 +62,10 @@ macro_rules! impl_mysql_from_row { } } + +#[cfg(not(feature = "database"))] +macro_rules! impl_mysql_from_row { + ($t:ident) => { + // Intentionally empty + } +} diff --git a/crates/schema/public/enums/src/macros/impl_sqlite_enum_coders.rs b/crates/schema/public/enums/src/macros/impl_sqlite_enum_coders.rs index 5264346622..577f89bd6b 100644 --- a/crates/schema/public/enums/src/macros/impl_sqlite_enum_coders.rs +++ b/crates/schema/public/enums/src/macros/impl_sqlite_enum_coders.rs @@ -1,3 +1,4 @@ +#[cfg(feature = "database")] /// This overt approach is being taken because of the following error: /// /// `MySqlDatabaseError { code: Some("HY000"), number: 1210, message: "Incorrect arguments to mysqld_stmt_execute" }` @@ -47,3 +48,9 @@ macro_rules! impl_sqlite_enum_coders { } } +#[cfg(not(feature = "database"))] +macro_rules! impl_sqlite_enum_coders { + ($t:ident) => { + // Intentionally empty + } +} diff --git a/crates/schema/public/enums/src/traits/mod.rs b/crates/schema/public/enums/src/traits/mod.rs index ceb15f8868..61a6c0a0c6 100644 --- a/crates/schema/public/enums/src/traits/mod.rs +++ b/crates/schema/public/enums/src/traits/mod.rs @@ -1 +1,2 @@ +#[cfg(feature = "database")] pub mod mysql_from_row; \ No newline at end of file diff --git a/crates/schema/public/tokens/Cargo.toml b/crates/schema/public/tokens/Cargo.toml index 5cded76152..f6594616c0 100644 --- a/crates/schema/public/tokens/Cargo.toml +++ b/crates/schema/public/tokens/Cargo.toml @@ -8,32 +8,36 @@ authors = [ ] publish = false +[package.metadata.cargo-udeps.ignore] +normal = ["workspace-build-acceleration"] + [lib] name = "tokens" path = "src/lib.rs" -[package.metadata.cargo-udeps.ignore] -normal = ["workspace-build-acceleration"] +[features] +default = [] +database = ["sqlx", "sqlx-core", "sqlx-mysql"] [dependencies] # Workspace hack (faster compile times) -workspace-build-acceleration = { workspace = true } +workspace-build-acceleration.workspace = true # Internal # (none) # Serialization -serde = { workspace = true } -serde_derive = { workspace = true } +serde.workspace = true +serde_derive.workspace = true # Random rand = { version = "0.8.5", features = ["std_rng"] } -once_cell = { workspace = true } +once_cell.workspace = true -sqlx = { version = "0.7.2", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] } -sqlx-core = { version = "0.7.2" } -sqlx-mysql= { version = "0.7.2" } +sqlx = { version = "0.7.2", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ], optional = true } +sqlx-core = { version = "0.7.2", optional = true } +sqlx-mysql= { version = "0.7.2", optional = true } utoipa = { version = "4", features = ["chrono","actix_extras"] } @@ -43,4 +47,4 @@ utoipa = { version = "4", features = ["chrono","actix_extras"] } strum = { version = "0.26", features = ["derive"] } # Test serialization -serde_json = { workspace = true } +serde_json.workspace = true diff --git a/crates/schema/public/tokens/src/macros/impl_mysql_token_from_row.rs b/crates/schema/public/tokens/src/macros/impl_mysql_token_from_row.rs index a2d0aecdb8..b1f61a43a2 100644 --- a/crates/schema/public/tokens/src/macros/impl_mysql_token_from_row.rs +++ b/crates/schema/public/tokens/src/macros/impl_mysql_token_from_row.rs @@ -1,4 +1,5 @@ +#[cfg(feature = "database")] /// Implement `MySqlTokenFromRow` on a type. macro_rules! impl_mysql_token_from_row { ($t:ident) => { @@ -45,3 +46,10 @@ macro_rules! impl_mysql_token_from_row { } } + +#[cfg(not(feature = "database"))] +macro_rules! impl_mysql_token_from_row { + ($t:ident) => { + // Intentionally empty + } +} diff --git a/crates/schema/public/tokens/src/tokens/anonymous_visitor_tracking.rs b/crates/schema/public/tokens/src/tokens/anonymous_visitor_tracking.rs index 5a4487dc27..aa5b5a2c88 100644 --- a/crates/schema/public/tokens/src/tokens/anonymous_visitor_tracking.rs +++ b/crates/schema/public/tokens/src/tokens/anonymous_visitor_tracking.rs @@ -8,8 +8,9 @@ use crate::prefixes::TokenPrefix; /// A rare instance that is *not* a primary key. /// These are generated as cookies to track users for a better logged out experience and for analytics. /// We use these as indices into several columns (ML result types, uploads, etc.) -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, Default)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, Default))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, Default))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct AnonymousVisitorTrackingToken(pub String); impl_crockford_generator!(AnonymousVisitorTrackingToken, 32usize, TokenPrefix::AnonymousVisitorTracking, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/api_tokens_external.rs b/crates/schema/public/tokens/src/tokens/api_tokens_external.rs index 2d8c033870..9e7ff64df0 100644 --- a/crates/schema/public/tokens/src/tokens/api_tokens_external.rs +++ b/crates/schema/public/tokens/src/tokens/api_tokens_external.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// External-facing key for the `api_tokens` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ApiTokenExternal(pub String); impl_string_token!(ApiTokenExternal); diff --git a/crates/schema/public/tokens/src/tokens/api_tokens_internal.rs b/crates/schema/public/tokens/src/tokens/api_tokens_internal.rs index b48f9a0f99..b2da1bc5d3 100644 --- a/crates/schema/public/tokens/src/tokens/api_tokens_internal.rs +++ b/crates/schema/public/tokens/src/tokens/api_tokens_internal.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// Internal token for the `api_tokens` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ApiTokenInternal(pub String); impl_string_token!(ApiTokenInternal); diff --git a/crates/schema/public/tokens/src/tokens/audit_logs.rs b/crates/schema/public/tokens/src/tokens/audit_logs.rs index 02c072c2bc..771cad0915 100644 --- a/crates/schema/public/tokens/src/tokens/audit_logs.rs +++ b/crates/schema/public/tokens/src/tokens/audit_logs.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// The primary key for Audit Logs. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct AuditLogToken(pub String); impl_string_token!(AuditLogToken); diff --git a/crates/schema/public/tokens/src/tokens/batch_generations.rs b/crates/schema/public/tokens/src/tokens/batch_generations.rs index bbe021f672..d4f2ef869e 100644 --- a/crates/schema/public/tokens/src/tokens/batch_generations.rs +++ b/crates/schema/public/tokens/src/tokens/batch_generations.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for Audit Logs. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct BatchGenerationToken(pub String); impl_crockford_generator!(BatchGenerationToken, 32usize, TokenPrefix::BatchGeneration, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/beta_keys.rs b/crates/schema/public/tokens/src/tokens/beta_keys.rs index c9d8078b0a..fe7f39e0cb 100644 --- a/crates/schema/public/tokens/src/tokens/beta_keys.rs +++ b/crates/schema/public/tokens/src/tokens/beta_keys.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for Audit Logs. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct BetaKeyToken(pub String); impl_crockford_generator!(BetaKeyToken, 32usize, TokenPrefix::BetaKey, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/browser_session_logs.rs b/crates/schema/public/tokens/src/tokens/browser_session_logs.rs index 87e9d31fd8..b964401d73 100644 --- a/crates/schema/public/tokens/src/tokens/browser_session_logs.rs +++ b/crates/schema/public/tokens/src/tokens/browser_session_logs.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for Audit Logs. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct BrowserSessionLogToken(pub String); impl_crockford_generator!(BrowserSessionLogToken, 32usize, TokenPrefix::BrowserSessionLog, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/comments.rs b/crates/schema/public/tokens/src/tokens/comments.rs index 8adf15757b..8a58798f2e 100644 --- a/crates/schema/public/tokens/src/tokens/comments.rs +++ b/crates/schema/public/tokens/src/tokens/comments.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for Audit Logs. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct CommentToken(pub String); impl_string_token!(CommentToken); diff --git a/crates/schema/public/tokens/src/tokens/email_sender_job_token.rs b/crates/schema/public/tokens/src/tokens/email_sender_job_token.rs index 359c3c2239..8e0314ab6e 100644 --- a/crates/schema/public/tokens/src/tokens/email_sender_job_token.rs +++ b/crates/schema/public/tokens/src/tokens/email_sender_job_token.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// The primary key for email_sender_jobs -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct EmailSenderJobToken(pub String); impl_string_token!(EmailSenderJobToken); diff --git a/crates/schema/public/tokens/src/tokens/firehose_entries.rs b/crates/schema/public/tokens/src/tokens/firehose_entries.rs index 02a372ea01..bd94a33b9d 100644 --- a/crates/schema/public/tokens/src/tokens/firehose_entries.rs +++ b/crates/schema/public/tokens/src/tokens/firehose_entries.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `firehose_entries` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct FirehoseEntryToken(pub String); impl_string_token!(FirehoseEntryToken); diff --git a/crates/schema/public/tokens/src/tokens/generic_download_jobs.rs b/crates/schema/public/tokens/src/tokens/generic_download_jobs.rs index f1b8124fc3..5cfe4a3103 100644 --- a/crates/schema/public/tokens/src/tokens/generic_download_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/generic_download_jobs.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// The primary key for "generic" inference jobs. -#[derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct DownloadJobToken(String); impl_string_token!(DownloadJobToken); diff --git a/crates/schema/public/tokens/src/tokens/generic_inference_jobs.rs b/crates/schema/public/tokens/src/tokens/generic_inference_jobs.rs index e27e412683..6ddc31fff5 100644 --- a/crates/schema/public/tokens/src/tokens/generic_inference_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/generic_inference_jobs.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for "generic" inference jobs. -#[derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize, Default, ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize, Default, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize, Default, ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct InferenceJobToken(String); impl_crockford_generator!(InferenceJobToken, 32usize, TokenPrefix::InferenceJob, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/google_sign_in_accounts.rs b/crates/schema/public/tokens/src/tokens/google_sign_in_accounts.rs index 20162d2353..f26ead9f63 100644 --- a/crates/schema/public/tokens/src/tokens/google_sign_in_accounts.rs +++ b/crates/schema/public/tokens/src/tokens/google_sign_in_accounts.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for google_sign_in_accounts -#[derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize, Default, ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize, Default, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize, Default, ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct GoogleSignInAccountToken(String); impl_crockford_generator!(GoogleSignInAccountToken, 32usize, TokenPrefix::GoogleSignInAccount, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/media_files.rs b/crates/schema/public/tokens/src/tokens/media_files.rs index 41e4e7bc03..90bcd58abe 100644 --- a/crates/schema/public/tokens/src/tokens/media_files.rs +++ b/crates/schema/public/tokens/src/tokens/media_files.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for Media Files -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct MediaFileToken(pub String); impl_string_token!(MediaFileToken); diff --git a/crates/schema/public/tokens/src/tokens/media_uploads.rs b/crates/schema/public/tokens/src/tokens/media_uploads.rs index e0020620aa..a2d4345b3c 100644 --- a/crates/schema/public/tokens/src/tokens/media_uploads.rs +++ b/crates/schema/public/tokens/src/tokens/media_uploads.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// The primary key for user media uploads (images, video, etc.) -#[derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct MediaUploadToken(pub String); impl_string_token!(MediaUploadToken); diff --git a/crates/schema/public/tokens/src/tokens/model_categories.rs b/crates/schema/public/tokens/src/tokens/model_categories.rs index 0ebe0c14fa..219072ebdf 100644 --- a/crates/schema/public/tokens/src/tokens/model_categories.rs +++ b/crates/schema/public/tokens/src/tokens/model_categories.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// The primary key for model categories. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ModelCategoryToken(pub String); impl_string_token!(ModelCategoryToken); diff --git a/crates/schema/public/tokens/src/tokens/model_weights.rs b/crates/schema/public/tokens/src/tokens/model_weights.rs index 427ac7d838..055b04af4e 100644 --- a/crates/schema/public/tokens/src/tokens/model_weights.rs +++ b/crates/schema/public/tokens/src/tokens/model_weights.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for the "model_weights" table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize,ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize,ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize,ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ModelWeightToken(pub String); impl_crockford_generator!(ModelWeightToken, 32usize, TokenPrefix::ModelWeight, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/password_reset.rs b/crates/schema/public/tokens/src/tokens/password_reset.rs index fb84250ec1..3d52cf3b95 100644 --- a/crates/schema/public/tokens/src/tokens/password_reset.rs +++ b/crates/schema/public/tokens/src/tokens/password_reset.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// The primary key for `password_reset`s -#[derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct PasswordResetToken(pub String); impl_string_token!(PasswordResetToken); diff --git a/crates/schema/public/tokens/src/tokens/prompts.rs b/crates/schema/public/tokens/src/tokens/prompts.rs index d5e7f87b88..ad8ee1a30c 100644 --- a/crates/schema/public/tokens/src/tokens/prompts.rs +++ b/crates/schema/public/tokens/src/tokens/prompts.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for Prompts -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct PromptToken(pub String); impl_crockford_generator!(PromptToken, 32usize, TokenPrefix::Prompt, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/sqlite/news_stories.rs b/crates/schema/public/tokens/src/tokens/sqlite/news_stories.rs index 076660f930..2b71654013 100644 --- a/crates/schema/public/tokens/src/tokens/sqlite/news_stories.rs +++ b/crates/schema/public/tokens/src/tokens/sqlite/news_stories.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// The primary key for news stories (Sqlite) -#[derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct NewsStoryToken(pub String); impl_string_token!(NewsStoryToken); diff --git a/crates/schema/public/tokens/src/tokens/sqlite/tts_render_tasks.rs b/crates/schema/public/tokens/src/tokens/sqlite/tts_render_tasks.rs index bdc9e9235f..17e4e53c35 100644 --- a/crates/schema/public/tokens/src/tokens/sqlite/tts_render_tasks.rs +++ b/crates/schema/public/tokens/src/tokens/sqlite/tts_render_tasks.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// The primary key for TTS render tasks (Sqlite / AiChatBotSidecar) -#[derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TtsRenderTaskToken(pub String); impl_string_token!(TtsRenderTaskToken); diff --git a/crates/schema/public/tokens/src/tokens/tags.rs b/crates/schema/public/tokens/src/tokens/tags.rs index aa3bb1acc7..cc9aa2f30a 100644 --- a/crates/schema/public/tokens/src/tokens/tags.rs +++ b/crates/schema/public/tokens/src/tokens/tags.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for Prompts -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TagToken(pub String); impl_crockford_generator!(TagToken, 32usize, TokenPrefix::Tag, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/tts_inference_jobs.rs b/crates/schema/public/tokens/src/tokens/tts_inference_jobs.rs index d3ab302952..7a3093c1b4 100644 --- a/crates/schema/public/tokens/src/tokens/tts_inference_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/tts_inference_jobs.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `tts_inference_jobs` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TtsInferenceJobToken(pub String); impl_string_token!(TtsInferenceJobToken); diff --git a/crates/schema/public/tokens/src/tokens/tts_model_upload_jobs.rs b/crates/schema/public/tokens/src/tokens/tts_model_upload_jobs.rs index 881de6e282..ce71412eb5 100644 --- a/crates/schema/public/tokens/src/tokens/tts_model_upload_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/tts_model_upload_jobs.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `tts_model_upload_jobs` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TtsModelUploadJobToken(pub String); impl_string_token!(TtsModelUploadJobToken); diff --git a/crates/schema/public/tokens/src/tokens/tts_models.rs b/crates/schema/public/tokens/src/tokens/tts_models.rs index b93c7fb97f..a68f892e9a 100644 --- a/crates/schema/public/tokens/src/tokens/tts_models.rs +++ b/crates/schema/public/tokens/src/tokens/tts_models.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// The primary key for TTS models. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TtsModelToken(pub String); impl_string_token!(TtsModelToken); diff --git a/crates/schema/public/tokens/src/tokens/tts_results.rs b/crates/schema/public/tokens/src/tokens/tts_results.rs index a6a6a3da30..e31541cc5a 100644 --- a/crates/schema/public/tokens/src/tokens/tts_results.rs +++ b/crates/schema/public/tokens/src/tokens/tts_results.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `tts_results` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TtsResultToken(pub String); impl_string_token!(TtsResultToken); diff --git a/crates/schema/public/tokens/src/tokens/twitch_event_rule.rs b/crates/schema/public/tokens/src/tokens/twitch_event_rule.rs index d6a1000215..e119acab27 100644 --- a/crates/schema/public/tokens/src/tokens/twitch_event_rule.rs +++ b/crates/schema/public/tokens/src/tokens/twitch_event_rule.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// primary key token for the `twitch_event_rules` table (this is deprecated) -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TwitchEventRuleToken(pub String); impl_string_token!(TwitchEventRuleToken); diff --git a/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_grouping.rs b/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_grouping.rs index 375a3032fd..807a4eb456 100644 --- a/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_grouping.rs +++ b/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_grouping.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// "grouping token" for the `twitch_oauth_tokens` table (this is deprecated) -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TwitchOauthGroupingToken(pub String); impl_string_token!(TwitchOauthGroupingToken); diff --git a/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_internal.rs b/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_internal.rs index 3ec571fbfe..58164ad236 100644 --- a/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_internal.rs +++ b/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_internal.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// "internal token" for the `twitch_oauth_tokens` table (this is deprecated) -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TwitchOauthInternalToken(pub String); impl_string_token!(TwitchOauthInternalToken); diff --git a/crates/schema/public/tokens/src/tokens/user_bookmarks.rs b/crates/schema/public/tokens/src/tokens/user_bookmarks.rs index 97c498f96f..e748e11aa2 100644 --- a/crates/schema/public/tokens/src/tokens/user_bookmarks.rs +++ b/crates/schema/public/tokens/src/tokens/user_bookmarks.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for Audit Logs. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UserBookmarkToken(pub String); impl_string_token!(UserBookmarkToken); diff --git a/crates/schema/public/tokens/src/tokens/user_sessions.rs b/crates/schema/public/tokens/src/tokens/user_sessions.rs index 3413cbdc0e..ae15592a08 100644 --- a/crates/schema/public/tokens/src/tokens/user_sessions.rs +++ b/crates/schema/public/tokens/src/tokens/user_sessions.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// Primary key for the `user_sessions` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UserSessionToken(pub String); impl_string_token!(UserSessionToken); diff --git a/crates/schema/public/tokens/src/tokens/user_subscriptions.rs b/crates/schema/public/tokens/src/tokens/user_subscriptions.rs index 1adb33fd11..d2a6244043 100644 --- a/crates/schema/public/tokens/src/tokens/user_subscriptions.rs +++ b/crates/schema/public/tokens/src/tokens/user_subscriptions.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `user_subscriptions` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UserSubscriptionToken(pub String); impl_string_token!(UserSubscriptionToken); diff --git a/crates/schema/public/tokens/src/tokens/users.rs b/crates/schema/public/tokens/src/tokens/users.rs index 678de78534..e14049d700 100644 --- a/crates/schema/public/tokens/src/tokens/users.rs +++ b/crates/schema/public/tokens/src/tokens/users.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for users. -#[derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize, Default,ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize, Default,ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize, Default,ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UserToken(pub String); impl_mysql_token_from_row!(UserToken); diff --git a/crates/schema/public/tokens/src/tokens/vocoder_models.rs b/crates/schema/public/tokens/src/tokens/vocoder_models.rs index 4fa7cb62ef..9daeec1762 100644 --- a/crates/schema/public/tokens/src/tokens/vocoder_models.rs +++ b/crates/schema/public/tokens/src/tokens/vocoder_models.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// The primary key for the `vocoder_models` table -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct VocoderModelToken(pub String); impl_string_token!(VocoderModelToken); diff --git a/crates/schema/public/tokens/src/tokens/voice_clone_requests.rs b/crates/schema/public/tokens/src/tokens/voice_clone_requests.rs index d0ac08e0db..cf1559296e 100644 --- a/crates/schema/public/tokens/src/tokens/voice_clone_requests.rs +++ b/crates/schema/public/tokens/src/tokens/voice_clone_requests.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `voice_clone_requests` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct VoiceCloneRequestToken(pub String); impl_string_token!(VoiceCloneRequestToken); diff --git a/crates/schema/public/tokens/src/tokens/voice_conversion_models.rs b/crates/schema/public/tokens/src/tokens/voice_conversion_models.rs index 2194e3b9f7..0dd74c471d 100644 --- a/crates/schema/public/tokens/src/tokens/voice_conversion_models.rs +++ b/crates/schema/public/tokens/src/tokens/voice_conversion_models.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// The primary key for "generic" inference jobs. -#[derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct VoiceConversionModelToken(pub String); impl_string_token!(VoiceConversionModelToken); diff --git a/crates/schema/public/tokens/src/tokens/voice_conversion_results.rs b/crates/schema/public/tokens/src/tokens/voice_conversion_results.rs index 25fd3b98b1..1c05e2721d 100644 --- a/crates/schema/public/tokens/src/tokens/voice_conversion_results.rs +++ b/crates/schema/public/tokens/src/tokens/voice_conversion_results.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// The primary key for model categories. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct VoiceConversionResultToken(pub String); impl_string_token!(VoiceConversionResultToken); diff --git a/crates/schema/public/tokens/src/tokens/w2l_inference_jobs.rs b/crates/schema/public/tokens/src/tokens/w2l_inference_jobs.rs index 4d058f0ea4..394e50761c 100644 --- a/crates/schema/public/tokens/src/tokens/w2l_inference_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/w2l_inference_jobs.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `w2l_inference_jobs` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct W2lInferenceJobToken(pub String); impl_string_token!(W2lInferenceJobToken); diff --git a/crates/schema/public/tokens/src/tokens/w2l_results.rs b/crates/schema/public/tokens/src/tokens/w2l_results.rs index f59429fd4c..a66013f2fb 100644 --- a/crates/schema/public/tokens/src/tokens/w2l_results.rs +++ b/crates/schema/public/tokens/src/tokens/w2l_results.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `w2l_results` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct W2lResultToken(pub String); impl_string_token!(W2lResultToken); diff --git a/crates/schema/public/tokens/src/tokens/w2l_template_upload_jobs.rs b/crates/schema/public/tokens/src/tokens/w2l_template_upload_jobs.rs index 7028c380b3..81744b3183 100644 --- a/crates/schema/public/tokens/src/tokens/w2l_template_upload_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/w2l_template_upload_jobs.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `w2l_template_upload_jobs` table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct W2lTemplateUploadJobToken(pub String); impl_string_token!(W2lTemplateUploadJobToken); diff --git a/crates/schema/public/tokens/src/tokens/w2l_templates.rs b/crates/schema/public/tokens/src/tokens/w2l_templates.rs index e724561e1f..92949caea5 100644 --- a/crates/schema/public/tokens/src/tokens/w2l_templates.rs +++ b/crates/schema/public/tokens/src/tokens/w2l_templates.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::LegacyTokenPrefix; /// The primary key for W2L templates. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct W2lTemplateToken(pub String); impl_string_token!(W2lTemplateToken); diff --git a/crates/schema/public/tokens/src/tokens/weight_uploads.rs b/crates/schema/public/tokens/src/tokens/weight_uploads.rs deleted file mode 100644 index cd7c046fc8..0000000000 --- a/crates/schema/public/tokens/src/tokens/weight_uploads.rs +++ /dev/null @@ -1,14 +0,0 @@ -use std::fmt::Debug; - -use serde::Deserialize; -use serde::Serialize; - -use crate::prefixes::TokenPrefix; - -/// The primary key for user weight uploads -#[derive(Clone, PartialEq, Eq, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] -pub struct WeightUploadToken(pub String); - -impl_string_token!(WeightUploadToken); -impl_crockford_generator!(WeightUploadToken, 32usize, TokenPrefix::WeightUpload, CrockfordLower); \ No newline at end of file diff --git a/crates/schema/public/tokens/src/tokens/zs_voice_dataset_samples.rs b/crates/schema/public/tokens/src/tokens/zs_voice_dataset_samples.rs index 099bb848d1..785353c8bf 100644 --- a/crates/schema/public/tokens/src/tokens/zs_voice_dataset_samples.rs +++ b/crates/schema/public/tokens/src/tokens/zs_voice_dataset_samples.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// The primary key for the "zs_voice_dataset_samples" table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ZsVoiceDatasetSampleToken(pub String); impl_string_token!(ZsVoiceDatasetSampleToken); diff --git a/crates/schema/public/tokens/src/tokens/zs_voice_datasets.rs b/crates/schema/public/tokens/src/tokens/zs_voice_datasets.rs index 4234fd61fc..b68b0a4cbf 100644 --- a/crates/schema/public/tokens/src/tokens/zs_voice_datasets.rs +++ b/crates/schema/public/tokens/src/tokens/zs_voice_datasets.rs @@ -7,8 +7,9 @@ use utoipa::ToSchema; use crate::prefixes::TokenPrefix; /// The primary key for the "zs_voice_datasets" table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize, ToSchema))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ZsVoiceDatasetToken(pub String); impl_string_token!(ZsVoiceDatasetToken); diff --git a/crates/schema/public/tokens/src/tokens/zs_voices.rs b/crates/schema/public/tokens/src/tokens/zs_voices.rs index 2610c00aa5..d27547c84e 100644 --- a/crates/schema/public/tokens/src/tokens/zs_voices.rs +++ b/crates/schema/public/tokens/src/tokens/zs_voices.rs @@ -6,8 +6,9 @@ use serde::Serialize; use crate::prefixes::TokenPrefix; /// The primary key for the "zs_voices" table. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize)] -#[sqlx(transparent)] +#[cfg_attr(not(feature = "database"), derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, sqlx::Type, Debug, Serialize, Deserialize))] +#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ZsVoiceToken(pub String); impl_string_token!(ZsVoiceToken); diff --git a/crates/schema/public/tokens/src/traits/mod.rs b/crates/schema/public/tokens/src/traits/mod.rs index a77eacc82c..c16e33fde8 100644 --- a/crates/schema/public/tokens/src/traits/mod.rs +++ b/crates/schema/public/tokens/src/traits/mod.rs @@ -1 +1,2 @@ +#[cfg(feature = "database")] pub mod mysql_token_from_row; \ No newline at end of file