§
    t�’j=
  ã                  ó"  — d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	  G d„ de
e¦  «        Z G d„ d	e
e¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )z&Telegram Suite Schemas for DSCons ERP.é    )Úannotations)ÚEnum)ÚAny)Ú	BaseModelÚFieldc                  ó"   — e Zd ZdZdZdZdZdZdS )ÚTelegramAlertSeverityz+Severity levels for Telegram notifications.ÚINFOÚWARNINGÚCRITICALÚSUCCESSN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   r   r   r   © ó    ú1C:\Projects\DSCons\app\models\telegram_schemas.pyr	   r	      s(   € € € € € Ø5Ð5à€DØ€GØ€HØ€G€G€Gr   r	   c                  ó2   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
S )ÚTelegramAlertTypez4Categorized alert types for construction operations.ÚEVM_VARIANCEÚINVOICE_SYNCÚINVOICE_TAX_RISKÚSITE_DIARY_SUBMITTEDÚQUALITY_INSPECTION_KCSÚSAFETY_HSE_ALERTÚEQUIPMENT_SHIFTÚSYSTEM_NOTIFICATIONN)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      sC   € € € € € Ø>Ð>à!€LØ!€LØ)ÐØ1ÐØ5ÐØ)ÐØ'€OØ/ÐÐÐr   r   c                  óV   — e Zd ZU dZdZded<   ded<   dZded<   d	Zd
ed<   dZded<   dS )ÚTelegramSendMessageRequestz!Generic Telegram message request.Nú
str | NoneÚchat_idÚstrÚtextÚHTMLÚ
parse_modeFÚboolÚdisable_web_page_previewzdict[str, Any] | NoneÚreply_markup)	r   r   r   r   r"   Ú__annotations__r&   r(   r)   r   r   r   r    r    !   sf   € € € € € € Ø+Ð+à€GÐÐÐÑØ€I€I�IØ€JÐÐÐÑØ%*ÐÐ*Ð*Ð*Ñ*Ø*.€LÐ.Ð.Ð.Ñ.Ð.Ð.r   r    c                  óš   — e Zd ZU dZej        Zded<   ej	        Z
ded<   ded<   dZd	ed
<    ee¬¦  «        Zded<   dZd	ed<   dZd	ed<   dS )ÚTelegramAlertRequestz5Structured alert request for construction ERP events.r   Ú
alert_typer	   Úseverityr#   ÚtitleNr!   Úproject_name©Údefault_factoryú	list[str]ÚdetailsÚ
action_urlr"   )r   r   r   r   r   r   r-   r*   r	   r
   r.   r0   r   Úlistr4   r5   r"   r   r   r   r,   r,   +   sš   € € € € € € Ø?Ð?à$5Ô$I€JÐIÐIÐIÑIØ&;Ô&@€HÐ@Ð@Ð@Ñ@Ø€J€J�JØ#€LÐ#Ð#Ð#Ñ#Ø˜¨tÐ4Ñ4Ô4€GÐ4Ð4Ð4Ñ4Ø!€JÐ!Ð!Ð!Ñ!Ø€GÐÐÐÑÐÐr   r,   c                  óŽ   — e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded	<    ee¬
¦  «        Zded<   dZded<   dZ	ded<   dS )Ú$TelegramSiteDiaryNotificationRequestz&Site diary event notification payload.r#   Úproject_coder0   Ú
shift_dateÚweatherÚintÚworkforce_countÚmachine_countr1   r3   Ú
activitiesNr!   Úsupervisor_notesr"   )
r   r   r   r   r*   r   r6   r?   r@   r"   r   r   r   r8   r8   7   s›   € € € € € € Ø0Ð0àÐÐÑØÐÐÑØ€O€O�OØ€L€L�LØÐÐÑØÐÐÑØ!˜E°$Ð7Ñ7Ô7€JÐ7Ð7Ð7Ñ7Ø#'ÐÐ'Ð'Ð'Ñ'Ø€GÐÐÐÑÐÐr   r8   c                  óH   — e Zd ZU dZded<   dZded<   dZded<   dZd	ed
<   dS )ÚTelegramProcessCommandRequestz!Direct command execution payload.r#   ÚcommandÚdefault_chatr"   ÚEngineerÚ	user_nameNr!   Ú
project_id)r   r   r   r   r*   r"   rF   rG   r   r   r   rB   rB   E   sT   € € € € € € Ø+Ð+à€L€L�LØ!€GÐ!Ð!Ð!Ñ!Ø€IÐÐÐÑØ!€JÐ!Ð!Ð!Ñ!Ð!Ð!r   rB   c                  óX   — e Zd ZU dZded<   dZded<   ded<    ee¬	¦  «        Zd
ed<   dS )ÚTelegramResponsez*Standardized response from Telegram Suite.r'   ÚokNzstr | int | NoneÚ
message_idr#   Ústatusr1   zdict[str, Any]r4   )	r   r   r   r   r*   rK   r   Údictr4   r   r   r   rI   rI   N   sY   € € € € € € Ø4Ð4à€H€H�HØ#'€JÐ'Ð'Ð'Ñ'Ø€K€K�KØ#˜e°DÐ9Ñ9Ô9€GÐ9Ð9Ð9Ñ9Ð9Ð9r   rI   c                  óT   — e Zd ZU dZded<   ded<   ded<   ded<   ded<   d	Zd
ed<   d	S )ÚTelegramServiceStatusz'Status report for Telegram integration.r'   ÚenabledÚbot_configuredÚdefault_chat_configuredÚlive_gatewayr3   Úsupported_commandsNr!   Úwebhook_url)r   r   r   r   r*   rU   r   r   r   rO   rO   W   sb   € € € € € € Ø1Ð1à€M€M�MØÐÐÑØ!Ð!Ð!Ñ!ØÐÐÑØ!Ð!Ð!Ñ!Ø"€KÐ"Ð"Ð"Ñ"Ð"Ð"r   rO   N)r   Ú
__future__r   Úenumr   Útypingr   Úpydanticr   r   r#   r	   r   r    r,   r8   rB   rI   rO   r   r   r   ú<module>rZ      s·  ðØ ,Ð ,à "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ˜C ñ ô ð ð
0ð 
0ð 
0ð 
0ð 
0˜˜Tñ 
0ô 
0ð 
0ð/ð /ð /ð /ð / ñ /ô /ð /ð	ð 	ð 	ð 	ð 	˜9ñ 	ô 	ð 	ðð ð ð ð ¨9ñ ô ð ð"ð "ð "ð "ð " Iñ "ô "ð "ð:ð :ð :ð :ð :�yñ :ô :ð :ð#ð #ð #ð #ð #˜Iñ #ô #ð #ð #ð #r   