File Storage & Media

On this page

Handles uploads and media management:

  • FileStorage (core/lib/store/file-storage.js): Manages file uploads
  • FileManager (core/lib/store/modules/file-manager.js): Core file operations
  • MetadataManager (core/lib/store/modules/metadata-manager.js): Manages file metadata
  • ImageHandler (core/lib/store/modules/image-handler.js): Image-specific operations
  • DocumentHandler (core/lib/store/modules/document-handler.js): Document-specific operations
  • MediaReferenceManager (core/lib/store/modules/media-reference-manager.js): Manages checking and cleaning references to media files

Architecture

File Storage
├── File Manager            # Core file operations
├── Metadata Manager        # File metadata
├── Image Handler           # Image processing
├── Document Handler        # Document management
└── Media Reference Manager # Content references

File Organization

content/uploads/
├── images/               # Image files
│   ├── image-abc123.jpg
│   └── image-abc123.jpg.metadata.json
└── documents/            # Document files
    ├── doc-def456.pdf
    └── doc-def456.pdf.metadata.json

Metadata Schema

{
    "createdAt": "2023-01-01T00:00:00.000Z",
    "updatedAt": "2023-01-01T00:00:00.000Z",
    "alt": "Image description",
    "caption": "Image caption",
    "title": "File title",
    "description": "File description",
    "width": 800, // Images only
    "height": 600 // Images only
}

Media Reference Management

  • Track where media files are used
  • Clean up references when files are deleted
  • Update references when metadata changes
  • Prevent deletion of referenced files