pub struct DocumentsClient { /* private fields */ }Expand description
Sub-client for POST /projects/{pid}/documents{,/claim}. Obtained via
[crate::client::ProjectScope::documents].
Implementations§
Source§impl DocumentsClient
impl DocumentsClient
Sourcepub async fn progress(
&self,
content_hash: &str,
) -> Result<Option<IngestProgress>>
pub async fn progress( &self, content_hash: &str, ) -> Result<Option<IngestProgress>>
Snapshot the server-side conversion progress for a content hash (#1151).
Returns None if no in-flight conversion is registered (terminal
already, or never uploaded). Cheap — a few-byte JSON response off an
in-memory map. Mirrors TS documents.progress and Python
documents.progress.
Sourcepub async fn claim(
&self,
content_hash: &str,
filename: &str,
) -> Result<ClaimOutcome>
pub async fn claim( &self, content_hash: &str, filename: &str, ) -> Result<ClaimOutcome>
Check whether the server has these bytes cached (by content_hash).
On hit, the server creates-or-finds a per-project ref and the SDK
returns ClaimOutcome::Hit with the doc_id and current conversion
status. On miss, the caller must upload the bytes.
The content_hash returned in UploadResult comes from the server’s
response, not the caller’s argument — so a caller that passes a wrong
hash gets the server’s authoritative value back.
Sourcepub async fn upload(
&self,
filename: &str,
bytes: Vec<u8>,
) -> Result<UploadResult>
pub async fn upload( &self, filename: &str, bytes: Vec<u8>, ) -> Result<UploadResult>
Upload bytes. Server hashes, dedups against the blobs table, creates
a per-project ref, returns a doc_<uuid> scoped to this project.
Sourcepub async fn ingest(
&self,
filename: &str,
bytes: Vec<u8>,
) -> Result<UploadResult>
pub async fn ingest( &self, filename: &str, bytes: Vec<u8>, ) -> Result<UploadResult>
Convenience: hash locally, call claim, fall back to
upload on miss. On hit where the blob is still
Converting, polls the claim endpoint until the status is terminal or
the configured ingest poll timeout elapses (default 300 s, see
crate::AkribesClientBuilder::ingest_poll_timeout). Returns
AkribesError::Transient on timeout so the caller can retry. If the
server reports Failed (after its own inline auto-reconvert has given
up), returns AkribesError::Other.
Trait Implementations§
Source§impl Clone for DocumentsClient
impl Clone for DocumentsClient
Source§fn clone(&self) -> DocumentsClient
fn clone(&self) -> DocumentsClient
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more