Skip to main content

cognee_http_server/
cloud_client.rs

1use async_trait::async_trait;
2use thiserror::Error;
3
4use crate::auth::AuthenticatedUser;
5use crate::dto::forget::{ForgetPayloadDTO, ForgetResponseDTO};
6
7#[derive(Debug, Clone, Error)]
8pub enum CloudClientError {
9    #[error("cloud forget upstream returned an error")]
10    Upstream { status: u16 },
11
12    #[error("cloud forget upstream is unreachable")]
13    Unreachable,
14
15    #[error("cloud forget upstream returned a malformed response")]
16    MalformedResponse,
17}
18
19#[async_trait]
20pub trait CloudDeleteClient: Send + Sync + 'static {
21    async fn forward_forget(
22        &self,
23        payload: &ForgetPayloadDTO,
24        user: &AuthenticatedUser,
25    ) -> Result<ForgetResponseDTO, CloudClientError>;
26}