
    i                         d dl mZmZ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)    )	BaseModel
ConfigDictFieldfield_validatorc                   ~   e Zd ZU eed<    edd      Zeed<    ed      Ze	ed<    ed      Z
e	ed	<    ed
      Ze	ed<    ed
      Ze	ed<    edd      Zeed<    eddd      Ze	ed<    ed
      Zeed<    ed
      Zeed<    edd      Zedz  ed<   dZeed<    ed      ededefd              Zy)	TableBaseroom_id   P   )
min_length
max_lengthnamer   )gexy)gtwidthheightsquarez^(square|round)$)defaultpatternshapegfffff~v@)r   r   lerotation_degrees	min_seats	max_seatsN)r   r   
join_groupT	is_activevaluereturnc                 `    |j                   j                  d      }|||k  rt        d      |S )Nr   z3max_seats deve essere maggiore o uguale a min_seats)dataget
ValueError)clsr   infor   s       :/var/www/html/PRENOTAZIONI_IA/backend/app/schemas/table.pyvalidate_seatszTableBase.validate_seats   s4     IIMM+.	 UY%6RSS    )__name__
__module____qualname__int__annotations__r   r   strr   floatr   r   r   r   r   r   r   r   r   boolr   classmethodr(    r)   r'   r   r      s    Lr2D#2{Au{AuA;E5QKFEx1CDE3D#A!>e>a[Is a[Is "4B?Jd
?It[!3    "r)   r   c                       e Zd Zy)TableCreateNr*   r+   r,   r3   r)   r'   r5   r5          r)   r5   c                       e Zd Zy)TableUpdateNr6   r3   r)   r'   r9   r9      r7   r)   r9   c                   *    e Zd ZU eed<    ed      Zy)	TableReadidTfrom_attributesN)r*   r+   r,   r-   r.   r   model_configr3   r)   r'   r;   r;   #   s    Gd3Lr)   r;   c                   l    e Zd ZU eed<   eed<   eed<   ee   ed<   eed<   eed<   eed<    ed	      Z	y
)TableCombinationReadr<   r	   r   	table_idsr   r   r   Tr=   N)
r*   r+   r,   r-   r.   r/   listr1   r   r?   r3   r)   r'   rA   rA   )   s4    GL
ICyNNOd3Lr)   rA   N)
pydanticr   r   r   r   r   r5   r9   r;   rA   r3   r)   r'   <module>rE      sG    B B	 .	) 		) 	4	 4	49 	4r)   