"""Auth schemas."""

from __future__ import annotations

from pydantic import BaseModel, EmailStr, Field


class LoginRequest(BaseModel):
    email: EmailStr = Field(..., examples=["admin@leocrm.local"])
    password: str = Field(..., min_length=1, examples=["secure-password"])


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 = Field(..., examples=["550e8400-e29b-41d4-a716-446655440000"])
    email: str = Field(..., examples=["admin@leocrm.local"])
    name: str = Field(..., examples=["Admin User"])
    role: str = Field(..., examples=["admin"])
    tenant_id: str = Field(..., examples=["550e8400-e29b-41d4-a716-446655440001"])
    tenant_name: str | None = Field(None, examples=["Acme GmbH"])


class MessageResponse(BaseModel):
    message: str
