Files
HausApp/apps/server/src/routes/household-settings.routes.ts
René Schober 9ddc7c6d7a Production deployment setup + feature complete
- Dockerfile + deploy.sh for Hetzner server
- Email verification via Better Auth + Resend
- Invite code flow (6-digit OTP, generate/join)
- Settlement share percent fix (payer vs debtor)
- OCR scanner fixes (date display, retry, viewfinder)
- app.json icon/splash/adaptive-icon configured
- iOS deployment target 15.5 (ML Kit requirement)
- DB migration 0014: household_invitations table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 11:54:22 +01:00

28 lines
1.2 KiB
TypeScript

import { zValidator } from "@hono/zod-validator";
import { Hono } from "hono";
import { authMiddleware, requireAuth, type AuthVariables } from "../middleware/auth.middleware";
import { tenantMiddleware, requireHousehold, type TenantVariables } from "../middleware/tenant.middleware";
import { UpdateHouseholdSettingsSchema } from "@haushaltsApp/shared/schemas/household-settings.schema";
import {
getOrCreateHouseholdSettings,
updateHouseholdSettings,
} from "../services/household-settings.service";
type Variables = AuthVariables & TenantVariables;
export const householdSettingsRoutes = new Hono<{ Variables: Variables }>();
householdSettingsRoutes.use("/*", authMiddleware, requireAuth, tenantMiddleware, requireHousehold);
householdSettingsRoutes.get("/", async (c) => {
const householdId = c.get("householdId") as string;
const settings = await getOrCreateHouseholdSettings(householdId);
return c.json({ settings });
});
householdSettingsRoutes.patch("/", zValidator("json", UpdateHouseholdSettingsSchema), async (c) => {
const householdId = c.get("householdId") as string;
const input = c.req.valid("json");
const settings = await updateHouseholdSettings(householdId, input);
return c.json({ settings });
});