§
    >xÅj  ã                   óÜ  — d dl Z d dlmZmZ d dl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 d dlmZ d d	lmZ d d
lmZ  e j        e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zde
dededz  defd„Zdededdfd„Z ej        de¬¦  «        	 	 	 d!dej        deedz   ej         d¬¦  «        f         deedz   ej!        dd¬¦  «        f         dedef
d „¦   «         Z"dS )"é    N)Ú	AnnotatedÚAny)Ú	BaseModel)ÚRichToolkit)Ú	APIClient)ÚUserCommandÚget_user_command_context)Úapps_app)Úvalidate_app_directory)Úresolve_app_id_or_fail)ÚJsonOutputOptionc                   óH   — e Zd ZU eed<   eed<   eed<   eed<   edz  ed<   dS )Ú
UpdatedAppÚidÚteam_idÚslugÚnameNÚ	directory)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__© ó    úWC:\Projects\Historical\venv\Lib\site-packages\fastapi_cloud_cli/commands/apps/update.pyr   r      sF   € € € € € € Ø€G€G�GØ€L€L�LØ
€I€I�IØ
€I€I�IØ�T‰zÐÐÑÐÐr   r   c                   ó   — e Zd ZU eed<   dS )ÚAppsUpdateOutputÚappN)r   r   r   r   r   r   r   r   r   r      s   € € € € € € Ø	€O€O�O€O€Or   r   ÚclientÚapp_idr   Úreturnc                óº   — |                       d|› �d|i¬¦  «        }|                     ¦   «          t                               |                     ¦   «         ¦  «        S )Nz/apps/r   )Újson)ÚpatchÚraise_for_statusr   Úmodel_validater$   )r    r!   r   Úresponses       r   Ú_update_appr)      s]   € Ø�|Š|Ø�ÐÐØ˜9Ð%ð ñ ô €Hð ×ÒÑÔÐå×$Ò$ X§]¢]¡_¤_Ñ5Ô5Ð5r   ÚdataÚtoolkitc                 ó¶   — |                      d| j        j        › d�d¬¦  «         |                      d| j        j        �| j        j        nd› d�d¬¦  «         d S )NzUpdated app [bold]z[/bold]F)ÚbulletzDirectory: [bold]ú.)Úprintr   r   r   )r*   r+   s     r   Ú_render_apps_update_outputr0   (   ss   € Ø‡M‚MÐ= t¤x¤}Ð=Ð=Ð=Àe€MÑLÔLÐLØ‡M‚MØb°$´(Ô2DÐ2P˜DœHÔ.Ð.ÐVYÐbÐbÐbØð ñ ô ð ð ð r   Úupdate)ÚclsFÚctxzNID of the app to update (defaults to the app linked to the current directory).)Úhelpz--directoryzSRelative app directory containing the pyproject.toml (for example: src or backend).Újson_outputc                 ó�  — t          | ¦  «        j        }|€|                     ddd¬¦  «         t          ||d¬¦  «        }	 t	          |¦  «        }n2# t
          $ r%}|                     dd	|› �d
¬¦  «         Y d}~nd}~ww xY wt          ¦   «         5 }|                     dd¬¦  «        5 }|                     |dd|¬¦  «        5  t          |||¬¦  «        }	ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   | 
                    t          |	¬¦  «        t          ¬¦  «         dS )z,
    Update FastAPI Cloud app metadata.
    NÚmissing_required_inputzNo updates provided.z-Pass --directory to update the app directory.)Úhintz?Pass an app ID or run `fastapi cloud apps create --link` first.)r!   r8   Úinvalid_inputzInvalid app directory: z9Pass a relative app directory such as `src` or `backend`.zUpdating appT)ÚtitleÚ	transientz+Error updating app. Please try again later.zApp not found.)Údefault_messageÚnot_found_messager+   )r!   r   )r   )Úrender_output)r	   r+   Úfailr   r   Ú
ValueErrorr   ÚprogressÚhandle_http_errorsr)   Úsuccessr   r0   )
r3   r!   r   r5   r+   Útarget_app_idÚer    rA   r   s
             r   Ú
update_apprF   0   s|  € õ2 ' sÑ+Ô+Ô3€GàÐØ�ŠØ$Ø"Ø@ð 	ñ 	
ô 	
ð 	
õ +ØØØNðñ ô €Mð
Ý*¨9Ñ5Ô5ˆ	ˆ	øÝð 
ð 
ð 
Ø�ŠØØ) aÐ)Ð)ØLð 	ñ 	
ô 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
øøøøð
øøøõ 
‰Œð ˜Ø×ÒØ Øð ñ 
ô 
ð 	ð Ø×*Ò*ØØ MØ"2Øð	 +ñ ô ð 
ð 
õ "ØØ(Ø'ðñ ô �ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð" ‡O‚OÝ˜SÐ!Ñ!Ô!Ý0ð ñ ô ð ð ð sr   ÁA Á
BÁA<Á<BÂDÂ*C:ÃC#ÃC:Ã#C'Ã'C:Ã*C'Ã+C:Ã.DÃ:C>	Ã>DÄC>	ÄDÄDÄD)NNF)#ÚloggingÚtypingr   r   ÚtyperÚpydanticr   Úrich_toolkitr   Úfastapi_cloud_cli.apir   Ú fastapi_cloud_cli.commands._authr   r	   Ú$fastapi_cloud_cli.commands.apps._appr
   Ú)fastapi_cloud_cli.commands.deploy.archiver   Úfastapi_cloud_cli.utils.appsr   Ú!fastapi_cloud_cli.utils.executionr   Ú	getLoggerr   Úloggerr   r   r   r)   r0   ÚcommandÚContextÚArgumentÚOptionrF   r   r   r   ú<module>rX      sn  ðØ €€€Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !à €€€Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $à +Ð +Ð +Ð +Ð +Ð +Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø LÐ LÐ LÐ LÐ LÐ LØ ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø >Ð >Ð >Ð >Ð >Ð >à	ˆÔ	˜8Ñ	$Ô	$€ðð ð ð ð �ñ ô ð ðð ð ð ð �yñ ô ð ð6˜	ð 6¨cð 6¸cÀD¹jð 6ÈZð 6ð 6ð 6ð 6ðÐ%5ð Àð ÐPTð ð ð ð ð €Ô�( Ð,Ñ,Ô,ð 	ð 	Ø$)ð%Dð DØ	ŒðDàØˆd‰
ØˆŒØað	
ñ 	
ô 	
ð	ôðDð Øˆd‰
ØˆŒØð1ð	
ñ 	
ô 	
ð	ô	ðDð$ "ð%Dð& 	ð'Dð Dð Dñ -Ô,ðDð Dð Dr   