linger_openai_sdk/
models.rs1use crate::RequestId;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
7#[non_exhaustive]
8pub struct Model {
9 pub id: String,
12 pub object: String,
15 pub created: u64,
18 pub owned_by: String,
21 #[serde(skip)]
24 request_id: Option<RequestId>,
25}
26
27impl Model {
28 pub(crate) fn with_request_id(mut self, request_id: Option<RequestId>) -> Self {
29 self.request_id = request_id;
30 self
31 }
32
33 pub fn request_id(&self) -> Option<&RequestId> {
36 self.request_id.as_ref()
37 }
38}
39
40#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
43#[non_exhaustive]
44pub struct ModelDeletion {
45 pub id: String,
48 pub object: String,
51 pub deleted: bool,
54 #[serde(skip)]
57 request_id: Option<RequestId>,
58}
59
60impl ModelDeletion {
61 pub(crate) fn with_request_id(mut self, request_id: Option<RequestId>) -> Self {
62 self.request_id = request_id;
63 self
64 }
65
66 pub fn request_id(&self) -> Option<&RequestId> {
69 self.request_id.as_ref()
70 }
71}
72
73#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
76#[non_exhaustive]
77pub struct ModelsPage {
78 pub object: String,
81 #[serde(default)]
84 pub data: Vec<Model>,
85 #[serde(skip)]
88 request_id: Option<RequestId>,
89}
90
91impl ModelsPage {
92 pub(crate) fn with_request_id(mut self, request_id: Option<RequestId>) -> Self {
93 self.request_id = request_id;
94 self
95 }
96
97 pub fn request_id(&self) -> Option<&RequestId> {
100 self.request_id.as_ref()
101 }
102}