Example #1
0
def add_transfer(transfer_request: TransferRequest,
                 background_tasks: BackgroundTasks,
                 db: Session = Depends(get_db)):
    expense = Expenses()
    expense.amount = transfer_request.amount
    expense.expense_date = transfer_request.expense_date
    expense.paid_to = 'TRANSFER'
    expense.budget_entry_id = transfer_request.budget_entry_id
    expense.account_id = transfer_request.account_id

    income = Income()
    income.source = transfer_request.account_id
    income.amount = transfer_request.amount
    income.income_date = transfer_request.expense_date
    income.account_id = transfer_request.to_account_id

    db.add(expense)
    db.add(income)

    background_tasks.add_task(update_account_balance,
                              transfer_request.account_id,
                              transfer_request.amount, False, db)
    background_tasks.add_task(update_account_balance,
                              transfer_request.to_account_id,
                              transfer_request.amount, True, db)

    return {
        "code": "success",
        "message": "transfer done was added to the database"
    }
Example #2
0
def add_income(income_request: IncomeRequest,
               background_tasks: BackgroundTasks,
               db: Session = Depends(get_db)):
    income = Income()
    income.source = income_request.source
    income.amount = income_request.amount
    income.income_date = income_request.income_date
    income.taxes = income_request.taxes
    income.saved = income_request.saved
    # add saved account_to
    income.income_type_id = income_request.income_type_id
    income.account_id = income_request.account_id

    db.add(income)
    db.commit()

    net_income = income.amount - income.taxes - income.saved
    background_tasks.add_task(update_account_balance, income.account_id,
                              net_income, True, db)

    return {"code": "success", "message": "income was added to the database"}