예제 #1
0
def update_token(request):
    post_data = json.loads(request.body)
    code = post_data.get("code")
    user = post_data.get("user")

    obj_user = User.objects.get(pk=user.get("id"))
    try:
        profile = Profile.objects.get(pk=user.get("id"))
    except Profile.DoesNotExist:
        profile = Profile(user=obj_user)
        profile.save()

    if (profile.bsc_code != code):
        bsc_tokens = bsc_api.get_token(code)
        print(bsc_tokens)
        profile.bsc_code = code
        profile.bsc_token = bsc_tokens.get("access_token")
        profile.bsc_refresh_token = bsc_tokens.get("refresh_token")
        profile.expires_in = datetime.now() + timedelta(
            seconds=bsc_tokens.get("expires_in"))
        profile.save()

    user["bsc_token"] = profile.bsc_token
    user["bsc_refresh_token"] = profile.bsc_refresh_token
    user["email"] = obj_user.email
    user["expires_in"] = profile.expires_in.strftime('%Y-%m-%d %I:%M %p')
    return JsonResponse({"user": user})