paddle_rust_sdk/
response.rs

1//! This module defines the response structures for the Paddle API.
2
3use serde::Deserialize;
4
5use crate::PaddleError;
6
7/// Meta information about the API request.
8/// This includes the request ID, which can be used for debugging or tracking purposes.
9#[derive(Debug, Deserialize)]
10pub struct Meta {
11    pub request_id: String,
12}
13
14#[derive(Debug, Deserialize)]
15#[serde(untagged)]
16pub(crate) enum Response<T> {
17    Success(SuccessResponse<T>),
18    Error(ErrorResponse),
19}
20
21/// Success response structure for the Paddle API.
22#[derive(Debug, Deserialize)]
23pub struct SuccessResponse<T> {
24    pub data: T,
25    pub meta: Meta,
26}
27
28/// Error response structure for the Paddle API.
29#[derive(Debug, Deserialize)]
30pub struct ErrorResponse {
31    pub error: PaddleError,
32    pub meta: Meta,
33}