Skip to main content

gproxy_protocol/claude/file_delete/
request.rs

1use std::collections::BTreeMap;
2
3use serde::{Deserialize, Serialize};
4
5use crate::claude::types::{AnthropicBeta, AnthropicVersion, HttpMethod};
6
7/// Request descriptor for Claude "Delete File" endpoint.
8///
9/// `DELETE /v1/files/{file_id}`
10#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
11pub struct ClaudeFileDeleteRequest {
12    pub method: HttpMethod,
13    pub path: PathParameters,
14    pub query: QueryParameters,
15    pub headers: RequestHeaders,
16    pub body: RequestBody,
17}
18
19impl Default for ClaudeFileDeleteRequest {
20    fn default() -> Self {
21        Self {
22            method: HttpMethod::Delete,
23            path: PathParameters::default(),
24            query: QueryParameters::default(),
25            headers: RequestHeaders::default(),
26            body: RequestBody::default(),
27        }
28    }
29}
30
31#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
32pub struct PathParameters {
33    /// ID of the file to delete.
34    pub file_id: String,
35}
36
37#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
38pub struct QueryParameters {}
39
40#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
41pub struct RequestHeaders {
42    #[serde(rename = "anthropic-version")]
43    pub anthropic_version: AnthropicVersion,
44    #[serde(
45        rename = "anthropic-beta",
46        default,
47        skip_serializing_if = "Option::is_none"
48    )]
49    pub anthropic_beta: Option<Vec<AnthropicBeta>>,
50    #[serde(flatten, default, skip_serializing_if = "BTreeMap::is_empty")]
51    pub extra: BTreeMap<String, String>,
52}
53
54/// Delete file request has no JSON body.
55#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
56pub struct RequestBody {}