managarten/services/cards-server
Till JS be155ca737 fix(cards-server): error classes extend Hono HTTPException
Shared-hono's serviceErrorHandler only translates HTTPException
instances; anything else degrades to 500. Our custom Error subclasses
were silently bypassing the translation layer, so a missing JWT came
back as `500 Internal server error` instead of the expected `401
Unauthorized`. Confirmed in prod logs after the Phase-β deploy.

Switching the error hierarchy to extend HTTPException directly. The
JSON body now carries the right status code + the existing `cause`
object surfaces our `code` discriminator + zod-style `details` for
BadRequest. No call-site changes needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 16:40:20 +02:00
..
drizzle feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
src fix(cards-server): error classes extend Hono HTTPException 2026-05-07 16:40:20 +02:00
.gitignore feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
CLAUDE.md feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
Dockerfile feat(cards-server): Phase α.4 — Dockerfile + compose + tunnel route 2026-05-07 16:22:48 +02:00
drizzle.config.ts feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
package.json feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
README.md feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
tsconfig.json feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00

cards-server

Backend for the Cards marketplace. See CLAUDE.md for the technical overview and apps/cards/docs/MARKETPLACE_PLAN.md for the full product plan.