
    i                         d dl mZ d dlmZ d dlmZ d dlmZ dZde	de
fdZd	d
de
dede	fdZdedefdZdedefdZy)    )Room)Table)RoomRead)	TableReadd   unitsreturnc                 (    t        | t        z  d      S )N   )roundLAYOUT_UNITS_PER_METER)r   s    4PRENOTAZIONI_IA/backend/app/services/layout_units.pyunits_to_metersr   
   s    //33    F)
allow_zerometersr   c                Z    t        t        | dz        dz        }|rdnd}t        ||      S )N
   r   r   )intr   max)r   r   scaledminimums       r   meters_to_unitsr      s0    v{#b()Fa1Gwr   roomc                 |   t        di d| j                  d| j                  d| j                  dt	        | j
                        dt	        | j                        d| j                  d| j                  t	        | j                        nd d| j                  t	        | j                        nd d	| j                  t	        | j                        nd d
| j                  t	        | j                        nd d| j                  d| j                  d| j                  t	        | j                        nd d| j                  t	        | j                        nd d| j                   t	        | j                         nd d| j"                  t	        | j"                        nd d| j$                  d| j&                  S )Nidvenue_idnamewidthheightcounter_name	counter_x	counter_ycounter_widthcounter_heightcounter_visibleentrance_name
entrance_x
entrance_yentrance_widthentrance_heightentrance_visiblebackground_image_data_url )r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   )r   s    r   serialize_roomr/      s    77 YY djj)	
 t{{+ && 6:^^5O/$..1UY 6:^^5O/$..1UY >B=O=O=[od&8&89ae @D?R?R?^t':':;dh ,, (( 8<7R?4??3X\ 8<7R?4??3X\ @D?R?R?^t':':;dh  BFAUAUAa(<(<=gk!" ..#$ #'"@"@% r   tablec                    t        | j                  | j                  | j                  t	        | j
                        t	        | j                        t	        | j                        t	        | j                        | j                  t        | j                  d      | j                  | j                  | j                  | j                        S )Nr   )r   room_idr   xyr   r    shaperotation_degrees	min_seats	max_seats
join_group	is_active)r   r   r2   r   r   r3   r4   r   r    r5   r   r6   r7   r8   r9   r:   )r0   s    r   serialize_tabler;   +   s    88ZZ
%''
"
%''
"ekk*u||,kku55q9////##// r   N)app.models.roomr   app.models.tabler   app.schemas.roomr   app.schemas.tabler   r   r   floatr   boolr   r/   r;   r.   r   r   <module>rB      sq      " % '  43 45 4 :?  E  $  3   ( .5 Y r   