runmat_filesystem/
data_contract.rs1use serde::{Deserialize, Serialize};
2use std::collections::HashMap;
3
4#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
6pub struct DataManifestDescriptor {
7 pub schema_version: u32,
8 pub format: String,
9 pub dataset_id: String,
10 pub updated_at: String,
11 pub txn_sequence: u64,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
16pub struct DataManifestRequest {
17 pub path: String,
18 pub version: Option<String>,
19}
20
21#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
23pub struct DataChunkDescriptor {
24 pub key: String,
25 pub object_id: String,
26 pub hash: String,
27 pub bytes_raw: u64,
28 pub bytes_stored: u64,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
33pub struct DataChunkUploadRequest {
34 pub dataset_path: String,
35 pub array: String,
36 pub chunks: Vec<DataChunkDescriptor>,
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
41pub struct DataChunkUploadTarget {
42 pub key: String,
43 pub method: String,
44 pub upload_url: String,
45 pub headers: HashMap<String, String>,
46}