files_sdk/users/
api_key.rs

1use crate::{Result, client::FilesClient};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Serialize, Deserialize, Clone)]
5pub struct ApiKeyCurrentEntity {
6    #[serde(flatten)]
7    pub data: serde_json::Map<String, serde_json::Value>,
8}
9
10pub struct ApiKeyCurrentHandler {
11    client: FilesClient,
12}
13
14impl ApiKeyCurrentHandler {
15    pub fn new(client: FilesClient) -> Self {
16        Self { client }
17    }
18
19    pub async fn get_current(&self) -> Result<ApiKeyCurrentEntity> {
20        let response = self.client.get_raw("/api_key").await?;
21        Ok(serde_json::from_value(response)?)
22    }
23
24    pub async fn update(&self, params: serde_json::Value) -> Result<ApiKeyCurrentEntity> {
25        let response = self.client.patch_raw("/api_key", params).await?;
26        Ok(serde_json::from_value(response)?)
27    }
28
29    pub async fn delete(&self) -> Result<()> {
30        self.client.delete_raw("/api_key").await?;
31        Ok(())
32    }
33}