
    i                    `    d dl mZ d dlmZmZ d dlmZ d dlmZ h dZ	ddZ
ddZddZdd	Zy
)    )annotations)funcselect)Session)WhatsAppContact>    unknownsconosciutoc                    | sy | j                         }|sy |j                  d      }dj                  d |D              }t        |      dk  ry |rd| S |S )N+r   c              3  B   K   | ]  }|j                         s|  y wN)isdigit).0	characters     N/var/www/html/PRENOTAZIONI_IA/backend/app/services/whatsapp_contact_service.py	<genexpr>z*normalize_contact_phone.<locals>.<genexpr>   s     O99;L;L;NYOs      )strip
startswithjoinlen)valuetrimmedhas_plusdigitss       r   normalize_contact_phoner      s^    kkmG!!#&HWWOOOF
6{Q#Qvh<//    c                    | sy dj                  | j                         j                               }|j                         t        v ry |S )N )r   r   splitcasefoldUNKNOWN_CONTACT_NAMES)r   cleaneds     r   normalize_contact_namer%      s?    hhu{{}**,-G22Nr   c                   t        |       }|y |j                  t        t              j	                  t        j
                  |k(              }t        |      }|4t        ||xs |      }|j                  |       |j                          |S |r||_	        t        j                         |_        |j                          |S )N)contact_phonedisplay_name)r   scalarr   r   wherer'   r%   addflushr(   r   nowlast_seen_at)phoner(   dbnormalized_phonecontactnormalized_names         r   remember_whatsapp_contactr4   !   s    .u5ii/55o6S6SWg6ghiG,\:O!*(<,<
 	w

.88:GHHJNr   c                    t        |       }|y |j                  t        t              j	                  t        j
                  |k(              }|y t        |j                        S r   )r   r)   r   r   r*   r'   r%   r(   )r/   r0   r1   r2   s       r   get_known_whatsapp_contact_namer6   8   sY    .u5ii/55o6S6SWg6ghiG!'"6"677r   N)r   
str | Nonereturnr7   )r/   r7   r(   r7   r0   r   r8   zWhatsAppContact | None)r/   r7   r0   r   r8   r7   )
__future__r   
sqlalchemyr   r   sqlalchemy.ormr   app.models.whatsappr   r#   r   r%   r4   r6    r   r   <module>r>      s+    " # " /6 
0.8r   