From f584cd103f5103fcec5eddd0e52a89111d59dcc7 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Wed, 15 May 2024 17:41:58 -0700 Subject: [PATCH] tag token --- crates/_types/tokens/src/prefixes.rs | 2 ++ crates/_types/tokens/src/tokens/mod.rs | 1 + crates/_types/tokens/src/tokens/tags.rs | 16 ++++++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 crates/_types/tokens/src/tokens/tags.rs diff --git a/crates/_types/tokens/src/prefixes.rs b/crates/_types/tokens/src/prefixes.rs index 2fc57c5c88..f671088e08 100644 --- a/crates/_types/tokens/src/prefixes.rs +++ b/crates/_types/tokens/src/prefixes.rs @@ -36,6 +36,7 @@ pub(crate) enum TokenPrefix { NewsStory, // NB: aichatbot / sqlite PasswordReset, Prompt, + Tag, TtsRenderTask, // NB: aichatbot / sqlite User, UserBookmark, @@ -105,6 +106,7 @@ impl PrefixGenerator for TokenPrefix { Self::NewsStory => "news_story_", Self::PasswordReset => "pw_reset_", Self::Prompt => "prompt_", + Self::Tag => "tag_", Self::TtsRenderTask => "tts_task_", Self::User => "user_", // NB: Previously "U:" Self::UserBookmark => "ub_", diff --git a/crates/_types/tokens/src/tokens/mod.rs b/crates/_types/tokens/src/tokens/mod.rs index d756c77bd8..9daed64a6e 100644 --- a/crates/_types/tokens/src/tokens/mod.rs +++ b/crates/_types/tokens/src/tokens/mod.rs @@ -38,3 +38,4 @@ pub mod w2l_templates; pub mod zs_voice_dataset_samples; pub mod zs_voice_datasets; pub mod zs_voices; +mod tags; diff --git a/crates/_types/tokens/src/tokens/tags.rs b/crates/_types/tokens/src/tokens/tags.rs new file mode 100644 index 0000000000..aa3bb1acc7 --- /dev/null +++ b/crates/_types/tokens/src/tokens/tags.rs @@ -0,0 +1,16 @@ +use std::fmt::Debug; + +use serde::Deserialize; +use serde::Serialize; +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)] +pub struct TagToken(pub String); + +impl_crockford_generator!(TagToken, 32usize, TokenPrefix::Tag, CrockfordLower); +impl_mysql_token_from_row!(TagToken); +impl_string_token!(TagToken);