Exemple #1
0
 def post(self, request, format=None):
     auth_token = request.auth
     if isinstance(auth_token, TokenV2) and auth_token.is_desktop_client():
         seafile_api.delete_repo_tokens_by_peer_id(request.user.username,
                                                   auth_token.device_id)
     auth_token.delete()
     return {}
Exemple #2
0
def do_unlink_device(username, platform, device_id):
    if platform in DESKTOP_PLATFORMS:
        # For desktop client, we also remove the sync tokens
        msg = 'failed to delete_repo_tokens_by_peer_id'
        try:
            if seafile_api.delete_repo_tokens_by_peer_id(username, device_id) < 0:
                logger.warning(msg)
                raise Exception(msg)
        except:
            logger.exception(msg)
            raise

    TokenV2.objects.delete_device_token(username, platform, device_id)
Exemple #3
0
def do_unlink_device(username, platform, device_id, remote_wipe=False):
    if platform in DESKTOP_PLATFORMS:
        # For desktop client, we also remove the sync tokens
        msg = 'failed to delete_repo_tokens_by_peer_id'
        try:
            if seafile_api.delete_repo_tokens_by_peer_id(username, device_id) < 0:
                logger.warning(msg)
                raise Exception(msg)
        except:
            logger.exception(msg)
            raise

    if remote_wipe:
        try:
            TokenV2.objects.mark_device_to_be_remote_wiped(username, platform, device_id)
        except Exception as e:
            logger.error(e)
            TokenV2.objects.delete_device_token(username, platform, device_id)
    else:
        TokenV2.objects.delete_device_token(username, platform, device_id)
Exemple #4
0
 def post(self, request, format=None):
     auth_token = request.auth
     if isinstance(auth_token, TokenV2) and auth_token.is_desktop_client():
         seafile_api.delete_repo_tokens_by_peer_id(request.user.username, auth_token.device_id)
     auth_token.delete()
     return {}