from typing import Optional
from api_validations.validations_request import (
    PydanticBaseModel,
)


class InsertUsersValidation:
    tr = {
        "people_uu_id": "Kişi UUID",
        "user_tag": "Kullanıcı Etiketi",
        "email": "E-posta",
        "phone_number": "Telefon Numarası",
        "avatar": "Avatar",
    }
    en = {
        "people_uu_id": "People UUID",
        "user_tag": "User Tag",
        "email": "Email",
        "phone_number": "Phone Number",
        "avatar": "Avatar",
    }


class InsertUsers(PydanticBaseModel, InsertUsersValidation):
    people_uu_id: str
    user_tag: str
    email: Optional[str] = None
    phone_number: Optional[str] = None
    avatar: Optional[str] = None


class UpdateUsersValidation:
    tr = {
        "people_uu_id": "Kişi UUID",
        "nick_name": "Kullanıcı Etiketi",
        "domain_name": "Domain Adı",
        "email": "E-posta",
        "phone_number": "Telefon Numarası",
        "avatar": "Avatar",
    }
    en = {
        "people_uu_id": "People UUID",
        "nick_name": "User Tag",
        "domain_name": "Domain Name",
        "email": "Email",
        "phone_number": "Phone Number",
        "avatar": "Avatar",
    }


class UpdateUsers(PydanticBaseModel, UpdateUsersValidation):
    people_uu_id: Optional[str] = None
    nick_name: Optional[str] = None
    domain_name: Optional[str] = None
    email: Optional[str] = None
    phone_number: Optional[str] = None
    avatar: Optional[str] = None


class QueryUsersValidation:
    tr = {
        "uu_id": "UUID",
    }
    en = {
        "uu_id": "UUID",
    }


class QueryUsers(PydanticBaseModel):
    uu_id: Optional[str] = None
