o
    Zh                     @   s`   d Z ddlmZmZ ddlmZ ddlmZmZ ddl	m
Z
 G dd deZG dd	 d	e
Zd
S )z3Move an event between calendars in Google Calendar.    )OptionalType)CallbackManagerForToolRun)	BaseModelField)CalendarBaseToolc                   @   sf   e Zd ZU dZedddZeed< edddZeed< edddZ	eed	< ed
ddZ
ee ed< d
S )MoveEventSchemazInput for CalendarMoveEvent..zThe event ID to move.)descriptionevent_idzThe origin calendar ID.origin_calenddar_idzThe destination calendar ID.destination_calendar_idNzYWhether to send updates to attendees.Allowed values are 'all', 'externalOnly', or 'none'.)defaultr	   send_updates)__name__
__module____qualname____doc__r   r
   str__annotations__r   r   r   r    r   r   e/var/www/html/lang_env/lib/python3.10/site-packages/langchain_google_community/calendar/move_event.pyr      s   
 r   c                   @   sj   e Zd ZU dZdZeed< dZeed< eZ	e
e ed< 		dded	ed
edee dee defddZdS )CalendarMoveEventz=Tool that move an event between calendars in Google Calendar.Zmove_calendar_eventnamez1Use this tool to move an event between calendars.r	   args_schemaNr
   origin_calendar_idr   r   run_managerreturnc              
   C   sX   z| j  j||||d }d|d W S  ty+ } ztd| |d}~ww )z3Run the tool to update an event in Google Calendar.)ZeventIdZ
calendarIddestinationZsendUpdateszEvent moved: ZhtmlLinkzAn error occurred: N)Zapi_resourceeventsmoveexecuteget	Exception)selfr
   r   r   r   r   resulterrorr   r   r   _run#   s   	
zCalendarMoveEvent._run)NN)r   r   r   r   r   r   r   r	   r   r   r   r   r   r&   r   r   r   r   r      s(   
 r   N)r   typingr   r   Zlangchain_core.callbacksr   Zpydanticr   r   Z(langchain_google_community.calendar.baser   r   r   r   r   r   r   <module>   s    