a
    Bwj  ã                   @  s|   d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	 G dd„ deƒZ
eddG d	d
„ d
ƒƒZeddG dd„ dƒƒZdS )é    )Úannotations)ÚasdictÚ	dataclass)ÚIntEnum)ÚAnyÚMappingc                   @  s   e Zd ZdZdZdZdZdS )ÚEventPriorityé
   é   é   é(   N)Ú__name__Ú
__module__Ú__qualname__ZLOWZNORMALÚHIGHÚCRITICAL© r   r   ú6/home/opc/hanz-radar/runtime/src/hanz_server/models.pyr      ó    r   T)Úfrozenc                   @  st   e Zd ZU ded< ded< ded< ded< ded< ded	< d
ed< ded< dZded< eddœdd„ƒZdd„ ZdS )ÚDecisionSnapshotÚstrÚsymbolÚmarketÚactionÚintÚevidenceÚriskú
str | NoneÚtriggerúfloat | NoneÚpriceÚ
updated_atÚHANZÚsourcezMapping[str, Any])Úpc                 C  sú   dd„ }| t | d¡p"| d¡p"dƒ ¡  ¡ t | d¡pD| d¡pDdƒt | d	¡p^| d
¡p^dƒ ¡  ¡ t| d¡p€| d¡p€dƒt | d¡pš| d¡pšdƒ ¡  ¡ | d¡p¶| d¡|| d¡pÊ| d¡ƒt | d¡pä| d¡pädƒt | d¡pôdƒƒ	S )Nc                 S  s*   z| dv rd nt | ƒW S    Y d S 0 d S )N)NÚ )Úfloat)Úvr   r   r   Úf   s    z(DecisionSnapshot.from_mapping.<locals>.fZSIMBOLr   r&   ZPASARr   ZUNKNOWNZAKSIr   z
DATA MINIMZEVIDENCEr   r   ZRISIKOr   z	BELUM ADAZPEMICUr   ZHARGAr!   r"   Zgenerated_atr$   r#   )r   ÚgetÚstripÚupperr   )Úclsr%   r)   r   r   r   Úfrom_mapping	   s    zDecisionSnapshot.from_mappingc                 C  s   t | ƒS )N)r   )Úselfr   r   r   Úto_dict   r   zDecisionSnapshot.to_dictN)r   r   r   Ú__annotations__r$   Úclassmethodr.   r0   r   r   r   r   r      s   
Lr   c                   @  s~   e Zd ZU ded< ded< ded< ded< ded< ded< d	ed
< ded< ded< ded< ded< ded< ded< dd„ ZdS )Ú
AlertEventr   Úevent_idr   r   Ú
event_typer   Ú
old_actionÚ
new_actionr   Úpriorityr   r   r   r   r    r!   Ú
created_atÚ
message_idc                 C  s   t | ƒ}| jj|d< |S )Nr8   )r   r8   Úname)r/   Údr   r   r   r0      s    zAlertEvent.to_dictN)r   r   r   r1   r0   r   r   r   r   r3      s   
hr3   N)Ú
__future__r   Údataclassesr   r   Úenumr   Útypingr   r   r   r   r3   r   r   r   r   Ú<module>   s   	