
    ~h.                     2    d dl mZ  G d de      Zd Zd Zy)    )RevocationEndpointc                       e Zd ZdZd Zd Zy)r   a  The revocation endpoint for OAuth authorization servers allows clients
    to notify the authorization server that a previously obtained refresh or
    access token is no longer needed.

    Register it into authorization server, and create token endpoint response
    for token revocation::

        from django.views.decorators.http import require_http_methods

        # see register into authorization server instance
        server.register_endpoint(RevocationEndpoint)


        @require_http_methods(["POST"])
        def revoke_token(request):
            return server.create_endpoint_response(
                RevocationEndpoint.ENDPOINT_NAME, request
            )
    c                     | j                   j                  }|dk(  rt        ||      }|S |dk(  rt        ||      }|S t        ||      }|st        ||      }|S )z$Query requested token from database.access_tokenrefresh_token)servertoken_model_query_access_token_query_refresh_token)selftokentoken_type_hintr	   rvs        h/opt/mcp/mcp-sentiment/venv/lib/python3.12/site-packages/authlib/integrations/django_oauth2/endpoints.pyquery_tokenzRevocationEndpoint.query_token   sk    kk--n,$[%8B 	 /%k59B 		 %[%8B)+u=	    c                 2    d|_         |j                          y)zMark the give token as revoked.TN)revokedsave)r   r   requests      r   revoke_tokenzRevocationEndpoint.revoke_token'   s    

r   N)__name__
__module____qualname____doc__r   r    r   r   r   r      s    (r   r   c                 f    	 | j                   j                  |      S # | j                  $ r Y y w xY w)N)r   objectsgetDoesNotExistr	   r   s     r   r
   r
   -   s9    ""&&E&::##     00c                 f    	 | j                   j                  |      S # | j                  $ r Y y w xY w)N)r   r   r"   s     r   r   r   4   s9    ""&&U&;;## r#   N)authlib.oauth2.rfc7009r   _RevocationEndpointr
   r   r   r   r   <module>r'      s     L&, &Rr   