36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
|
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
|