diff --git a/.sqlx/query-61744bbf83f7cf00348bcc21e868d9c506fec46da4a33ac50d63c6d9e00c0cec.json b/.sqlx/query-b46b0d022790f4e10f6e47126df0fdc55172bf8cda77d4e0b2afac9e6ebd1630.json similarity index 67% rename from .sqlx/query-61744bbf83f7cf00348bcc21e868d9c506fec46da4a33ac50d63c6d9e00c0cec.json rename to .sqlx/query-b46b0d022790f4e10f6e47126df0fdc55172bf8cda77d4e0b2afac9e6ebd1630.json index e814d3e25d..7fbde3b112 100644 --- a/.sqlx/query-61744bbf83f7cf00348bcc21e868d9c506fec46da4a33ac50d63c6d9e00c0cec.json +++ b/.sqlx/query-b46b0d022790f4e10f6e47126df0fdc55172bf8cda77d4e0b2afac9e6ebd1630.json @@ -1,6 +1,6 @@ { "db_name": "MySQL", - "query": "\nSELECT\n p.token as `token: tokens::tokens::prompts::PromptToken`,\n\n p.prompt_type as `prompt_type: enums::by_table::prompts::prompt_type::PromptType`,\n\n p.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n\n p.maybe_positive_prompt,\n p.maybe_negative_prompt,\n p.maybe_other_args,\n\n p.creator_ip_address,\n p.created_at\n\nFROM prompts as p\nWHERE\n p.token = ?\n ", + "query": "\nSELECT\n p.token as `token: tokens::tokens::prompts::PromptToken`,\n\n p.prompt_type as `prompt_type: enums::by_table::prompts::prompt_type::PromptType`,\n\n p.maybe_model_type as `maybe_model_type: enums::common::model_type::ModelType`,\n p.maybe_generation_provider as `maybe_generation_provider: enums::common::generation_provider::GenerationProvider`,\n\n p.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n\n p.maybe_positive_prompt,\n p.maybe_negative_prompt,\n p.maybe_other_args,\n\n p.creator_ip_address,\n p.created_at\n\nFROM prompts as p\nWHERE\n p.token = ?\n ", "describe": { "columns": [ { @@ -25,6 +25,26 @@ }, { "ordinal": 2, + "name": "maybe_model_type: enums::common::model_type::ModelType", + "type_info": { + "type": "VarString", + "flags": "BINARY", + "char_set": 224, + "max_size": 128 + } + }, + { + "ordinal": 3, + "name": "maybe_generation_provider: enums::common::generation_provider::GenerationProvider", + "type_info": { + "type": "VarString", + "flags": "BINARY", + "char_set": 224, + "max_size": 64 + } + }, + { + "ordinal": 4, "name": "maybe_creator_user_token: tokens::tokens::users::UserToken", "type_info": { "type": "VarString", @@ -34,7 +54,7 @@ } }, { - "ordinal": 3, + "ordinal": 5, "name": "maybe_positive_prompt", "type_info": { "type": "Blob", @@ -44,7 +64,7 @@ } }, { - "ordinal": 4, + "ordinal": 6, "name": "maybe_negative_prompt", "type_info": { "type": "Blob", @@ -54,7 +74,7 @@ } }, { - "ordinal": 5, + "ordinal": 7, "name": "maybe_other_args", "type_info": { "type": "Blob", @@ -64,7 +84,7 @@ } }, { - "ordinal": 6, + "ordinal": 8, "name": "creator_ip_address", "type_info": { "type": "VarString", @@ -74,7 +94,7 @@ } }, { - "ordinal": 7, + "ordinal": 9, "name": "created_at", "type_info": { "type": "Timestamp", @@ -94,9 +114,11 @@ true, true, true, + true, + true, false, false ] }, - "hash": "61744bbf83f7cf00348bcc21e868d9c506fec46da4a33ac50d63c6d9e00c0cec" + "hash": "b46b0d022790f4e10f6e47126df0fdc55172bf8cda77d4e0b2afac9e6ebd1630" } diff --git a/_sql/migrations_squashed/prompts/prompts.sql b/_sql/migrations_squashed/prompts/prompts.sql index 6fdf50265c..3ad75673cc 100644 --- a/_sql/migrations_squashed/prompts/prompts.sql +++ b/_sql/migrations_squashed/prompts/prompts.sql @@ -30,7 +30,7 @@ CREATE TABLE prompts ( maybe_model_type VARCHAR(32) DEFAULT NULL, -- What service provided the generation. - maybe_generation_provider VARCHAR(16) NOT NULL, -- TODO + maybe_generation_provider VARCHAR(16) NOT NULL, -- Whoever created the prompt maybe_creator_user_token VARCHAR(32) DEFAULT NULL, diff --git a/crates/schema/database/mysql_queries/src/queries/prompts/get_prompt.rs b/crates/schema/database/mysql_queries/src/queries/prompts/get_prompt.rs index 7782c46198..15065df55b 100644 --- a/crates/schema/database/mysql_queries/src/queries/prompts/get_prompt.rs +++ b/crates/schema/database/mysql_queries/src/queries/prompts/get_prompt.rs @@ -8,6 +8,8 @@ use chrono::{DateTime, Utc}; use sqlx::MySqlPool; use enums::by_table::prompts::prompt_type::PromptType; +use enums::common::generation_provider::GenerationProvider; +use enums::common::model_type::ModelType; use errors::AnyhowResult; use tokens::tokens::prompts::PromptToken; use tokens::tokens::users::UserToken; @@ -20,6 +22,9 @@ pub struct Prompt { pub prompt_type: PromptType, + pub maybe_model_type: Option, + pub maybe_generation_provider: Option, + pub maybe_creator_user_token: Option, pub maybe_positive_prompt: Option, @@ -39,6 +44,9 @@ pub struct PromptRaw { pub prompt_type: PromptType, + pub maybe_model_type: Option, + pub maybe_generation_provider: Option, + pub maybe_creator_user_token: Option, pub maybe_positive_prompt: Option, @@ -72,6 +80,8 @@ pub async fn get_prompt( Ok(Some(Prompt { token: record.token, prompt_type: record.prompt_type, + maybe_model_type: record.maybe_model_type, + maybe_generation_provider: record.maybe_generation_provider, maybe_creator_user_token: record.maybe_creator_user_token, maybe_positive_prompt: record.maybe_positive_prompt, maybe_negative_prompt: record.maybe_negative_prompt, @@ -96,6 +106,9 @@ SELECT p.prompt_type as `prompt_type: enums::by_table::prompts::prompt_type::PromptType`, + p.maybe_model_type as `maybe_model_type: enums::common::model_type::ModelType`, + p.maybe_generation_provider as `maybe_generation_provider: enums::common::generation_provider::GenerationProvider`, + p.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`, p.maybe_positive_prompt, diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/get_prompt_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/get_prompt_handler.rs index cb9045c5d0..3db9c2eb2b 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/get_prompt_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/get_prompt_handler.rs @@ -10,6 +10,8 @@ use log::warn; use utoipa::ToSchema; use enums::by_table::prompts::prompt_type::PromptType; +use enums::common::generation_provider::GenerationProvider; +use enums::common::model_type::ModelType; use enums::no_table::style_transfer::style_transfer_name::StyleTransferName; use mysql_queries::queries::prompts::get_prompt::get_prompt; use tokens::tokens::media_files::MediaFileToken; @@ -38,6 +40,12 @@ pub struct PromptInfo { /// Note: Prompts may or may not be compatible across systems. pub prompt_type: PromptType, + /// The type of model used + pub maybe_model_type: Option, + + /// The service provider used + pub maybe_generation_provider: Option, + /// Positive prompt (technically optional, but usually present) pub maybe_positive_prompt: Option, @@ -252,6 +260,8 @@ pub async fn get_prompt_handler( prompt: PromptInfo { token: result.token, maybe_strength, + maybe_model_type: result.maybe_model_type, + maybe_generation_provider: result.maybe_generation_provider, maybe_positive_prompt: result.maybe_positive_prompt, maybe_negative_prompt: result.maybe_negative_prompt, maybe_travel_prompt,