U
    iY                     @   s   d dl mZm Z  d dlmZmZmZmZ d dlmZ G dd deZ	G dd deZ
G dd	 d	eZG d
d deZG dd deZG dd deZG dd deZdS )    )datedatetime)AnyDictListOptional)	BaseModelc                   @   sV   e Zd ZU eed< eed< eed< eed< eed< eed< eed< eed< d	d
iZdS )AttachmentOutidinvestment_idgoogle_drive_file_idgoogle_drive_view_urloriginal_filenamecontent_type	file_size
created_atfrom_attributesTN)__name__
__module____qualname__str__annotations__intr   model_config r   r   </var/www/html/me.goteku.com/backend/app/schemas/portfolio.pyr	      s   
r	   c                   @   s2  e Zd ZU eed< dZee ed< eed< eed< eed< dZeed< d	Ze	ed
< eed< e
ed< dZee ed< dZee
 ed< dZeed< dZeed< dZe	ed< dZeed< dZe	ed< dZeed< dZee
 ed< dZe	ed< dZeed< dZeed < dZee
 ed!< dZee	 ed"< dZee ed#< dS )$InvestmentCreatebankNplatforminvestment_numberinvestment_typeinvestment_nameIDRcurrencyg      ?	kurs_beli
owner_nameinvestment_datetenor_monthsmaturity_date   unitsi@B face_value_per_unitg      Y@purchase_pricer   nominal_idrg        interest_rateat_maturitycoupon_frequencynext_coupon_datetax_rateFis_tax_inclusiveactivestatus	sold_date
sold_pricenotes)r   r   r   r   r   r   r   r#   r$   floatr   r'   r   r(   r*   r+   r,   r-   r.   r0   r1   r2   r3   boolr5   r6   r7   r8   r   r   r   r   r      s0   
r   c                   @   s  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S )InvestmentUpdateNr   r   r   r    r!   r#   r$   r%   r&   r'   r(   r*   r+   r,   r-   r.   r0   r1   r2   r3   r5   r6   r7   r8   )"r   r   r   r   r   r   r   r   r   r    r!   r#   r$   r9   r%   r&   r   r'   r   r(   r*   r+   r,   r-   r.   r0   r1   r2   r3   r:   r5   r6   r7   r8   r   r   r   r   r;   2   s0   
r;   c                   @   sn  e Zd ZU eed< eed< ee ed< eed< eed< eed< eed< eed< eed	< eed
< ee ed< ee ed< eed< eed< eed< eed< eed< eed< ee ed< eed< e	ed< eed< ee ed< ee ed< ee ed< e
ed< 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  ed"< d#d$iZdS )%InvestmentOutr
   r   r   r   r    r!   r#   r$   r%   r&   r'   r(   r*   r+   r,   r-   r.   r0   r1   r2   r3   r5   r6   r7   r8   r   
updated_atNtotal_face_valuetotal_cost_idrgross_coupon_per_periodnet_coupon_per_periodannual_net_incomeattachmentsr   T)r   r   r   r   r   r   r9   r   r   r:   r   r>   r?   r@   rA   rB   rC   r   r	   r   r   r   r   r   r<   M   sD   
r<   c                   @   sf   e Zd ZU eed< eed< eed< eed< eed< eed< dZee ed< dZ	ee ed	< eed
< dS )UpcomingEventtyper   r!   r    r   
days_untilN
net_amountr-   r#   )
r   r   r   r   r   r   r   rG   r   r-   r   r   r   r   rD   x   s   
rD   c                   @   sr   e Zd ZU eed< eed< eed< eed< eed< ee ed< eeef ed< eeef ed< eeef ed	< d
S )DashboardOuttotal_value_idrr?   unrealized_pnlrB   investment_countupcoming_eventsallocation_by_typeallocation_by_currencyallocation_by_bankN)	r   r   r   r   r   r   rD   r   r   r   r   r   r   rH      s   
rH   c                   @   sj   e Zd ZU ee ed< ee ed< ee ed< ee ed< eeef ed< eeef ed< ee ed< dS )	PortfolioConfigOutZbanksZ	platformsZ
currenciesZinvestment_typesZinvestment_type_labelsZtype_defaultsZcoupon_frequenciesN)r   r   r   r   r   r   r   r   r   r   r   r   rP      s   
rP   N)r   r   typingr   r   r   r   pydanticr   r	   r   r;   r<   rD   rH   rP   r   r   r   r   <module>   s   +