Image Storage
Component Detail
Infrastructure
low complexity
backend
0
Dependencies
0
Dependents
0
Entities
0
Integrations
Description
S3-compatible object store integration responsible for durable storage of compressed receipt images. Handles presigned URL generation for secure client-direct upload, lifecycle policies for retention, and provides the storage URLs that are persisted in the expense_receipts table.
image-storage
Sources & reasoning
The feature stores images in an S3-compatible managed object store and persists the resulting URL in expense_receipts. This infrastructure component encapsulates the object store contract, presigned URL generation, and retention policy so the upload service has a stable interface independent of the specific provider.
No source references — this artifact was included based on reasoning alone (see above).
Responsibilities
- Accept compressed image blobs via presigned upload URLs
- Generate presigned GET URLs for secure retrieval in admin portal
- Enforce retention and access policies per organisation
- Provide storage URL returned to the upload service on success
Interfaces
generatePresignedUploadUrl(key: String, contentType: String) -> String
generatePresignedGetUrl(key: String, expirySeconds: int) -> String
deleteObject(key: String) -> void