use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AssistantSearchRequest {
#[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
pub metadata: Option<serde_json::Value>,
#[serde(rename = "graph_id", skip_serializing_if = "Option::is_none")]
pub graph_id: Option<String>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "limit", skip_serializing_if = "Option::is_none")]
pub limit: Option<i32>,
#[serde(rename = "offset", skip_serializing_if = "Option::is_none")]
pub offset: Option<i32>,
#[serde(rename = "sort_by", skip_serializing_if = "Option::is_none")]
pub sort_by: Option<SortBy>,
#[serde(rename = "sort_order", skip_serializing_if = "Option::is_none")]
pub sort_order: Option<SortOrder>,
#[serde(rename = "select", skip_serializing_if = "Option::is_none")]
pub select: Option<Vec<Select>>,
}
impl AssistantSearchRequest {
pub fn new() -> AssistantSearchRequest {
AssistantSearchRequest {
metadata: None,
graph_id: None,
name: None,
limit: None,
offset: None,
sort_by: None,
sort_order: None,
select: None,
}
}
}
#[derive(
Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum SortBy {
#[serde(rename = "assistant_id")]
#[default]
AssistantId,
#[serde(rename = "created_at")]
CreatedAt,
#[serde(rename = "updated_at")]
UpdatedAt,
#[serde(rename = "name")]
Name,
#[serde(rename = "graph_id")]
GraphId,
}
#[derive(
Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum SortOrder {
#[serde(rename = "asc")]
#[default]
Asc,
#[serde(rename = "desc")]
Desc,
}
#[derive(
Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum Select {
#[serde(rename = "assistant_id")]
#[default]
AssistantId,
#[serde(rename = "graph_id")]
GraphId,
#[serde(rename = "name")]
Name,
#[serde(rename = "description")]
Description,
#[serde(rename = "config")]
Config,
#[serde(rename = "context")]
Context,
#[serde(rename = "created_at")]
CreatedAt,
#[serde(rename = "updated_at")]
UpdatedAt,
#[serde(rename = "metadata")]
Metadata,
#[serde(rename = "version")]
Version,
}