from typing import Optional, List
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
    PydanticBaseModel,
    ListOptions,
)


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


class UpdateUsers(PydanticBaseModel):
    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 QueryUsers(PydanticBaseModel):
    uu_id: Optional[str] = None


class DeleteUsers(PydanticBaseModel):
    key_id: Optional[str] = None
    query: Optional[List[QueryUsers]] = None
    data: Optional[dict] = None


class ListUsers(PydanticBaseModel):
    key_id: Optional[str] = None
    query: Optional[QueryUsers] = None
    data: Optional[ListOptions] = None


class ActiveUsers(PydanticBaseModel):
    key_id: Optional[str] = None
    query: Optional[List[QueryUsers]] = None
    data: Optional[dict] = None
