gproxy_protocol/gemini/batch_embed_contents/
response.rs1use http::StatusCode;
2use serde::{Deserialize, Serialize};
3
4use crate::gemini::batch_embed_contents::types::GeminiContentEmbedding;
5use crate::gemini::types::{GeminiApiErrorResponse, GeminiResponseHeaders};
6
7#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Default)]
9pub struct ResponseBody {
10 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12 pub embeddings: Vec<GeminiContentEmbedding>,
13}
14
15#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
17#[serde(untagged)]
18pub enum GeminiBatchEmbedContentsResponse {
19 Success {
20 #[serde(with = "crate::gemini::types::status_code_serde")]
22 stats_code: StatusCode,
23 headers: GeminiResponseHeaders,
25 body: ResponseBody,
27 },
28 Error {
29 #[serde(with = "crate::gemini::types::status_code_serde")]
31 stats_code: StatusCode,
32 headers: GeminiResponseHeaders,
34 body: GeminiApiErrorResponse,
36 },
37}