
    g<i'                     >   d dl mZ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
 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 G d de      Z G d de      Z G d de      Zy)    )AliasChoices	BaseModel
ConfigDictFieldfield_validatorc                   J    e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   y)LoginRequestN
identifierpasswordsession_token)__name__
__module____qualname__r
   str__annotations__r   r        )apps/ordini/backend/app/schemas/common.pyr	   r	      s,    !Jd
!HcDj $M3:$r   r	   c            	          e Zd ZU  ed      Z e eddd            Zee	d<    e eddd	            Z
ee	d<    e ed
dd            Zee	d
<    ed eddd            Zedz  e	d<    ed eddd            Zedz  e	d<    ed edd            Zedz  e	d<    ed edddd            Zedz  e	d<    ed eddd            Zedz  e	d<    ed edd            Zedz  e	d<    ed ed d!            Zedz  e	d <    ed ed"d#            Zedz  e	d"<   dZedz  e	d$<    eddd
d%&      ed'ed(efd)              Z eddd d%&      ed'ed(edz  fd*              Z eddddd"d$d%&      ed'ed(edz  fd+              Zy),ProductUpsertTpopulate_by_nameproduct_nameprodottoProdottovalidation_aliaslot_codelottoLOTTOsupplier_name	fornitore	FORNITORENproduct_codecodice_prodottocodicedefaultr   final_price_vatprezzo_finale_ivatoprezzovat_rateiva	weight_kgumpeso_kgpesounit_price_per_kgprezzo_un_kg	prz_un_kgcategory	categorianotesnoteunits_per_packunit_per_packliters_per_unitbeforemodevaluereturnc                 <    t        |xs d      j                         S N r   stripclsr?   s     r   _strip_requiredzProductUpsert._strip_required         5;B%%''r   c                 F    |y t        |      j                         }|xs d S NrD   rG   r?   texts      r   _strip_optional_textz"ProductUpsert._strip_optional_text%   (     =5z!|tr   c                    |y t        |t        t        f      rt        |      S t        |      j	                         }|r|j                         dv ry |j                  d      r|d d j	                         }d|v r'd|v r#|j                  dd      j                  dd      }nd|v r|j                  dd      }	 t        |      S # t        $ r Y y w xY wN>   #DIV/0!PZ%,.rC   	
isinstanceintfloatr   rE   upperendswithreplace
ValueErrorrL   s      r   _coerce_optional_floatz$ProductUpsert._coerce_optional_float-        =ec5\*<5z!tzz|'88==9??$D$;3$;<<R(00c:DD[<<S)D	; 		   9
C 	CC)r   r   r   r   model_configr   r   r   r   r   r   r!   r$   r)   r[   r,   r.   r2   r5   r7   r9   r;   r   classmethodobjectrH   rN   r`   r   r   r   r   r   
   s'   t4L|NJXb/cdL#d<
GW+UVHcV_k[f0ghM3h$TLQ_art|D}~L#*~$)%&79NPXY%OUT\  #4,z[`BabHedlb#D<P[]aclntCuvIut|v&+%&9>;W'ut|  !ZYd@efHcDjfd\'SY=Z[E3:[#(UegvHw#xNEDLx$(OUT\(^ZxP(F (s (  Q( ^ZxH C$J   I  6 edl  r   r   c                       e Zd ZU eed<   eed<   eed<   eed<   edz  ed<   edz  ed<   edz  ed<   edz  ed	<   edz  ed
<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   y)ProductReadidr   r   r!   Nr$   r)   r,   r.   r2   r5   r7   r9   r;   )r   r   r   rZ   r   r   r[   r   r   r   rg   rg   O   sr    GM*T\!dlt|t|#Dj:DL T\!r   rg   c            	           e Zd ZU  ed      Z e edddd            Zee	d<    ed ed	d
dd            Z
edz  e	d	<    ed eddd            Zedz  e	d<    ed eddd            Zedz  e	d<    ed eddd            Zedz  e	d<    ed edd            Zedz  e	d<    ed edddd            Zedz  e	d<    ed eddd            Zedz  e	d<    ed ed d!            Zedz  e	d <    ed ed"d#            Zedz  e	d"<    ed ed$d%            Zedz  e	d$<   dZedz  e	d&<    edd'(      ed)ed*efd+              Z ed	ddd d"d'(      ed)ed*edz  fd,              Z eddddd$d&d'(      ed)ed*edz  fd-              Zy).SupplierCatalogRowTr   source_namer   r   nomer   Nsource_lot_coder   r   formator'   source_supplier_namer!   r"   r$   r%   r&   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r?   r@   c                 <    t        |xs d      j                         S rB   rD   rF   s     r   _strip_source_namez%SupplierCatalogRow._strip_source_name{   rI   r   c                 F    |y t        |      j                         }|xs d S rK   rD   rL   s      r    _strip_optional_text_for_catalogz3SupplierCatalogRow._strip_optional_text_for_catalog   rO   r   c                    |y t        |t        t        f      rt        |      S t        |      j	                         }|r|j                         dv ry |j                  d      r|d d j	                         }d|v r'd|v r#|j                  dd      j                  dd      }nd|v r|j                  dd      }	 t        |      S # t        $ r Y y w xY wrQ   rX   rL   s      r   "_coerce_optional_float_for_catalogz5SupplierCatalogRow._coerce_optional_float_for_catalog   ra   rb   )r   r   r   r   rc   r   r   rk   r   r   rm   ro   r$   r)   r[   r,   r.   r2   r5   r7   r9   r;   r   rd   re   rq   rs   ru   r   r   r   rj   rj   _   sN   t4Ll=.Zdfl.mnKn"'%&7WiX#OS4Z  (-%&<o{[(#*   %TLQ_art|D}~L#*~$)%&79NPXY%OUT\  #4,z[`BabHedlb#D<P[]aclntCuvIut|v&+%&9>;W'ut|  !ZYd@efHcDjfd\'SY=Z[E3:[#(UegvHw#xNEDLx$(OUT\(]2(v (# (  3( &(>PZ\cjrsV d
   t  v %$,  r   rj   c                       e Zd ZU dZedz  ed<   dZedz  ed<   dZeed<   e	e
   ed<    eddd      ed	ed
edz  fd              Zy)SupplierCatalogPreviewRequestNr!   default_lot_codeTcreate_missingrowsr<   r=   r?   r@   c                 F    |y t        |      j                         }|xs d S rK   rD   rL   s      r   _strip_preview_optionz3SupplierCatalogPreviewRequest._strip_preview_option   rO   r   )r   r   r   r!   r   r   rx   ry   boollistrj   r   rd   re   r|   r   r   r   rw   rw      sl     $M3:$#'cDj'ND
!
""_&8xH& S4Z   Ir   rw   c                       e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   e	e
   ed<    eddddd      ed	ed
