Ë
    ûûàg`  ã                   óZ   — d dl mZ d dlmZ d dlmZ  G d„ de«      Z G d„ de«      ZegZy)	é    )ÚProviderAccount)ÚDataportenOAuth2Adapter)ÚOAuth2Providerc                   ó   — e Zd Zd„ Zy)ÚDataportenAccountc                 ó>   — d}|| j                   j                  d   z   S )zJ
        Returns a valid URL to an 128x128 .png photo of the user
        z1https://api.dataporten.no/userinfo/v1/user/media/Úprofilephoto)ÚaccountÚ
extra_data)ÚselfÚbase_urls     úq/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/dataporten/provider.pyÚget_avatar_urlz DataportenAccount.get_avatar_url	   s$   € ð GˆØ˜$Ÿ,™,×1Ñ1°.ÑAÑAÐAó    N)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r      s   „ óBr   r   c                   ó.   — e Zd ZdZdZeZeZd„ Z	d„ Z
d„ Zy)ÚDataportenProviderÚ
dataportenÚ
Dataportenc                 ó   — |d   S )zz
        Returns the primary user identifier, an UUID string
        See: https://docs.dataporten.no/docs/userid/
        Úuseridr   ©r   Údatas     r   Úextract_uidzDataportenProvider.extract_uid   s   € ð
 �H‰~Ðr   c                 ó   — |S )uà  
        Extracts fields from `data` that will be stored in
        `SocialAccount`'s `extra_data` JSONField.

        All the necessary data extraction has already been done in the
        complete_login()-view, so we can just return the data.
        PS: This is default behaviour, so we did not really need to define
            this function, but it is included for documentation purposes.

        Typical return dict:
        {
            "userid": "76a7a061-3c55-430d-8ee0-6f82ec42501f",
            "userid_sec": ["feide:andreas@uninett.no"],
            "name": "Andreas Ã…kre Solberg",
            "email": "andreas.solberg@uninett.no",
            "profilephoto": "p:a3019954-902f-45a3-b4ee-bca7b48ab507",
        }
        r   r   s     r   Úextract_extra_dataz%DataportenProvider.extract_extra_data    s	   € ð& ˆr   c                 óú   — t        |«      }|j                  d«      D ]5  }|j                  d«      \  }}|dk(  sŒ|j                  d«      d   |d<    |S  |j                  d«      j                  d«      d   |d<   |S )uv  
        This function extracts information from the /userinfo endpoint which
        will be consumed by allauth.socialaccount.adapter.populate_user().
        Look there to find which key-value pairs that should be saved in the
        returned dict.

        Typical return dict:
        {
            "userid": "76a7a061-3c55-430d-8ee0-6f82ec42501f",
            "userid_sec": ["feide:andreas@uninett.no"],
            "name": "Andreas Ã…kre Solberg",
            "email": "andreas.solberg@uninett.no",
            "profilephoto": "p:a3019954-902f-45a3-b4ee-bca7b48ab507",
            "username": "andreas",
        }
        Ú
userid_secú:Úfeideú@r   ÚusernameÚemail)ÚdictÚgetÚsplit)r   r   r   Úusertyper%   s        r   Úextract_common_fieldsz(DataportenProvider.extract_common_fields5   sŽ   € ô$ �D‹zˆð —h‘h˜|Ó,ò 	?ˆFØ!'§¡¨cÓ!2ÑˆH�hØ˜7Ó"Ø#+§>¡>°#Ó#6°qÑ#9��ZÑ Øð
 ˆð	?ð  $Ÿx™x¨Ó0×6Ñ6°sÓ;¸AÑ>ˆD�Ñàˆr   N)r   r   r   ÚidÚnamer   Úaccount_classr   Úoauth2_adapter_classr   r   r+   r   r   r   r   r      s&   „ Ø	€BØ€DØ%€MØ2Ðòòó*r   r   N)	Ú$allauth.socialaccount.providers.baser   Ú0allauth.socialaccount.providers.dataporten.viewsr   Ú/allauth.socialaccount.providers.oauth2.providerr   r   r   Úprovider_classesr   r   r   ú<module>r4      s;   ðÝ @õõ KôB˜ô BôA˜ô AðH 'Ð'Ñ r   