§
    .Q¶ja  ã                  ó~   — d dl mZ d dlZd dlmZ d dlmZmZ ddlm	Z	  ej
        d¦  «        Z G d„ d	e	¦  «        ZdS )
é    )ÚannotationsN)ÚProjectCrudPort)ÚProjectManagementResponseÚProjectManagementRecordé   )ÚContractComplianceMixinzdscons.project_managementc                  ó$   — e Zd ZdZd
dd„Zdd	„ZdS )ÚProjectManagementServicezJFetch project management data from PostgreSQL with safe fallback behavior.NÚrepoúProjectCrudPort | NoneÚreturnÚNonec                ó8   — |€ddl m}  |¦   «         }|| _        d S )Nr   )ÚPostgresClient)Úapp.core.postgresr   Ú_repo)Úselfr   r   s      úQC:\Projects\DSCons\app\modules\projects\application\project_management\service.pyÚ__init__z!ProjectManagementService.__init__   s1   € Øˆ<à8Ð8Ð8Ð8Ð8Ð8Ø!�>Ñ#Ô#ˆDØˆŒ
ˆ
ˆ
ó    r   c                óN  — | j                              ¦   «         st          g ddd¬¦  «        S 	 | j                              ¦   «         }n-# t          $ r }t          g ddd|› �¬¦  «        cY d}~S d}~ww xY w|st          g ddd¬¦  «        S t          d„ |D ¦   «         ddd¬¦  «        S )	zJReturn PostgreSQL-backed data. Strictly no synthetic/mock data per Rule 1.ÚpostgresFup   PostgreSQL chÆ°a Ä‘Æ°á»£c cáº¥u hÃ¬nh nÃªn chÆ°a thá»ƒ hiá»ƒn thá»‹ dá»¯ liá»‡u quáº£n lÃ½ dá»± Ã¡n thá»±c táº¿.)ÚitemsÚsourceÚused_fallbackÚmessageu1   KhÃ´ng thá»ƒ káº¿t ná»‘i PostgreSQL. Chi tiáº¿t: Nu`   PostgreSQL khÃ´ng cÃ³ dá»¯ liá»‡u quáº£n lÃ½ dá»± Ã¡n thá»±c táº¿ trong cÃ¡c báº£ng váº­n hÃ nh.c                ó&   — g | ]}t          d i |¤Ž‘ŒS )© )r   )Ú.0Úitems     r   ú
<listcomp>zHProjectManagementService.get_project_management_data.<locals>.<listcomp>4   s'   € ÐEÐEÐE°tÕ*Ð2Ð2¨TÐ2Ð2ÐEÐEÐEr   )r   Ú
is_enabledr   Ú fetch_project_management_recordsÚ	Exception)r   r   Úexcs      r   Úget_project_management_dataz4ProjectManagementService.get_project_management_data   s  € àŒz×$Ò$Ñ&Ô&ð 	Ý,ØØ!Ø#ð Kð	ñ ô ð ð	Ø”J×?Ò?ÑAÔAˆEˆEøÝð 	ð 	ð 	Ý,ØØ!Ø#ØQÈCÐQÐQð	ñ ô ð ð ð ð ð ð øøøøð	øøøð ð 	Ý,ØØ!Ø#Øzð	ñ ô ð õ )ØEÐE¸uÐEÑEÔEØØØð	
ñ 
ô 
ð 	
s   ®A Á
A2ÁA-Á'A2Á-A2)N)r   r   r   r   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r&   r   r   r   r
   r
      sG   € € € € € ØTÐTðð ð ð ð ð!
ð !
ð !
ð !
ð !
ð !
r   r
   )Ú
__future__r   ÚloggingÚ9app.modules.projects.domain.ports.project_repository_portr   Úapp.models.schemasr   r   Úcontract_compliancer   Ú	getLoggerÚloggerr
   r   r   r   ú<module>r2      s¤   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€à UÐ UÐ UÐ UÐ UÐ UØ QÐ QÐ QÐ QÐ QÐ QÐ QÐ Qà 8Ð 8Ð 8Ð 8Ð 8Ð 8à	ˆÔ	Ð6Ñ	7Ô	7€ð+
ð +
ð +
ð +
ð +
Ð6ñ +
ô +
ð +
ð +
ð +
r   