Appearance
Storage Module
The Storage module handles all file-related operations in the system, including document metadata management, workspace-level storage stats, and integration with S3-compatible cloud storage providers.
Core Responsibilities
- Document Management: CRUD operations for documents and their metadata.
- Storage Stats: Persistent counters for total files, total size, and the number of documents currently in trash.
- Category Management: Organizing documents into categories.
- Cloud Storage Integration: Decoupled S3-compatible provider for direct file operations.
- Presigned URLs: Generating secure upload and read URLs for client-side interactions.
Key Components
- IStorageProvider: Port for direct storage operations (Upload, Download, Delete, Exists).
- IStorageObjectSigner: Port for generating presigned URLs.
- S3KeyService: Utility for building and parsing storage keys based on business rules.