import uuid from sqlalchemy import Uuid, Column, DateTime, Enum, Float, ForeignKey from sqlalchemy.orm import relationship, backref from app.schemas.transaction import TransactionEventTriggerReason, TransactionStatus from app.database import Base class Transaction(Base): __tablename__ = "transactions" id = Column(Uuid, primary_key=True, default=uuid.uuid4) status = Column(Enum(TransactionStatus), index=True) started_at = Column(DateTime, index=True) ended_at = Column(DateTime, nullable=True, index=True) meter_start = Column(Float) meter_end = Column(Float, nullable=True) end_reason = Column(Enum(TransactionEventTriggerReason)) connector_id = Column(Uuid, ForeignKey("connectors.id"), index=True) id_token_id = Column(Uuid, ForeignKey("id_tokens.id"), index= True)