
    go	                     D    S SK r S SKJr   " S S\5      r " S S\5      rg)    N)Jwtc                   4    \ rS rSrSr\S 5       rS rS rSr	g)AccessTokenGrant   z*A Grant giving access to a Twilio Resourcec                     [        S5      e)z&:rtype str Grant's twilio specific keyzGrant must have a key property.NotImplementedErrorselfs    h/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/twilio/jwt/access_token/__init__.pykeyAccessTokenGrant.key	   s     ""CDD    c                     [        S5      e)z:return: dict somethingz Grant must implement to_payload.r   r
   s    r   
to_payloadAccessTokenGrant.to_payload   s    !"DEEr   c                 j    SR                  U R                  R                  U R                  5       5      $ Nz<{} {}>)format	__class____name__r   r
   s    r   __str__AccessTokenGrant.__str__   s&     7 79JKKr    N)
r   
__module____qualname____firstlineno____doc__propertyr   r   r   __static_attributes__r   r   r   r   r      s%    4E EFLr   r   c                   l   ^  \ rS rSrSrSrSS\R                  SSS4U 4S jjrS r	S r
S	 rS
 rSrU =r$ )AccessToken   zUAccess Token containing one or more AccessTokenGrants used to access Twilio ResourcesHS256Ni  c
           
         > U=(       d    / n[        S U 5       5      (       a  [        S5      eXl        X l        XPl        Xl        X@l        [        [        U ]'  UU R                  UU R                  UUUS9  g )Nc              3   L   #    U  H  n[        U[        5      (       + v   M     g 7f)N)
isinstancer   ).0gs     r   	<genexpr>'AccessToken.__init__.<locals>.<genexpr>(   s     CFq:a!1222Fs   "$z-Grants must be instances of AccessTokenGrant.)
secret_key	algorithmissuersubjectnbfttlvalid_until)any
ValueErroraccount_sidsigning_key_sididentityregiongrantssuperr"   __init__	ALGORITHM)r   r5   r6   secretr9   r7   r0   r1   r2   r8   r   s             r   r;   AccessToken.__init__   sy     2CFCCCLMM&. k4)nn"$$# 	* 	
r   c                 z    [        U[        5      (       d  [        S5      eU R                  R	                  U5        g)zAdd a grant to this AccessTokenz.Grant must be an instance of AccessTokenGrant.N)r'   r   r4   r9   append)r   grants     r   	add_grantAccessToken.add_grant:   s.    %!122MNN5!r   c                     SS0nU R                   (       a.  [        U R                   [        5      (       a  U R                   US'   U$ )Nctyztwilio-fpa;v=1twr)r8   r'   str)r   headerss     r   _generate_headersAccessToken._generate_headers@   s6    *+;;:dkk377![[GENr   c                 6   [        [        R                  " 5       5      nSR                  U R                  U5      U R                   Vs0 s H  o"R
                  UR                  5       _M     snS.nU R                  (       a  U R                  US   S'   U$ s  snf )Nz{}-{})jtir9   r9   r7   )inttimer   r6   r9   r   r   r7   )r   nowrA   payloads       r   _generate_payloadAccessToken._generate_payloadF   sz    $))+>>$"6"6<BF++N+yy%"2"2"44+N
 ==,0MMGHj)	 Os   $Bc                 j    SR                  U R                  R                  U R                  5       5      $ r   )r   r   r   to_jwtr
   s    r   r   AccessToken.__str__P   s%     7 7GGr   )r5   r9   r7   r8   r6   )r   r   r   r   r   r<   r   GENERATEr;   rB   rI   rQ   r   r    __classcell__)r   s   @r   r"   r"      sC    _I LL
>"H Hr   r"   )rN   
twilio.jwtr   objectr   r"   r   r   r   <module>rZ      s'     Lv L ;H# ;Hr   