
    (h                         d dl m Z  d dlmZmZ d dlmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ d dl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y)    )datetime)ListOptional)File)
UploadFile)	BaseModelFieldcomputed_field)
BaseSchema)Decimalc                       e Zd ZU dZee   ed<   dZee   ed<   dZ	ee   ed<   dZ
ee   ed<   dZee   ed<   dZee   ed<   y)RollupLogBaseNstatus
date_startdate_endmessage	file_namerollup_type)__name__
__module____qualname__r   r   str__annotations__r   r   r   r   r   r        X/var/www/html/wine-match-dev/backend/winematch-backend/src/apps/rollup/schemas/rollup.pyr   r   
   sX     FHSM %)J")#'Hhx '!GXc]!#Ix}#!%K#%r   r   c                       e Zd Zy)RollupLogCreateNr   r   r   r   r   r   r   r          r   r   c                       e Zd Zy)RollupLogUpdateNr   r   r   r   r"   r"      r    r   r"   c                   J    e Zd ZU dZee   ed<   dZee   ed<   dZ	ee   ed<   y)RollupLogResponseNid
created_at
updated_at)
r   r   r   r%   r   intr   r&   r   r'   r   r   r   r$   r$      s.    B%)J")%)J")r   r$   c                   "    e Zd ZU dZee   ed<   y)RollupLogFilterSchemaNr   )r   r   r   r   r   r   r   r   r   r   r*   r*      s    !%K#%r   r*   c                   *   e Zd ZU dZee   ed<   dZee   ed<   dZee   ed<   dZ	ee   ed<   dZ
ee   ed<   dZee   ed<   dZee   ed<   dZee   ed	<   dZee   ed
<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZ ee   ed<   dZ!ee   ed<   dededefdZ"y) RollupOutputNwine_alert_idwine_idvintagebottle_sizeretailerpricecurrency	tax_noteswine_urlactual_retailer_descriptionoverride_priceauctionretailer_nameaddresscitystatezipcountryship_to_countryphoneurllistingdownload	your_codeequalized_priceoriginal_price	separatorr   returnc                    g }|j                  | j                  xs d       |j                  | j                  xs d       |j                  | j                  xs d       |j                  | j                  xs d       |j                  | j
                  xs d       |j                  | j                  t        | j                        nd       |j                  | j                  xs d       |j                  | j                  xs d       |j                  | j                  xs d       |j                  | j                  xs d       |j                  | j                  xs d       |j                  | j                  xs d       |j                  | j                  xs d       |j                  | j                  xs d       |j                  | j                   xs d       |j                  | j"                  xs d       |j                  | j$                  xs d       |j                  | j&                  xs d       |j                  | j(                  xs d       |j                  | j*                  xs d       |j                  | j,                  xs d       |j                  | j.                  t        | j.                        nd       |j                  | j0                  t        | j0                        nd       |j                  | j2                  xs d       |dk(  r2|j                  | j4                  t        | j4                        nd       |j7                  |      S )aS  
        Convert the RollupOutput object to a string representation for file output.
        
        Args:
            separator (str): The separator to use between fields.
            rollup_type (str): The type of rollup (RP, WA, etc.).
            
        Returns:
            str: String representation of the rollup output.
         WA)appendr-   r.   r/   r0   r1   r2   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   join)selfrG   r   sbs       r   	to_stringzRollupOutput.to_string=   sf    
		$$$*+
		$,,$"%
		$,,$"%
		$""(b)
		$--%2&
		TZZ%;#djj/D
		$--%2&
		$..&B'
		$--%2&
		$228b9
		$%%+,
		$,,$"%
		$$$*+
		$,,$"%
		$))/r"
		$**"#
		$((.b!
		$,,$"%
		$&&,"-
		$**"#
		$((.b!
		t||'?#dll#RH
		(A#dmm$rJ
		$..&B'$II43G3G3Sc$../Y[\~~b!!r   )#r   r   r   r-   r   r   r   r.   r/   r0   r1   r2   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   boolrC   rD   rE   rF   rP   r   r   r   r,   r,   !   s   #'M8C='!GXc]!!GXc]!!%K#%"Hhsm"#E8G#"Hhsm"#Ix}#"Hhsm"15#5$(NHSM(!GXc]!#'M8C='!GXc]!D(3-E8C=C#!GXc]!%)OXc])E8C=C#"GXd^"#Hhtn##Ix}#)-OXg&-(,NHW%,("3 ("S ("S ("r   r,   N)r   typingr   r   fastapir   FastAPIFiler   pydanticr   r	   r
   src.apps.base.schemas.commonr   decimalr   r   r   r"   r$   r*   r,   r   r   r   <module>rX      sg     ! '  5 5 3 &J &	m 		m 	* *
&I &D": D"r   