async_openai_alt/types/
projects.rs1use crate::types::OpenAIError;
2use derive_builder::Builder;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq)]
7#[serde(rename_all = "lowercase")]
8pub enum ProjectStatus {
9 Active,
10 Archived,
11}
12
13#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
15pub struct Project {
16 pub id: String,
18 pub object: String,
20 pub name: String,
22 pub created_at: u32,
24 pub archived_at: Option<u32>,
26 pub status: ProjectStatus,
28}
29
30#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
32pub struct ProjectListResponse {
33 pub object: String,
34 pub data: Vec<Project>,
35 pub first_id: String,
36 pub last_id: String,
37 pub has_more: String,
38}
39
40#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Builder)]
42#[builder(name = "ProjectCreateRequestArgs")]
43#[builder(pattern = "mutable")]
44#[builder(setter(into, strip_option))]
45#[builder(derive(Debug))]
46#[builder(build_fn(error = "OpenAIError"))]
47pub struct ProjectCreateRequest {
48 pub name: String,
50}
51
52#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Builder)]
54#[builder(name = "ProjectUpdateRequestArgs")]
55#[builder(pattern = "mutable")]
56#[builder(setter(into, strip_option))]
57#[builder(derive(Debug))]
58#[builder(build_fn(error = "OpenAIError"))]
59pub struct ProjectUpdateRequest {
60 pub name: String,
62}