From 2696b78f9ec82da15abbd2155ecba459d1b3f642 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Sun, 12 Apr 2026 19:56:34 +0200 Subject: [PATCH] feat(29-01): extract dominant color in image upload endpoints Both POST /api/images and POST /api/images/from-url now return dominantColor in their response body. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/server/routes/images.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/server/routes/images.ts b/src/server/routes/images.ts index 2c03c9b..7644ac2 100644 --- a/src/server/routes/images.ts +++ b/src/server/routes/images.ts @@ -2,7 +2,10 @@ import { randomUUID } from "node:crypto"; import { zValidator } from "@hono/zod-validator"; import { Hono } from "hono"; import { z } from "zod"; -import { fetchImageFromUrl } from "../services/image.service"; +import { + extractDominantColor, + fetchImageFromUrl, +} from "../services/image.service"; import { uploadImage } from "../services/storage.service"; const ALLOWED_TYPES = ["image/jpeg", "image/png", "image/webp"]; @@ -59,7 +62,10 @@ app.post("/", async (c) => { const buffer = await file.arrayBuffer(); await uploadImage(Buffer.from(buffer), filename, file.type); - return c.json({ filename }, 201); + // Extract dominant color for adaptive background fill + const dominantColor = await extractDominantColor(buffer); + + return c.json({ filename, dominantColor }, 201); }); export { app as imageRoutes };