21 lines
816 B
Python
21 lines
816 B
Python
|
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)
|