Fully functional opening transactions

This commit is contained in:
2025-02-16 03:17:29 +01:00
parent b5039f6468
commit 148b1d00c4
9 changed files with 114 additions and 50 deletions

View File

@@ -1,15 +1,11 @@
from decimal import Decimal
from typing import Optional
from uuid import UUID, uuid4
from datetime import date
from sqlalchemy.orm import aliased
from sqlmodel import Field, SQLModel, select, Relationship
from pydantic import Field as PydField
from sqlmodel import select
from account.models import Account
from account.schemas import AccountRead
from account.schemas import OpeningTransaction
from transaction.models import Transaction, Split
from payee.models import Payee, PayeeRead
class TransactionResource:
@classmethod
@@ -29,16 +25,6 @@ class TransactionResource:
def get(cls, session, transaction_id):
return session.get(Transaction, transaction_id)
@classmethod
def get_opening_transaction(cls, session, account_id):
split_account = aliased(Split)
split_equity = aliased(Split)
account_filter = aliased(Account)
return session.exec(select(Transaction)
.join(split_account, split_account.account_id == account_id)
.join(split_equity)
.join(account_filter, account_filter.id == split_equity.account_id and Account.path == "/Equity/")).first()
@classmethod
def update(cls, session, transaction_db, transaction_data):
transaction_db.sqlmodel_update(Transaction.model_validate(transaction_data))