"""Auth schemas."""

from __future__ import annotations

from pydantic import BaseModel, EmailStr, Field


class LoginRequest(BaseModel):
    email: EmailStr
    password: str = Field(..., min_length=1)


class PasswordResetRequest(BaseModel):
    email: EmailStr


class PasswordResetConfirm(BaseModel):
    token: str = Field(..., min_length=1)
    new_password: str = Field(..., min_length=8)


class SwitchTenantRequest(BaseModel):
    tenant_id: str = Field(..., min_length=1)


class AuthResponse(BaseModel):
    user_id: str
    email: str
    name: str
    role: str
    tenant_id: str
    tenant_name: str | None = None


class MessageResponse(BaseModel):
    message: str
