From 76650be0d26f54e74f1c1b35ed46f185baa2ab00 Mon Sep 17 00:00:00 2001 From: 0xZensh Date: Mon, 21 Oct 2024 15:05:14 +0800 Subject: [PATCH] chore: export hash for uploading --- Cargo.lock | 40 +++++++++++++++++------------------ Cargo.toml | 2 +- src/ic_oss_ts/src/types.ts | 1 + src/ic_oss_ts/src/uploader.ts | 11 +++++++--- 4 files changed, 30 insertions(+), 24 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4754d41..22896bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -147,7 +147,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -328,7 +328,7 @@ dependencies = [ "lazy_static", "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -430,7 +430,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -562,7 +562,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -858,7 +858,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -1278,7 +1278,7 @@ dependencies = [ "quote", "serde", "serde_tokenstream", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -1377,7 +1377,7 @@ dependencies = [ name = "ic-oss-types" version = "0.9.6" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "candid", "ciborium", "coset", @@ -1468,7 +1468,7 @@ dependencies = [ name = "ic_oss_bucket" version = "0.9.6" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "candid", "ciborium", "getrandom", @@ -1825,7 +1825,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -2409,7 +2409,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -2432,7 +2432,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -2444,7 +2444,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -2618,7 +2618,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -2646,9 +2646,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.81" +version = "2.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "198514704ca887dd5a1e408c6c6cdcba43672f9b4062e1b24aa34e74e6d7faae" +checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021" dependencies = [ "proc-macro2", "quote", @@ -2721,7 +2721,7 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -2796,7 +2796,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] @@ -3004,7 +3004,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", "wasm-bindgen-shared", ] @@ -3038,7 +3038,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3296,7 +3296,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.81", + "syn 2.0.82", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 66d2350..f566b68 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,7 +26,7 @@ license = "MIT OR Apache-2.0" [workspace.dependencies] bytes = "1" -base64 = "0.21" +base64 = "0.22" candid = "0.10" ciborium = "0.2" futures = "0.3" diff --git a/src/ic_oss_ts/src/types.ts b/src/ic_oss_ts/src/types.ts index a83f5fc..b4f7386 100644 --- a/src/ic_oss_ts/src/types.ts +++ b/src/ic_oss_ts/src/types.ts @@ -46,6 +46,7 @@ export interface UploadFileChunksResult { id: number filled: number uploadedChunks: number[] + hash: Uint8Array | null } export interface Progress { diff --git a/src/ic_oss_ts/src/uploader.ts b/src/ic_oss_ts/src/uploader.ts index 3cf3f91..26c41b9 100644 --- a/src/ic_oss_ts/src/uploader.ts +++ b/src/ic_oss_ts/src/uploader.ts @@ -58,7 +58,8 @@ export class Uploader { return { id: res.id, filled: size, - uploadedChunks: [] + uploadedChunks: [], + hash } } @@ -100,7 +101,8 @@ export class Uploader { const rt: UploadFileChunksResult = { id, filled: 0, - uploadedChunks: [] + uploadedChunks: [], + hash } try { @@ -146,10 +148,13 @@ export class Uploader { } await queue.wait() + if (!rt.hash) { + rt.hash = hasher.digest() + } await this.#cli.updateFileInfo({ id, status: this.setReadonly ? [1] : [], - hash: [hash || hasher.digest()], + hash: [rt.hash], custom: [], name: [], size: [BigInt(size)],