#auth_schemas.py
from pydantic import BaseModel,EmailStr
from typing import List, Optional

class LoginSchema(BaseModel):
    email: str
    password: str

class TokenResponse(BaseModel):
    access_token: str
    token_type: str

    class Config:
        from_attributes = True


class LoginTokenRequest(BaseModel):
    login_code: str


class TokenRequest(BaseModel):
    token: str


class BranchInfo(BaseModel):
    branch_id: int
    branch_name: str
    branch_address: str

class UserDetailsResponse(BaseModel):
    status: bool
    user_id: int
    user_name: str
    store_id: Optional[int]
    store_name: Optional[str]
    branches: List[BranchInfo]

#######################################################################################################


class ForgotPasswordRequest(BaseModel):
    email: EmailStr

class PasswordReset(BaseModel):
    token: str
    new_password: str

class PasswordResetResponse(BaseModel):
    message: str


    class Config:
        from_attributes = True