Adding sequence number for transactions and fixtures as well

This commit is contained in:
2025-02-17 17:36:38 +01:00
parent 4a823b7115
commit cd325154da
6 changed files with 53 additions and 35 deletions

View File

@@ -1,12 +1,21 @@
from sqlmodel import select
from sqlmodel import select, func
from account.models import Account
from transaction.models import Transaction, Split
class TransactionResource:
@classmethod
def create(cls, transaction, session):
def get_sequence_number(cls, session):
stmt = select(func.max(Transaction.sequence)).select_from(Transaction)
sequence = session.execute(stmt).first()
return sequence[0] + 1 if sequence[0] else 1
@classmethod
def create(cls, session, transaction):
transaction_db = Transaction.model_validate(transaction)
transaction_db.sequence = cls.get_sequence_number(session)
session.add(transaction_db)
session.commit()
session.refresh(transaction_db)