4440bf97

By: Michael Lynch <git@mtlynch.io>

Parse photos into a ProcessablePhoto instead of validating

Replace validatePhotoResolution with uploads.NewProcessablePhoto, which
checks the size and pixel limits and returns a ProcessablePhoto. ProcessPhoto
now accepts only that type, so the type system guarantees we never process a
photo that hasn't been checked against the limits.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Codeberg
configuredevShellbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-go-test-packagescheck-trailing-newlinecheck-trailing-whitespacediagramdocker-imagee2e-testsgo-testsimport-from-tinybeanslint-sqllittle-momentslittle-moments-devx86_64-linux