Files
multi-seal-mail/server/app/storage/services.py

87 lines
2.4 KiB
Python

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",
]