By: Michael Lynch <git@mtlynch.io>
Pass a single media file store to the media service main.go previously built one storage writer but handed it to the media service through two doors: as the upload processor's writer and as a separately extracted DeleteFile func. Nothing enforced that the two referred to the same backend, so a wiring mistake could write uploads to one store while deleting from another. Introduce mediastore.FileStore (WriteFile + DeleteFile, which both LocalWriter and s3.Writer already implement) and thread one value from main.go into both the upload processor and the media service. This also lets main.go build the upload processor once instead of once per storage backend. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>