openai_api_rs/v1/
file.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Deserialize, Serialize)]
4pub struct FileData {
5    pub id: String,
6    pub object: String,
7    pub bytes: i32,
8    pub created_at: i64,
9    pub filename: String,
10    pub purpose: String,
11}
12
13#[derive(Debug, Deserialize, Serialize)]
14pub struct FileListResponse {
15    pub object: String,
16    pub data: Vec<FileData>,
17}
18
19#[derive(Debug, Serialize)]
20pub struct FileUploadRequest {
21    pub file: String,
22    pub purpose: String,
23}
24
25impl FileUploadRequest {
26    pub fn new(file: String, purpose: String) -> Self {
27        Self { file, purpose }
28    }
29}
30
31#[derive(Debug, Deserialize, Serialize)]
32pub struct FileUploadResponse {
33    pub id: String,
34    pub object: String,
35    pub bytes: i32,
36    pub created_at: i64,
37    pub filename: String,
38    pub purpose: String,
39}
40
41#[derive(Debug, Serialize)]
42pub struct FileDeleteRequest {
43    pub file_id: String,
44}
45
46impl FileDeleteRequest {
47    pub fn new(file_id: String) -> Self {
48        Self { file_id }
49    }
50}
51
52#[derive(Debug, Deserialize, Serialize)]
53pub struct FileDeleteResponse {
54    pub id: String,
55    pub object: String,
56    pub delete: bool,
57}
58
59#[derive(Debug, Deserialize, Serialize)]
60pub struct FileRetrieveResponse {
61    pub id: String,
62    pub object: String,
63    pub bytes: i32,
64    pub created_at: i64,
65    pub filename: String,
66    pub purpose: String,
67}