from pydantic import Field
from app.utils.schemas_utils import CustomModel  # Import the base custom model class

class UserCredentials(CustomModel):
    username : str  # Email field for user credentials
    password: str  # Password field for user credentials

class UserMain(UserCredentials):
    name: str  # Name field for main user details
    mobile_no: str  # Mobile number field for main user details

class UserCreate(UserCredentials):
    pass  # Inherits all fields from UserMain for user creation

class UserUpdate(UserMain):
    usr_id: int  # Adds user ID field for updating user details

class UserLogin(UserCredentials):
    pass  # Inherits all fields from UserCredentials for user login

# class (CustomModel):
#     user_name: str
#     password: str
#     role_id: int
#     entity_id: int

class SeafarerRoleCreate(CustomModel):
    sf_role_name : str

class SeafarerRole(CustomModel):
    sf_role_id: int
    sf_role_name: str | None = None

class SeafarererRoleUpdate(CustomModel):
    sf_role_id: int
    sf_role_name: str | None = Field(default=None)    
