
    i9                         d dl Z d dlmZmZmZ  ee      Z e j                  d      ZdedefdZ	dedz  dedz  fdZ
y)    N)EmailStrTypeAdapterValidationErrorz^[\d\s()+\-./]+$valuereturnc                 .   | j                         }|st        d      t        j                  |      st        d      |j	                  d      }dj                  d |D              }t        |      dk  st        |      dkD  rt        d      |rd| S |S )Nz'Inserisci un numero di telefono valido.+ c              3   B   K   | ]  }|j                         s|  y w)N)isdigit).0	characters     H/var/www/html/PRENOTAZIONI_IA/backend/app/services/contact_validation.py	<genexpr>z+normalize_customer_phone.<locals>.<genexpr>   s     O99;L;L;NYOs         )strip
ValueErrorPHONE_ALLOWED_CHARACTERS	fullmatch
startswithjoinlen)r   cleanedhas_plus_prefixdigitss       r   normalize_customer_phoner   	   s    kkmGBCC#--g6BCC((-OWWOOOF
6{Q#f+*BCC*Qvh<66    c                     | xs dj                         }|sy 	 t        t        j                  |            S # t        $ r}t        d      |d }~ww xY w)Nr
   z$Inserisci un indirizzo email valido.)r   strEMAIL_ADAPTERvalidate_pythonr   r   )r   r   excs      r   !normalize_optional_customer_emailr$      sV    {!!#GJ=009:: J?@cIJs   7 	A AA)repydanticr   r   r   r!   compiler   r    r   r$    r   r   <module>r)      s[    	 ; ;H%%2::&9: 7C 7C 7JS4Z JC$J Jr   