
    si2                     h    d dl Z 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
 d dlmZ d Zd	 Zdd
Zy)    N)	timedelta)settings)Request)Credentials)build)GoogleCredentialc           
      <   	 t         j                  j                  | j                  j                        }t        |j                  |j                  |j                  |j                  |j                  |j                  j                  d            }|j                  r=	 |j!                  t#                      |j                  |_        |j%                          |S |S # t         j
                  $ r t        d      w xY w# t        $ r}t        d|       d}~ww xY w)z@Fetches and refreshes Google credentials for the logged-in user.)employee_idz*Google credentials not found for the user.,)tokenrefresh_token	token_uri	client_idclient_secretscopesz&Failed to refresh Google credentials: N)r   objectsgetuseremployee_getDoesNotExist	Exceptionr   r   r   r   r   r   r   splitexpiredrefreshr   save)requestcredscredentialses       8/var/www/python-projects/worksol/horilla_meet/methods.pyget_google_credentialsr!      s    F ((,,9R9R,S kk))////))||!!#&K 	J	*%++EKJJL ;) (( FDEEF"  	JDQCHII	Js#   4C :C? C<?	DDDc           
         t        |       }t        dd|      }|d   }|d   |d   |d   j                         t        j                  d|d   t        |d	   
      z   j                         t        j                  d|D cg c]  }d|i c}dt        t        j                               ddidid}	 |j                         j                  d|ddd      j                         }|S c c}w # t        $ r}t        d|       d}~ww xY w)z1Create a Google Calendar event from a given data.calendarv3r   	attendeestitledescription
start_timedateTimetimeZonedurationminutesemailcreateRequesttypehangoutsMeet)	requestIdconferenceSolutionKey)summaryr(   startendr&   conferenceDataprimary   allT)
calendarIdbodyconferenceDataVersionsendUpdatessendNotificationsz!Failed to create calendar event: N)r!   r   	isoformatr   	TIME_ZONEr   struuiduuid4eventsinsertexecuter   )	r   datar   servicer&   maileventcreated_eventr   s	            r    create_calendar_eventrO   (   s2    )1KJ+>G[!I =M*\*446 **
 \"YtJ7G%HHik **	
 3<<$wo< .*0.)A
E,ANNV$&'!"&   WY 	 1 =*  A;A3?@@As   C)52C. .	D
7DD
c                    |st        d      t        |       }t        dd|      }|d   }	 |j                         j	                  d|      j                         }|d
   |d<   |d   |d<   |d   j                         t        j                  d|d<   |d   t        |d         z   j                         t        j                  d|d<   |D cg c]  }d|i c}|d<   	 |j                         j                  d||d      j                         }	|	S # t         $ r}t        d|       d	}~ww xY wc c}w # t         $ r}t        d|       d	}~ww xY w)z*Updates an existing Google Calendar event.z)Cannot update event: event_id is missing.r#   r$   r%   r&   r:   )r=   eventIdzFailed to retrieve event: Nr'   r6   r(   r)   r*   r7   r-   r.   r8   r0   r<   )r=   rQ   r>   r@   z!Failed to update calendar event: )r   r!   r   rG   r   rI   rB   r   rC   r   update)
r   rJ   event_idr   rK   r&   rM   r   attendeeupdated_events
             r    update_calendar_eventrV   X   s    CDD(1KJ+>G[!I: $$	8$LTTV G}E).E-&002&&E'N 4
3C!DD
)+&&	E%L ?HH(7H-HE+ANNV$ !	   WY 	 ?  :4QC899: I  A;A3?@@As5   /D D2 1D7 	D/D**D/7	E EE)N)rE   datetimer   django.confr   google.auth.transport.requestsr   google.oauth2.credentialsr   googleapiclient.discoveryr   horilla_meet.modelsr   r!   rO   rV        r    <module>r_      s*        2 1 + 08-`,r^   