use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "functions.ListFunctionsRequest")]
pub struct ListFunctionsRequest {
#[serde(skip_serializing_if = "Option::is_none")]
#[schemars(extend("omitempty" = true))]
pub source: Option<ListFunctionsSource>,
}
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "functions.ListFunctionsSource")]
#[serde(rename_all = "snake_case")]
pub enum ListFunctionsSource {
All,
Mock,
Filesystem,
Objectiveai,
}
impl ListFunctionsSource {
pub fn as_str(&self) -> &str {
match self {
ListFunctionsSource::All => "all",
ListFunctionsSource::Mock => "mock",
ListFunctionsSource::Filesystem => "filesystem",
ListFunctionsSource::Objectiveai => "objectiveai",
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "functions.ListFunctionProfilePairsRequest")]
pub struct ListFunctionProfilePairsRequest {
#[serde(skip_serializing_if = "Option::is_none")]
#[schemars(extend("omitempty" = true))]
pub source: Option<ListFunctionProfilePairsSource>,
}
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "functions.ListFunctionProfilePairsSource")]
#[serde(rename_all = "snake_case")]
pub enum ListFunctionProfilePairsSource {
Objectiveai,
}
pub type GetFunctionRequest = crate::RemotePathCommitOptional;
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "functions.GetFunctionProfilePairUsageRequest")]
pub struct GetFunctionProfilePairUsageRequest {
pub function: crate::RemotePathCommitOptional,
pub profile: crate::RemotePathCommitOptional,
}
impl ListFunctionProfilePairsSource {
pub fn as_str(&self) -> &str {
match self {
ListFunctionProfilePairsSource::Objectiveai => "objectiveai",
}
}
}