
    &Xj$	                         d Z ddlmZ ddlmZ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
y)z
Pydantic schemas for the Scheduler API.

These mirror the GraphQL input/output types defined in the PHP codebase
(CreateSchedulerMutation args, UpdateSchedulerMutation args, SchedulerType fields).
    )Optional)	BaseModelFieldc                       e Zd ZU dZ edd      Zeed<    edd      Zeed<    edd      Z	eed	<    edd
      Z
eed<    edd      Zeed<    edd      Zeed<   y)CreateSchedulerRequestz%Matches CreateSchedulerMutation args..zGame date (YYYY-MM-DD)descriptiondatezStart time (HH:MM:SS or HH:MM)timeHome team namehomeAway team nameawayLocation / resource namelocationDivision / level descriptiondivisionN)__name__
__module____qualname____doc__r   r
   str__annotations__r   r   r   r   r        2/var/www/html/myl_app/scheduler-service/schemas.pyr   r      sq    /c'?@D#@c'GHD#Hc'78D#8c'78D#8#+EFHcF#+IJHcJr   r   c                       e Zd ZU dZ edd      Zee   ed<    edd      Z	ee   ed<    edd      Z
ee   ed	<    edd
      Zee   ed<    edd      Zee   ed<    edd      Zee   ed<   y)UpdateSchedulerRequestz4Matches UpdateSchedulerMutation args (all optional).Nz	Game dater   r
   z
Start timer   r   r   r   r   r   r   r   r   )r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r      s    >+>D(3->,?D(3-?2BCD(3-C2BCD(3-C#D6PQHhsmQ#D6TUHhsmUr   r   c                       e Zd ZU dZeed<   dZee   ed<   dZ	ee   ed<   dZ
ee   ed<   dZee   ed<   dZee   ed<   dZee   ed	<   dZee   ed
<   dZee   ed<   y)SchedulerResponsez1Matches the SchedulerType fields resolved in PHP.idNr
   r   r   r   r   r   
created_at
updated_at)r   r   r   r   intr   r
   r   r   r   r   r   r   r   r"   r#   r   r   r   r    r    (   sz    ;GD(3-D(3-D(3-D(3-"Hhsm""Hhsm" $J$ $J$r   r    c                   @    e Zd ZU dZee   ed<   eed<   eed<   eed<   y)PaginatedSchedulerResponsez,Wraps a paginated list of scheduler entries.datatotalpageper_pageN)r   r   r   r   listr    r   r$   r   r   r   r&   r&   5   s     6
 
!!J
IMr   r&   c                   *    e Zd ZU dZeed<   dZeed<   y)DeleteResponsez,Simple boolean result for delete operations.success messageN)r   r   r   r   boolr   r0   r   r   r   r   r-   r-   =   s    6MGSr   r-   N)r   typingr   pydanticr   r   r   r   r    r&   r-   r   r   r   <module>r4      sR     %KY KVY V
%	 
% Y r   