§
    Ó@•j0  ã                   ó^   — d dl m Z  d dlmZmZ d dlmZ d dlmZmZm	Z	  G d„ de¦  «        Z
dS )é    )Údatetime)ÚUUIDÚuuid4)ÚOptional)Ú	BaseModelÚFieldÚmodel_validatorc                   ó  — e Zd ZU dZ ee¬¦  «        Zeed<    eddd¬¦  «        Z	e
ed<    edd	d
¬¦  «        Ze
ed<   eed<   dZee
         ed<   dZe
ed<    eej        ¬¦  «        Zeed<    ed¬¦  «        dd„¦   «         ZdS )ÚProjectu™   
    Core Domain Entity cho PhÃ¢n há»‡ Dá»± Ã�n.
    HoÃ n toÃ n Ä‘á»™c láº­p (Persistence Ignorance), khÃ´ng káº¿ thá»«a báº¥t ká»³ class ORM nÃ o.
    )Údefault_factoryÚid.é   éÈ   )Ú
min_lengthÚ
max_lengthÚnameé   é2   Úproject_codeÚ
start_dateNÚdescriptionÚDRAFTÚstatusÚ
created_atÚafter)ÚmodeÚreturnc                 óà   — | j                              ¦   «         s| j                              ¦   «         | _         | j        dk    r+| j        t          j        ¦   «         k    rt          d¦  «        ‚| S )NÚIN_PROGRESSuO   Dá»± Ã¡n Ä‘ang thi cÃ´ng khÃ´ng thá»ƒ cÃ³ ngÃ y báº¯t Ä‘áº§u trong tÆ°Æ¡ng lai.)r   ÚisupperÚupperr   r   r   ÚutcnowÚ
ValueError)Úselfs    ú:C:\Projects\DSCons\app\modules\projects\domain\entities.pyÚvalidate_business_ruleszProject.validate_business_rules   si   € ð Ô ×(Ò(Ñ*Ô*ð 	:Ø $Ô 1× 7Ò 7Ñ 9Ô 9ˆDÔð Œ;˜-Ò'Ð'¨D¬O½h¼oÑ>OÔ>OÒ,OÐ,OÝÐnÑoÔoÐoàˆó    )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   Ú__annotations__r   Ústrr   r   r   r   r   r"   r   r	   r&   © r'   r%   r   r      sü   € € € € € € ðð ð ˆu UÐ+Ñ+Ô+€BˆÐ+Ð+Ñ+Ø��c a°CÐ8Ñ8Ô8€Dˆ#Ð8Ð8Ñ8Ø˜˜c¨a¸BÐ?Ñ?Ô?€L�#Ð?Ð?Ñ?ØÐÐÑØ!%€K�˜#”Ð%Ð%Ñ%Ø€FˆCÐÐÑØ ˜5°´ÐAÑAÔA€J�ÐAÐAÑAà€_˜'Ð"Ñ"Ô"ð
ð 
ð 
ñ #Ô"ð
ð 
ð 
r'   r   N)r   Úuuidr   r   Útypingr   Úpydanticr   r   r	   r   r.   r'   r%   ú<module>r2      s“   ðØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ˆiñ ô ð ð ð r'   