§
    A•jy  ã                   óÚ   — d dl mZ d dlmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZ  G d„ de¦  «        Z G d	„ d
eee                  ¦  «        Z G d„ de	eee         f         ¦  «        ZdS )é    )ÚUUID)Údatetime)ÚOptional)Ú	BaseModel)ÚIQueryÚIQueryHandler)ÚBasePostgresClientc                   óF   — e Zd ZU dZeed<   eed<   eed<   eed<   eed<   dS )ÚProjectDetailsDTOuG   Data Transfer Object tá»‘i Æ°u cho mÃ n hÃ¬nh hiá»ƒn thá»‹ (Read Model)ÚidÚnameÚproject_codeÚstatusÚ
created_atN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__Ústrr   © ó    ú>C:\Projects\DSCons\app\modules\projects\application\queries.pyr   r   	   sK   € € € € € € ØQÐQØ€H€H�HØ
€I€I�IØÐÐÑØ€K€K�KØÐÐÑÐÐr   r   c                   ó   — e Zd ZU dZeed<   dS )ÚGetProjectDetailsQueryu/   Ã� Ä‘á»‹nh láº¥y thÃ´ng tin chi tiáº¿t dá»± Ã¡nÚ
project_idN)r   r   r   r   r   r   r   r   r   r   r      s$   € € € € € € Ø9Ð9ØÐÐÑÐÐr   r   c                   ó:   — e Zd ZdZdefd„Zdedee         fd„Z	dS )ÚGetProjectDetailsQueryHandleru°   
    Xá»­ lÃ½ Query. 
    Tuyá»‡t Ä‘á»‘i khÃ´ng gá»�i Repository hay Entity Ä‘á»ƒ trÃ¡nh Overhead.
    Thá»±c thi Raw SQL trá»±c tiáº¿p Ä‘á»ƒ tá»‘i Ä‘a tá»‘c Ä‘á»™ Ä‘á»�c.
    Úpostgres_clientc                 ó   — || _         d S )N)Ú_postgres_client)Úselfr   s     r   Ú__init__z&GetProjectDetailsQueryHandler.__init__   s   € Ø /ˆÔÐÐr   ÚqueryÚreturnc                 óD   ‡— ˆfd„}| j                              d |¦  «        S )Nc                 óž   •— |                       dt          ‰j        ¦  «        f¦  «         |                      ¦   «         }|rt	          di |¤ŽS d S )Nz–
                SELECT id, name, project_code, status, created_at 
                FROM projects.projects 
                WHERE id = %s
            r   )Úexecuter   r   Úfetchoner   )ÚcurÚrowr$   s     €r   Ú	operationz7GetProjectDetailsQueryHandler.handle.<locals>.operation   sa   ø€ Ø�KŠKð õ �eÔ&Ñ'Ô'Ð)ñ	+ô +ð +ð
 —,’,‘.”.ˆCØð 0Ý(Ð/Ð/¨3Ð/Ð/Ð/Ø�4r   )r!   Ú!_execute_with_optional_connection)r"   r$   r,   s    ` r   Úhandlez$GetProjectDetailsQueryHandler.handle   s7   ø€ ð		ð 		ð 		ð 		ð 		ð Ô$×FÒFÀtÈYÑWÔWÐWr   N)
r   r   r   r   r	   r#   r   r   r   r.   r   r   r   r   r      sk   € € € € € ðð ð
0Ð(:ð 0ð 0ð 0ð 0ðXÐ2ð X°xÐ@QÔ7Rð Xð Xð Xð Xð Xð Xr   r   N)Úuuidr   r   Útypingr   Úpydanticr   Úapp.core.module_framework.cqrsr   r   Ú&app.core.postgres.base_pkg.base_clientr	   r   r   r   r   r   r   ú<module>r4      s%  ðØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø EÐ EÐ EÐ EÐ EÐ Eðð ð ð ð ˜	ñ ô ð ðð ð ð ð ˜V HÐ->Ô$?Ô@ñ ô ð ðXð Xð Xð Xð X MÐ2HÈ(ÐSdÔJeÐ2eÔ$fñ Xô Xð Xð Xð Xr   