gproxy_protocol/transform/openai/create_image_edit/openai_response/
response.rs1use crate::openai::create_image_edit::response::OpenAiCreateImageEditResponse;
2use crate::openai::create_response::response::OpenAiCreateResponseResponse;
3use crate::transform::openai::create_image::utils::{
4 PreferredImageAction, create_image_response_body_from_response,
5};
6use crate::transform::utils::TransformError;
7
8impl TryFrom<OpenAiCreateResponseResponse> for OpenAiCreateImageEditResponse {
9 type Error = TransformError;
10
11 fn try_from(value: OpenAiCreateResponseResponse) -> Result<Self, TransformError> {
12 match value {
13 OpenAiCreateResponseResponse::Success {
14 stats_code,
15 headers,
16 body,
17 } => {
18 let image_body =
19 create_image_response_body_from_response(body, PreferredImageAction::Edit)?;
20 Ok(OpenAiCreateImageEditResponse::Success {
21 stats_code,
22 headers,
23 body: image_body,
24 })
25 }
26 OpenAiCreateResponseResponse::Error {
27 stats_code,
28 headers,
29 body,
30 } => Ok(OpenAiCreateImageEditResponse::Error {
31 stats_code,
32 headers,
33 body,
34 }),
35 }
36 }
37}