batchCooking/packages/shared/src/schemas/preferences.ts
Nicolas e3811dc280 Shared + migration: table user_preference (thème clair/sombre/système) (step 1/4)
- Modèle Prisma UserPreference (1-1 avec UserProfile, onDelete Cascade),
  enum ThemePreference (LIGHT/DARK/SYSTEM, défaut SYSTEM)
- packages/shared: THEME_PREFERENCES/ThemePreference, PreferencesView,
  updatePreferencesSchema
2026-08-17 15:55:18 +02:00

11 lines
459 B
TypeScript

import { z } from "zod";
import { THEME_PREFERENCES } from "../types/preferences.js";
// See schemas/auth.ts for the shared client/server validation rationale.
/** Payload accepted by `PATCH /preferences`. */
export const updatePreferencesSchema = z.object({
theme: z.enum(THEME_PREFERENCES),
});
/** Inferred TS type for {@link updatePreferencesSchema}'s validated output. */
export type UpdatePreferencesInput = z.infer<typeof updatePreferencesSchema>;