fix: add deserialize traits for manifest

This commit is contained in:
DecDuck
2025-12-18 19:39:03 +11:00
parent 5c6597eb6b
commit 8f24d4ea75
3 changed files with 6 additions and 6 deletions
+1 -1
View File
@@ -219,7 +219,7 @@ dependencies = [
[[package]] [[package]]
name = "droplet-rs" name = "droplet-rs"
version = "0.12.0" version = "0.12.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
+1 -1
View File
@@ -2,7 +2,7 @@
edition = "2021" edition = "2021"
authors = ["Drop-OSS"] authors = ["Drop-OSS"]
name = "droplet-rs" name = "droplet-rs"
version = "0.12.0" version = "0.12.1"
license = "AGPL-3.0-only" license = "AGPL-3.0-only"
description = "Droplet is a `napi.rs` Rust/Node.js package full of high-performance and low-level utils for Drop" description = "Droplet is a `napi.rs` Rust/Node.js package full of high-performance and low-level utils for Drop"
+4 -4
View File
@@ -12,12 +12,12 @@ use anyhow::{anyhow, Error};
use futures::{stream::FuturesUnordered, StreamExt}; use futures::{stream::FuturesUnordered, StreamExt};
use hex::ToHex as _; use hex::ToHex as _;
use humansize::{format_size, BINARY}; use humansize::{format_size, BINARY};
use serde::Serialize; use serde::{Deserialize, Serialize};
use serde_json::json; use serde_json::json;
use sha2::{Digest as _, Sha256}; use sha2::{Digest as _, Sha256};
use tokio::{io::AsyncReadExt as _, join, sync::Mutex}; use tokio::{io::AsyncReadExt as _, join, sync::Mutex};
#[derive(Serialize, Clone)] #[derive(Serialize, Deserialize, Clone)]
pub struct FileEntry { pub struct FileEntry {
filename: String, filename: String,
start: usize, start: usize,
@@ -25,14 +25,14 @@ pub struct FileEntry {
permissions: u32, permissions: u32,
} }
#[derive(Serialize, Clone)] #[derive(Serialize, Deserialize, Clone)]
pub struct ChunkData { pub struct ChunkData {
files: Vec<FileEntry>, files: Vec<FileEntry>,
checksum: String, checksum: String,
iv: [u8; 16], iv: [u8; 16],
} }
#[derive(Serialize)] #[derive(Serialize, Deserialize)]
pub struct Manifest { pub struct Manifest {
version: String, version: String,
chunks: HashMap<String, ChunkData>, chunks: HashMap<String, ChunkData>,