
    h	                          S SK r  " S S5      rg)    Nc                   R    \ rS rSrSS jrS rS rS rS rSS jr	S	 r
S
 rS rSrg)	JWTClient   c                     Xl         S U l        g )Napi_base_urltoken)selfr   s     1/root/zotify-API/Gonk/GonkCLI/modules/jwt_mock.py__init__JWTClient.__init__   s    (
    c                     [         R                  " U R                   S3XS.S9nUR                  5         UR	                  5       $ )Nz/api/auth/registerusernamepassword)json)requestspostr   raise_for_statusr   r
   r   r   responses       r   registerJWTClient.register   sB    ==  !!34&=
 	!!#}}r   c                 \    U R                   (       d  [        S5      eSSU R                    30$ )NzNot logged inAuthorizationzBearer )r	   	Exception)r
   s    r   _get_auth_headersJWTClient._get_auth_headers   s*    zzO,,74::,!788r   c                     [         R                  " U R                   S3XS.S9nUR                  5         UR	                  5       S   U l        U R
                  $ )Nz/api/auth/loginr   )dataaccess_token)r   r   r   r   r   r	   r   s       r   loginJWTClient.login   sQ    ==  !1&=
 	!!#]]_^4
zzr   c                     [         R                  " U R                   S3U R                  5       S9nUR	                  5         UR                  5       $ )Nz/api/user/profileheadersr   getr   r   r   r   r
   r   s     r   get_profileJWTClient.get_profile   H    <<  !!23**,
 	!!#}}r   Nc                     0 nUb  XS'   Ub  X$S'   Ub  X4S'   [         R                  " U R                   S3U R                  5       US9nUR	                  5         UR                  5       $ )Nthemelanguagenotifications_enabledz/api/user/preferences)r'   r   )r   patchr   r   r   r   )r
   r/   r0   r1   payloadr   s         r   update_preferencesJWTClient.update_preferences&   s{    $G"*J ,/D+,>>  !!67**,

 	!!#}}r   c                     [         R                  " U R                   S3U R                  5       S9nUR	                  5         UR                  5       $ )Nz/api/user/likedr&   r(   r*   s     r   get_liked_tracksJWTClient.get_liked_tracks7   sG    <<  !1**,
 	!!#}}r   c                     [         R                  " U R                   S3U R                  5       S9nUR	                  5         UR                  5       $ )N/api/user/historyr&   r(   r*   s     r   get_historyJWTClient.get_history?   r-   r   c                     [         R                  " U R                   S3U R                  5       S9nUR	                  5         UR
                  S:H  $ )Nr:   r&      )r   deleter   r   r   status_coder*   s     r   clear_historyJWTClient.clear_historyG   sM    ??  !!23**,
 	!!###s**r   r   )zhttp://localhost:8000)NNN)__name__
__module____qualname____firstlineno__r   r   r   r#   r+   r4   r7   r;   rA   __static_attributes__ r   r   r   r      s/    9
"+r   r   )r   r   rH   r   r   <module>rI      s    J+ J+r   