Service Layer medium complexity backend
2
Dependencies
0
Dependents
2
Entities
0
Integrations

Description

Backend service that generates time-limited presigned URLs for secure retrieval of stored receipt images by the admin portal. Ensures receipts are not publicly accessible and that access is scoped to authorised approvers only.

Feature: Receipt Photo Upload

presigned-url-service

Responsibilities

  • Generate presigned S3-compatible GET URLs for a given receipt object key
  • Enforce expiry (e.g. 15-minute TTL) on generated URLs
  • Validate requester role before issuing URL (approver or owner)

Interfaces

generatePresignedUrl(objectKey: String, ttlSeconds: int) -> String
validateAccessPermission(userId: String, receiptId: String) -> bool

Relationships

Dependencies (2)

Components this component depends on

Related Data Entities (2)

Data entities managed by this component