use super::{
ContentAttachmentScope, ContentId, DurabilityMode, StorageDomainId, UploadId, UploadToken,
};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct SealedContent {
pub(in crate::content) attachment_scope: ContentAttachmentScope,
pub(in crate::content) content_id: ContentId,
pub(in crate::content) length: u64,
pub(in crate::content) upload_token: UploadToken,
pub(in crate::content) token_expires_at_unix_ms: u64,
pub(in crate::content) durability: DurabilityMode,
}
impl SealedContent {
#[must_use]
pub const fn content_id(self) -> ContentId {
self.content_id
}
#[must_use]
pub const fn storage_domain_id(self) -> StorageDomainId {
self.attachment_scope.storage_domain_id
}
#[must_use]
pub const fn attachment_scope(self) -> ContentAttachmentScope {
self.attachment_scope
}
#[must_use]
pub const fn len(self) -> u64 {
self.length
}
#[must_use]
pub const fn is_empty(self) -> bool {
self.length == 0
}
#[must_use]
pub const fn upload_token(self) -> UploadToken {
self.upload_token
}
#[must_use]
pub const fn token_expires_at_unix_ms(self) -> u64 {
self.token_expires_at_unix_ms
}
#[must_use]
pub const fn durability(self) -> DurabilityMode {
self.durability
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct ContentAttachment {
pub(in crate::content) upload_id: UploadId,
pub(in crate::content) scope: ContentAttachmentScope,
pub(in crate::content) content_id: ContentId,
pub(in crate::content) length: u64,
pub(in crate::content) token_expires_at_unix_ms: u64,
pub(in crate::content) durability: DurabilityMode,
}
impl ContentAttachment {
pub(crate) const fn new(
upload_id: UploadId,
scope: ContentAttachmentScope,
content_id: ContentId,
length: u64,
token_expires_at_unix_ms: u64,
durability: DurabilityMode,
) -> Self {
Self {
upload_id,
scope,
content_id,
length,
token_expires_at_unix_ms,
durability,
}
}
#[must_use]
pub const fn upload_id(self) -> UploadId {
self.upload_id
}
#[must_use]
pub const fn scope(self) -> ContentAttachmentScope {
self.scope
}
#[must_use]
pub const fn content_id(self) -> ContentId {
self.content_id
}
#[must_use]
pub const fn len(self) -> u64 {
self.length
}
#[must_use]
pub const fn is_empty(self) -> bool {
self.length == 0
}
#[must_use]
pub const fn token_expires_at_unix_ms(self) -> u64 {
self.token_expires_at_unix_ms
}
#[must_use]
pub const fn durability(self) -> DurabilityMode {
self.durability
}
}