Changelog
Branch feat/m4-c-portfolio-media-uploads: changelog
April 16, 2026Branch feat/m4-c-portfolio-media-uploads1 min readAI Generated
Branch feat/m4-c-portfolio-media-uploads: changelog
Automated summary for branch feat/m4-c-portfolio-media-uploads. This post is generated on push; commit it with your changes.
Commits
- 9e490da0 docs(adversarial-review): push review for M4-c portfolio media
- a1e29af1 feat(portfolio): M4-c work-sample photo uploads (Blob + Rust API + BFF + UI)
Files changed
CHANGELOG.md | 1 +
.../added-m4-c-portfolio-media-uploads.md | 1 +
.../2026-04-16-feat-m4-c-portfolio-media.md | 48 +++
docs/adversarial-review/reviews/TLDR.md | 1 +
.../rust-api/migrations/017_portfolio_media.sql | 22 ++
services/rust-api/src/api/v1/portfolio.rs | 327 ++++++++++++++++++++-
services/rust-api/src/repositories/blob.rs | 21 ++
services/rust-api/src/repositories/mod.rs | 7 +-
services/rust-api/src/repositories/postgres.rs | 152 +++++++++-
webapp/e2e/m4-portfolio.spec.ts | 20 +-
.../app/(authenticated)/account/portfolio/page.tsx | 24 +-
.../account/portfolio/portfolio-media-client.tsx | 216 ++++++++++++++
webapp/src/app/api/portfolio/media/[id]/route.ts | 29 ++
webapp/src/app/api/portfolio/media/route.ts | 49 +++
.../api/portfolio/public/media/[id]/image/route.ts | 22 ++
webapp/src/app/p/[slug]/page.tsx | 126 +++++---
16 files changed, 1005 insertions(+), 61 deletions(-)
How this works
This file is produced by webapp/tools/sync-pr-blog-post.ts. Add a versions/human.md file in the same folder to publish a human-written alternative; the site will show tabs for AI Draft and Human when both exist.