pub struct BundleRecord {
pub bundle_id: Uuid,
pub kind: BundleKind,
pub state: BundleState,
pub created_at: DateTime<Utc>,
pub expires_at: DateTime<Utc>,
pub created_by: String,
pub algorithm: String,
pub expected_sha256: String,
pub expected_size_bytes: u64,
pub token_hash: [u8; 32],
pub blob_path: Option<PathBuf>,
}Expand description
Persistent record for an in-flight backup bundle. The
token_hash is SHA-256(token_b64_url) — the plaintext token
is returned to the client exactly once at mint time and never
stored.
Zeroize is not derived: every field is either a public
identifier (bundle_id, created_by, kind, …) or a hash.
The token plaintext lives only in the mint helper’s stack frame
and is dropped immediately after the descriptor is built.
Fields§
§bundle_id: Uuid§kind: BundleKind§state: BundleState§created_at: DateTime<Utc>§expires_at: DateTime<Utc>§created_by: StringDID of the super-admin who initiated the bundle. Every
non-initiate-* mutation checks auth.did == created_by.
algorithm: StringTransport algorithm. v1 only stores "stream".
expected_sha256: String§expected_size_bytes: u64§token_hash: [u8; 32]SHA-256(token_b64). Constant-time compared on every
blob-endpoint request.
blob_path: Option<PathBuf>On-disk path to the .vtabak bytes. Populated:
- for export: at descriptor mint time (bytes pre-staged)
- for import: after a successful POST to the blob endpoint
Trait Implementations§
Source§impl Clone for BundleRecord
impl Clone for BundleRecord
Source§fn clone(&self) -> BundleRecord
fn clone(&self) -> BundleRecord
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BundleRecord
impl Debug for BundleRecord
Source§impl<'de> Deserialize<'de> for BundleRecord
impl<'de> Deserialize<'de> for BundleRecord
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for BundleRecord
impl RefUnwindSafe for BundleRecord
impl Send for BundleRecord
impl Sync for BundleRecord
impl Unpin for BundleRecord
impl UnsafeUnpin for BundleRecord
impl UnwindSafe for BundleRecord
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> BorrowUnordered for T
impl<T> BorrowUnordered for T
fn as_unordered(&self) -> &Unordered<T>
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<'de, T, C> DeserializeTyped<'de, C> for Twhere
T: Deserialize<'de>,
impl<'de, T, C> DeserializeTyped<'de, C> for Twhere
T: Deserialize<'de>,
fn deserialize_typed<S>(
_: &C,
deserializer: S,
) -> Result<T, <S as Deserializer<'de>>::Error>where
S: Deserializer<'de>,
impl<T, U> DeserializeTypedOwned<T> for Uwhere
U: for<'de> DeserializeTyped<'de, T>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ResourceProvider<()> for T
impl<T> ResourceProvider<()> for T
Source§fn get_resource(&self) -> &()
fn get_resource(&self) -> &()
Returns a reference to the resource of type
T.