aboutsummaryrefslogtreecommitdiff
path: root/server/models/bid.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/models/bid.py')
-rw-r--r--server/models/bid.py25
1 files changed, 17 insertions, 8 deletions
diff --git a/server/models/bid.py b/server/models/bid.py
index 1b2eb0d..c0b788e 100644
--- a/server/models/bid.py
+++ b/server/models/bid.py
@@ -1,8 +1,17 @@
-from pydantic import BaseModel
-
-class Bid(BaseModel):
- id: int
- timestamp: str
- quantity: float
- price: float
- type: str # Could be a boolean value to represent whether the bid is a buy or sell order
+from sqlalchemy import Column, Integer, Float, String, DateTime, ForeignKey
+from sqlalchemy.orm import relationship
+from db import Base
+
+class Bid(Base):
+ __tablename__ = "bids"
+
+ id = Column(Integer, primary_key=True, index=True)
+ timestamp = Column(DateTime, index=True, nullable=False) # Bid target time
+ quantity = Column(Float, nullable=False) # MWh
+ price = Column(Float, nullable=False) # $/MWh
+
+ status = Column(String, default="Submitted") # Submitted / Success / Fail
+ pnl = Column(Float, nullable=True) # Profit/loss value, nullable initially
+
+ user_id = Column(Integer, ForeignKey("users.id"))
+ user = relationship("User", back_populates="bids")