from django.contrib.auth.mixins import LoginRequiredMixin from django.http import HttpResponse from django.shortcuts import render from django.urls import reverse from django.views import View from mixins.views import ( ObjectCreate, ObjectDelete, ObjectList, ObjectRead, ObjectUpdate, ) from two_factor.views.mixins import OTPRequiredMixin from core.clients.aggregators.nordigen import NordigenClient from core.clients.platforms.agora import AgoraClient from core.util import logs from core.models import Platform from core.lib.money import money from core.views.helpers import synchronize_async_helper log = logs.get_logger(__name__) class Profit(LoginRequiredMixin, OTPRequiredMixin, ObjectRead): context_object_name_singular = "profit" context_object_name = "profit" # detail_template = "partials/profit-info.html" def get_object(self, **kwargs): res = synchronize_async_helper(money.check_all(user=self.request.user, nordigen=NordigenClient, agora=AgoraClient)) results = { "Bank balance total (USD)": res["total"]["total_sinks_usd"], "Platform balance total (USD)": res["total"]["total_usd_agora"], "Sum of above": res["total"]["total_sinks_usd"] + res["total"]["total_usd_agora"], } return results