/**
 * Public shape of a user profile, as returned by the API (never includes
 * the password hash). Mirrors apps/api's `Omit<PrismaUserProfile,
 * "passwordHash">` — declared by hand rather than derived from the Prisma
 * type, since apps/web must not depend on `@prisma/client`.
 */
export interface SafeUserProfile {
  /** Primary key. */
  id: number;
  /** First name. */
  firstName: string;
  /** Last name. */
  lastName: string;
  /** Email address — unique, used as the login identifier. */
  email: string;
  /** Incremented server-side to invalidate previously-issued JWTs (e.g. on password change). Not used directly by the client. */
  tokenVersion: number;
  /** FK to the household this profile belongs to, or `null` if not yet assigned to one. */
  houseId: number | null;
  /** FK to this profile's diet preference, or `null` if unset. */
  dietId: number | null;
}
