Skip to main content

outfox_openai/spec/admin/groups/
api.rs

1use derive_builder::Builder;
2use serde::{Deserialize, Serialize};
3
4use crate::error::OpenAIError;
5
6/// Sort order for listing groups.
7#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
8#[serde(rename_all = "lowercase")]
9pub enum ListGroupsOrder {
10    /// Ascending order
11    Asc,
12    /// Descending order
13    Desc,
14}
15
16/// Query parameters for listing groups.
17#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
18#[builder(name = "ListGroupsQueryArgs")]
19#[builder(pattern = "mutable")]
20#[builder(setter(into, strip_option), default)]
21#[builder(derive(Debug))]
22#[builder(build_fn(error = "OpenAIError"))]
23pub struct ListGroupsQuery {
24    /// A limit on the number of groups to be returned. Limit can range between 0 and 1000, and the
25    /// default is 100.
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub limit: Option<u32>,
28    /// A cursor for use in pagination. `after` is a group ID that defines your place in the list.
29    #[serde(skip_serializing_if = "Option::is_none")]
30    pub after: Option<String>,
31    /// Specifies the sort order of the returned groups.
32    #[serde(skip_serializing_if = "Option::is_none")]
33    pub order: Option<ListGroupsOrder>,
34}