edz  fd              Zy)SupplierCatalogCreateRequestNcatalog_namesource_file_namer!   rx   rz   r<   r=   r?   r@   c                 F    |y t        |      j                         }|xs d S rK   rD   rL   s      r   _strip_catalog_create_optionz9SupplierCatalogCreateRequest._strip_catalog_create_option   rO   r   )r   r   r   r   r   r   r   r!   rx   r~   rj   r   rd   re   r   r   r   r   r   r      s    #L#*##'cDj' $M3:$#'cDj'
!
""^%7J\ckl C$J   mr   r   c                   4    e Zd ZU eed<    ed      Zeed<   y)OrderSelection
product_id   )gequantityN)r   r   r   rZ   r   r   r   r   r   r   r   r      s    OQKHcr   r   c                   2    e Zd ZU dZedz  ed<   ee   ed<   y)OrderCreateRequestNstaffitems)r   r   r   r   r   r   r~   r   r   r   r   r   r      s    E3:r   r   c                   <    e Zd ZU eed<   dZedz  ed<   ee   ed<   y)OrderUpdateRequestbatch_idNr   r   )	r   r   r   rZ   r   r   r   r~   r   r   r   r   r   r      s     ME3:r   r   c                   6    e Zd ZU dZedz  ed<   dZedz  ed<   y)OrderDeleteRequestNr   	timestamp)r   r   r   r   rZ   r   r   r   r   r   r   r   r      s    HcDj IsTz r   r   c                   :    e Zd ZU  ed edd            Zeed<   y)SharedNoteCreater   rM   testo
min_lengthr   N)r   r   r   r   r   rM   r   r   r   r   r   r   r      s    \&'5RSD#Sr   r   c                   ,    e Zd ZU  edd      Zeed<   y)SafetyStockSettingsUpdater   im  )r   leminimum_daysN)r   r   r   r   r   r[   r   r   r   r   r   r      s    1-L%-r   r   c            	          e Zd ZU  ed      ZdZedz  ed<    ed e	dd            Z
eed<    e e	d	d
d            Zeed	<    ed e	dd            Zedz  ed<    ed e	dd            Zedz  ed<    ed e	dd            Zedz  ed<    ed e	dd            Zedz  ed<   dZedz  ed<   dZedz  ed<    ed e	ddd            Zedz  ed<    ed e	dd            Zedz  ed<    edd	d      eded efd!              Z eddddddd      eded edz  fd"              Z eddd      eded edz  fd#              Zy)$
GoalUpsertTr   Nyearr   namerl   r   	goal_typetypetipor   descriptiondescrizioner'   product_matchr   secondary_product_matchsecondo_prodottosupplier_matchr"   targetsecondary_target
unit_labelunitunitabonus_labelbonusr<   r=   r?   r@   c                 <    t        |xs d      j                         S rB   rD   rF   s     r   _strip_goal_requiredzGoalUpsert._strip_goal_required   rI   r   c                 F    |y t        |      j                         }|xs d S rK   rD   rL   s      r   _strip_goal_optional_textz$GoalUpsert._strip_goal_optional_text   s(     =5z!|tr   c                 :   |y t        |t        t        f      rt        |      S t        |      j	                         }|sy d|v r'd|v r#|j                  dd      j                  dd      }nd|v r|j                  dd      }	 t        |      S # t        $ r Y y w xY w)NrV   rW   rC   )rY   rZ   r[   r   rE   r^   r_   rL   s      r   _coerce_goal_floatzGoalUpsert._coerce_goal_float  s     =ec5\*<5z!$;3$;<<R(00c:DD[<<S)D	; 		s   
B 	BB)r   r   r   r   rc   r   rZ   r   r   r   r   r   r   r   r   r   r   r   r[   r   r   r   r   rd   re   r   r   r   r   r   r   r   r      s   t4LD#*\&&5QRD#RLff,UVIsV#D<P]_lCmnKtn %d\RacmEn oM3:o*/%&?AST+S4Z  "'tlScepFq!rNC$JrFEDL%)edl)"4,|]celBmnJd
n#D<P]_fCghKthV[x8( (C (  9( ! f t   X1Av %$,   Br   r   N)pydanticr   r   r   r   r   r	   r   rg   rj   rw   r   r   r   r   r   r   r   r   r   r   r   <module>r      s    P P%9 %BI BJ") " H HVI 9   Y  
   
   ! !
Ty T.	 .8 8r   