Some checks failed
Test / test (push) Failing after 2m21s
- Add S3StorageService with AWS Signature V4 signing (URI-encoded for non-ASCII keys)
- Add PATCH /object/{id}/policy endpoint for switching storage policies with background migration
- Implement cross-storage file migration service (local <-> S3)
- Replace deprecated StorageType enum with PolicyType (local/s3)
- Implement GET /user/settings/policies endpoint (was 501 stub)
- Add storage quota pre-allocation on upload session creation to prevent concurrent bypass
- Fix BigInteger for max_storage and user.storage to support >2GB values
- Add policy permission validation on upload and directory creation
- Use group's first policy as default on registration instead of hardcoded name
- Define TaskType.POLICY_MIGRATE and extend TaskProps with migration fields
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
33 lines
830 B
Python
33 lines
830 B
Python
"""
|
|
存储服务模块
|
|
|
|
提供文件存储相关的服务,包括:
|
|
- 本地存储服务
|
|
- S3 存储服务
|
|
- 命名规则解析器
|
|
- 存储异常定义
|
|
"""
|
|
from .exceptions import (
|
|
DirectoryCreationError,
|
|
FileReadError,
|
|
FileWriteError,
|
|
InvalidPathError,
|
|
S3APIError,
|
|
S3MultipartUploadError,
|
|
StorageException,
|
|
StorageFileNotFoundError,
|
|
UploadSessionExpiredError,
|
|
UploadSessionNotFoundError,
|
|
)
|
|
from .local_storage import LocalStorageService
|
|
from .naming_rule import NamingContext, NamingRuleParser
|
|
from .object import (
|
|
adjust_user_storage,
|
|
copy_object_recursive,
|
|
delete_object_recursive,
|
|
permanently_delete_objects,
|
|
restore_objects,
|
|
soft_delete_objects,
|
|
)
|
|
from .migrate import migrate_file_with_task, migrate_directory_files
|
|
from .s3_storage import S3StorageService |