use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct DataManifestDescriptor {
pub schema_version: u32,
pub format: String,
pub dataset_id: String,
pub updated_at: String,
pub txn_sequence: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct DataManifestRequest {
pub path: String,
pub version: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct DataChunkDescriptor {
pub key: String,
pub object_id: String,
pub hash: String,
pub bytes_raw: u64,
pub bytes_stored: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct DataChunkUploadRequest {
pub dataset_path: String,
pub array: String,
pub chunks: Vec<DataChunkDescriptor>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct DataChunkUploadTarget {
pub key: String,
pub method: String,
pub upload_url: String,
pub headers: HashMap<String, String>,
}