feat(#113): 100% blob storage model — PostgreSQL metadata + DedupService blobs
BREAKING CHANGE: Storage model completely rewritten. All file/folder metadata now lives in PostgreSQL (storage schema). File content stored as content-addressable blobs via DedupService. Filesystem directories are no longer used for user storage. New components: - storage.folders / storage.files / storage.trash_items (PG schema) - FolderDbRepository: virtual folders backed by PG - FileBlobReadRepository: file reads via PG metadata + dedup blobs - FileBlobWriteRepository: file writes via PG metadata + dedup blobs - TrashDbRepository: soft-delete trash using is_trashed flags Removed legacy FS components (~5500 lines deleted): - FolderFsRepository, FileFsReadRepository, FileFsWriteRepository - CompositeFileRepository, ParallelFileProcessor - IdMappingService, IdMappingOptimizer, FileMetadataCache - BufferPool, FileSystemUtils, RepositoryErrors - TrashFsRepository, FolderFsRepositoryTrash DI rewired: build_app_state() now requires PgPool (no FS fallback). FileUploadService.new_with_read() and FileRetrievalService.new_with_cache() constructors added for blob model (no write-behind needed). Closes #113
This commit is contained in:
@@ -8,11 +8,6 @@ pub mod interfaces;
|
||||
// Common public re-exports
|
||||
pub use application::services::folder_service::FolderService;
|
||||
pub use application::services::i18n_application_service::I18nApplicationService;
|
||||
pub use application::services::storage_mediator::{FileSystemStorageMediator, StorageMediator};
|
||||
pub use domain::services::path_service::StoragePath;
|
||||
pub use infrastructure::repositories::CompositeFileRepository;
|
||||
pub use infrastructure::repositories::folder_fs_repository::FolderFsRepository;
|
||||
pub use infrastructure::repositories::parallel_file_processor::ParallelFileProcessor;
|
||||
pub use infrastructure::services::buffer_pool::BufferPool;
|
||||
pub use infrastructure::services::compression_service::GzipCompressionService;
|
||||
pub use infrastructure::services::path_service::PathService;
|
||||
|
||||
Reference in New Issue
Block a user