from __future__ import annotations # Compatibility facade for existing storage imports. New storage code should # prefer importing from the focused modules directly. from app.storage.access import ensure_group_access, ensure_owner_access, user_group_ids from app.storage.archives import create_zip_bytes, extract_zip_upload from app.storage.campaign_usage import mark_job_attachment_uses_sent, record_campaign_attachment_uses_for_job from app.storage.common import ( FileConflictResolution, FileStorageError, RenamePlanItem, ResolvedPattern, UploadedStoredFile, utcnow, ) from app.storage.files import ( _active_asset_at_path, _active_asset_exists, _asset_owner_id, _asset_query_for_owner, _candidate_renamed_path, _copy_asset_to_path, _get_or_create_blob, _next_available_logical_path, _normalize_conflict_strategy, _resolution_by_path, _soft_delete_conflicting_asset, _split_logical_path, _storage_backend_name, _storage_bucket_name, _storage_key, asset_is_audit_relevant, create_file_asset, current_version_and_blob, get_asset_for_user, list_assets_for_user, read_asset_bytes, rename_asset, share_file, soft_delete_assets, ) from app.storage.folders import ( _active_folder_exists, _ensure_target_folder_hierarchy, _folder_query_for_owner, _owner_filter, create_folder, list_folders_for_user, soft_delete_folder, ) from app.storage.search import match_assets, resolve_patterns from app.storage.transfers import build_rename_preview, rename_selection, transfer_selection __all__ = [ "FileConflictResolution", "FileStorageError", "RenamePlanItem", "ResolvedPattern", "UploadedStoredFile", "asset_is_audit_relevant", "build_rename_preview", "create_file_asset", "create_folder", "create_zip_bytes", "current_version_and_blob", "ensure_group_access", "ensure_owner_access", "extract_zip_upload", "get_asset_for_user", "list_assets_for_user", "list_folders_for_user", "mark_job_attachment_uses_sent", "match_assets", "read_asset_bytes", "record_campaign_attachment_uses_for_job", "rename_asset", "rename_selection", "resolve_patterns", "share_file", "soft_delete_assets", "soft_delete_folder", "transfer_selection", "user_group_ids", "utcnow", ]