Skip to main content

Crate typub_storage

Crate typub_storage 

Source
Expand description

S3-compatible storage client, status tracking, and asset types for typub.

This crate provides:

  • S3Storage — S3-compatible storage client
  • UploadResult — result of an asset upload
  • PendingAsset, PendingAssetList, DeferredAssets — deferred asset types
  • StatusTracker — SQLite-backed publish status tracking
  • Asset upload orchestration (materialize_external_assets, etc.)
  • Pure utility functions for hash computation, URL construction, encoding, etc.

Extracted per [[RFC-0007:C-SHARED-TYPES]] to enable adapter subcrates to handle asset uploads without depending on the main crate.

Re-exports§

pub use status::AssetUploadRecord;
pub use status::LifecycleAction;
pub use status::PlatformStatus;
pub use status::PostStatus;
pub use status::PublishResult;
pub use status::StatusDatabase;
pub use status::StatusTracker;
pub use status::determine_lifecycle_action;
pub use status::validate_remote_status;

Modules§

status
Publish status tracking module.

Structs§

AssetAnalysis
Result of asset analysis.
AssetInfo
Information about a single asset in analysis.
DeferredAssets
Deferred asset context carried through pipeline stages.
PendingAsset
A pending asset reference for deferred upload. Per [[RFC-0004:C-PIPELINE-INTEGRATION]].
PendingAssetList
Result of building pending assets for deferred upload.
S3Storage
S3-compatible storage client Per [[RFC-0004:C-UPLOAD-TRACKING]]
UploadResult
Result of an asset upload

Enums§

AssetStrategy
Strategy for handling assets on each platform.

Functions§

analyze_assets
Analyze assets without materializing.
base64_encode
Simple base64 encoding
build_image_marker_url_map
Build a URL map for image markers.
build_image_src_url_map
Build a URL map for <img src="..."> references.
build_pending_asset_list
Build a list of pending assets for deferred upload.
build_preview_file_url_map
Build a map of asset paths to file:// URLs for local preview.
build_resolved_url_map
Build a map from asset reference paths to resolved remote URLs.
key_candidates
Generate candidate keys for matching an image reference.
materialize_external_assets
Materialize assets for External strategy (without caching).
materialize_external_assets_with_status
Materialize assets for External strategy (with caching).
materialize_with_analysis
Materialize assets with optional mock mode.
mime_type_from_path
Determine MIME type from file extension using mime_guess. Returns “application/octet-stream” for unknown types.
replace_asset_placeholders
Replace placeholder tokens in content with remote URLs.
resolve_image_reference_url
Resolve an image reference to a URL using a map of path variants.
to_data_uri
Encode binary data to base64 data URI
upload_pending_assets
Upload all pending assets with caching support.