
    dh!                         d dl Z d dlZd dlZd dlmZ d dlmZmZ dZ ee        ej                  d      Z	 ej                  d      Z
 ej                  d      Zd	e Zd
gZd Zd Zy)    N)load_dotenv)datetime	timedeltaz/var/www/html/cag/.env)dotenv_path	CLIENT_IDCLIENT_SECRET	TENANT_IDz"https://login.microsoftonline.com/z$https://graph.microsoft.com/.defaultc                  :   t        d       	 t        j                  t        t        t
              } | j                  t              }d|v rt        d       |d   S t        d|j                  d              y # t        $ r}t        d|        Y d }~y d }~ww xY w)	Nu   🔵 Obtendo token de acesso...)	authorityclient_credential)scopesaccess_tokenu'   ✅ Token de acesso obtido com sucesso!u   ❌ Erro ao obter token: error_descriptionu    ❌ Erro ao tentar obter token: )
printmsalConfidentialClientApplicationr   	AUTHORITYr   acquire_token_for_clientSCOPESget	Exception)appresultes      2/var/www/html/cagpublico/cag/reuniao/teams_auth.pyget_access_tokenr      s    	
+,00+

 --V-<V#;<.))-fjj9L.M-NOP 045s   AA9 A9 9	BBBc                 .   t               }|st        d       yd| d}d| dd}|j                  d      j                         }|j                  d      t	        d	
      z   j                         }|j                  d      s|dz  }|j                  d      s|dz  }| ||ddd|iiig dd}t        d       t        d|       t        d|       	 t        j                  |||      }	t        d|	j                         t        d|	j                         |	j                  dk(  r/|	j                         j                  d      }
t        d|
        |
S t        d|	j                                 y# t        $ r}t        d|        Y d}~yd}~ww xY w)u8    Cria uma reunião no Microsoft Teams e retorna o link. u/   ❌ Não foi possível obter o token de acesso.Nz'https://graph.microsoft.com/v1.0/users/z/onlineMeetingszBearer zapplication/json)AuthorizationzContent-Type)tzinfo   )hoursZidentityuserid)	organizer	attendees)subjectstartDateTimeendDateTimeparticipantsu:   🔵 Enviando requisição para criar reunião no Teams...u	   🔹 URL:u   🔹 Payload:)headersjsonu   🔵 Resposta da API:u   🔹 Conteúdo:   
joinWebUrlu'   ✅ Reunião criada com sucesso! Link: u   ❌ Erro ao criar reunião: u3   ❌ Erro ao conectar com a API do Microsoft Graph: )r   r   replace	isoformatr   endswithrequestspoststatus_codetextr-   r   r   )titulo	data_horaorganizer_idr   urlr,   	start_strend_strpayloadresponsejoin_urlr   s               r   criar_reuniao_no_teamsr@   $   s    $%L?@3L>
QC"<.1*G !!!.88:I   -	0BBMMOG c"S	C 3 " l 	
	G  

FG	+s	/7#==gGD%x';';</3&}}**<8H;H:FGO00ABC CA3GHs   BE3 E3 3	F<FF)r   r3   osdotenvr   r   r   r   getenvr   r   r	   r   r   r   r@        r   <module>rF      so      	  (&  $BIIk"			/*BIIk"	0<	
0	1&;rE   