79 lines · 3.0 KB · Rust
RawDownload
use super::object::{CloudObjectEventEntrypoint, ObjectMetadata};use super::object_permissions::ObjectPermissions;use crate::schema; #[derive(cynic::QueryFragment, Debug, Clone)]pub struct GenericStringObject {    pub format: GenericStringObjectFormat,    pub metadata: ObjectMetadata,    pub permissions: ObjectPermissions,    pub serialized_model: String,} #[derive(cynic::Enum, Clone, Copy, Debug)]pub enum GenericStringObjectFormat {    #[cynic(rename = "JsonEnvVarCollection")]    JsonEnvVarCollection,    #[cynic(rename = "JsonPreference")]    JsonPreference,    #[cynic(rename = "JsonWorkflowEnum")]    JsonWorkflowEnum,    #[cynic(rename = "JsonAIFact")]    JsonAIFact,    #[cynic(rename = "JsonMCPServer")]    JsonMCPServer,    #[cynic(rename = "JsonAIExecutionProfile")]    JsonAIExecutionProfile,    #[cynic(rename = "JsonTemplatableMCPServer")]    JsonTemplatableMCPServer,    #[cynic(rename = "JsonCloudEnvironment")]    JsonCloudEnvironment,    #[cynic(rename = "JsonScheduledAmbientAgent")]    JsonScheduledAmbientAgent,    /// Fallback for GSO formats this client build does not recognize (for example    /// server-only formats such as `JsonRunner`). Without this, decoding a Drive    /// sync response that contains an unknown format fails for the entire response.    /// This variant only arises when deserializing; we never serialize it.    #[cynic(fallback)]    Unknown,} #[derive(cynic::InputObject, Debug)]pub struct GenericStringObjectUniqueKey {    pub key: String,    pub unique_per: UniquePer,} #[derive(cynic::Enum, Clone, Copy, Debug)]pub enum UniquePer {    #[cynic(rename = "User")]    User,} impl std::fmt::Display for GenericStringObjectFormat {    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {        let s = match self {            GenericStringObjectFormat::JsonEnvVarCollection => "JsonEnvVarCollection",            GenericStringObjectFormat::JsonPreference => "JsonPreference",            GenericStringObjectFormat::JsonWorkflowEnum => "JsonWorkflowEnum",            GenericStringObjectFormat::JsonAIFact => "JsonAIFact",            GenericStringObjectFormat::JsonMCPServer => "JsonMCPServer",            GenericStringObjectFormat::JsonAIExecutionProfile => "JsonAIExecutionProfile",            GenericStringObjectFormat::JsonTemplatableMCPServer => "JsonTemplatableMCPServer",            GenericStringObjectFormat::JsonCloudEnvironment => "JsonCloudEnvironment",            GenericStringObjectFormat::JsonScheduledAmbientAgent => "JsonScheduledAmbientAgent",            GenericStringObjectFormat::Unknown => "Unknown",        };        write!(f, "{s}")    }} #[derive(cynic::InputObject, Debug)]pub struct GenericStringObjectInput {    pub client_id: cynic::Id,    pub entrypoint: CloudObjectEventEntrypoint,    pub format: GenericStringObjectFormat,    pub initial_folder_id: Option<cynic::Id>,    pub serialized_model: String,    pub uniqueness_key: Option<GenericStringObjectUniqueKey>,}