Infrastructure medium complexity backend
0
Dependencies
2
Dependents
0
Entities
0
Integrations

Description

S3-compatible object storage bucket that holds uploaded receipt image files. Objects are stored with a deterministic key scheme (e.g. org/{org_id}/receipts/{receipt_id}.jpg) and are private by default. Access is mediated exclusively via presigned URLs generated server-side.

Feature: Receipt Photo Upload

receipt-object-storage

Responsibilities

  • Store compressed receipt image objects durably
  • Enforce private-by-default bucket policy (no public read)
  • Support multipart object PUT from the backend upload endpoint
  • Support presigned GET URL generation for secure retrieval
  • Support object deletion when a receipt is removed

Interfaces

putObject(key: String, body: Bytes, contentType: String) -> void
generatePresignedGetUrl(key: String, expiresInSeconds: int) -> String
deleteObject(key: String) -> void
headObject(key: String) -> ObjectMetadata

Relationships

Dependents (2)

Components that depend on this component