get balance
parent
f100f00c0d
commit
0de79b165f
|
@ -1,14 +1,18 @@
|
||||||
# from clifinance.application.dto.balance import Balance
|
from clifinance.application.dto.balance import Balance
|
||||||
# from clifinance.domain.expense.gateway import ExpenseGateway
|
from clifinance.domain.expense.gateway import ExpenseGateway
|
||||||
#
|
from clifinance.domain.expense.model import ExpenseType
|
||||||
#
|
|
||||||
# class GetBalance:
|
|
||||||
# def __init__(
|
class GetBalance:
|
||||||
# self,
|
def __init__(
|
||||||
# gateway: ExpenseGateway,
|
self,
|
||||||
# ) -> None:
|
gateway: ExpenseGateway,
|
||||||
# self.__gateway = gateway
|
) -> None:
|
||||||
#
|
self.__gateway = gateway
|
||||||
# def __call__(self) -> Balance:
|
|
||||||
#
|
def __call__(self) -> Balance:
|
||||||
# return self.__gateway.get_balance()
|
return Balance(
|
||||||
|
balance=sum(e.amount.value for e in self.__gateway.get_all_expenses()),
|
||||||
|
imcome_balance=sum(e.amount.value for e in self.__gateway.get_all_expenses_by_type(ExpenseType.INCOME)),
|
||||||
|
expense_balance=sum(e.amount.value for e in self.__gateway.get_all_expenses_by_type(ExpenseType.EXPENSE)),
|
||||||
|
)
|
||||||
|
|
|
@ -7,8 +7,7 @@ from typing import ParamSpec, TypeVar
|
||||||
from clifinance.application.abstractions.protocols.driver import FileDriver
|
from clifinance.application.abstractions.protocols.driver import FileDriver
|
||||||
from clifinance.application.abstractions.protocols.session import Session
|
from clifinance.application.abstractions.protocols.session import Session
|
||||||
from clifinance.application.usecases.add_expense import AddExpense
|
from clifinance.application.usecases.add_expense import AddExpense
|
||||||
|
from clifinance.application.usecases.get_balance import GetBalance
|
||||||
# from clifinance.application.usecases.get_balance import GetBalance
|
|
||||||
from clifinance.domain.expense.gateway import ExpenseGateway
|
from clifinance.domain.expense.gateway import ExpenseGateway
|
||||||
from clifinance.infrastructure.persistence.json_driver import JsonFileDriver
|
from clifinance.infrastructure.persistence.json_driver import JsonFileDriver
|
||||||
from clifinance.infrastructure.persistence.json_gateway import JsonExpenseGateway
|
from clifinance.infrastructure.persistence.json_gateway import JsonExpenseGateway
|
||||||
|
@ -17,9 +16,9 @@ from clifinance.infrastructure.session import JsonFileSession
|
||||||
|
|
||||||
class Container:
|
class Container:
|
||||||
|
|
||||||
# @contextmanager
|
@contextmanager
|
||||||
# def provide_get_balance(self) -> Generator[GetBalance, None, None]:
|
def provide_get_balance(self) -> Generator[GetBalance, None, None]:
|
||||||
# yield GetBalance(gateway=self.json_gateway())
|
yield GetBalance(gateway=self.json_gateway())
|
||||||
|
|
||||||
@contextmanager
|
@contextmanager
|
||||||
def provide_add_expense(self) -> Generator[AddExpense, None, None]:
|
def provide_add_expense(self) -> Generator[AddExpense, None, None]:
|
||||||
|
|
|
@ -5,8 +5,8 @@ from clifinance.main.container import Container
|
||||||
|
|
||||||
|
|
||||||
def get_balance(args: argparse.Namespace, ioc: Container) -> None:
|
def get_balance(args: argparse.Namespace, ioc: Container) -> None:
|
||||||
# with ioc.provide_get_balance() as usecase:
|
with ioc.provide_get_balance() as usecase:
|
||||||
# print(usecase())
|
print(usecase())
|
||||||
print()
|
print()
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue