
    Eoh"                         d dl mZm Z  d dlmZ d dlmZmZ d dlmZ d dl	m
Z
  G d de      Z G d d	e      Z G d
 de      Z G d de      Z G d de      Z G d de      Zy)    )datedatetime)Optional)	BaseModelField)
BaseSchema)FileResponseSchemac                   F    e Zd ZU eed<   eed<    edd      Zee   ed<   y)LoginRequest
identifierpasswordFzKeep session active for 7 days)defaultdescriptionkeep_sessionN)	__name__
__module____qualname__str__annotations__r   r   r   bool     \/var/www/html/wine-match-dev/backend/winematch-backend/src/apps/auth/schemas/auth_schemas.pyr   r   
   s"    OM#(Dd#eL(4.er   r   c                   ,    e Zd ZU eed<   eed<   eed<   y)LoginResponseaccess_token
token_type
expires_atN)r   r   r   r   r   r   r   r   r   r   r      s    Or   r   c                   0    e Zd ZU dZeed<    G d d      Zy)UserLastSeenSchemazs
    Schema for user last seen.

    Attributes:
        last_seen (str): The last seen timestamp of the user.
    	last_seenc                       e Zd ZdZdZdZy)UserLastSeenSchema.ConfigTN)r   r   r   from_attributesvalidate_defaultarbitrary_types_allowedr   r   r   Configr#       s    "&r   r'   N)r   r   r   __doc__r   r   r'   r   r   r   r    r       s     N' 'r   r    c                   X    e Zd ZU dZeed<   eed<    ej                         Ze	e   ed<   y)AdminsSchemaz
    Schema for admin users.

    Attributes:
        user_id (str): The ID of the user.
        admin_id (str): The ID of the admin.
        created_at (Optional[str]): Timestamp of admin creation.
    user_idadmin_id
created_atN
r   r   r   r(   r   r   r   nowr-   r   r   r   r   r*   r*   &   s)     LM ,J.r   r*   c                   X    e Zd ZU dZeed<   eed<    ej                         Ze	e   ed<   y)SuperAdminsSchemaz
    Schema for super admin users.

    Attributes:
        user_id (str): The ID of the user.
        super_admin_id (str): The ID of the super admin.
        created_at (Optional[str]): Timestamp of super admin creation.
    r+   super_admin_idr-   Nr.   r   r   r   r1   r1   5   s*     L ,J.r   r1   c                   X    e Zd ZU dZeed<   eed<    ej                         Ze	e   ed<   y)UserRolesSchemaz
    Schema for user roles.

    Attributes:
        user_id (str): The ID of the user.
        role (str): The role assigned to the user.
        created_at (Optional[str]): Timestamp of role assignment.
    r+   roler-   Nr.   r   r   r   r4   r4   D   s)     L
I ,J.r   r4   N)r   r   typingr   pydanticr   r   src.apps.base.schemas.commonr   src.apps.files.schemas.filer	   r   r   r    r*   r1   r4   r   r   r   <module>r:      s^    #  % 3 :f9 fI ' ' /9 //	 //i /r   