Adding sequence number for transactions and fixtures as well
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user