add db models

This commit is contained in:
2025-09-13 18:46:16 +02:00
parent 64a2726c73
commit 738df559cb
5 changed files with 90 additions and 29 deletions

View File

@@ -2,7 +2,6 @@ from __future__ import annotations
from datetime import date, datetime # noqa: TC003
from enum import Enum
from typing import TYPE_CHECKING
from sqlmodel import Column, DateTime, Field, Relationship, SQLModel
from sqlmodel import Enum as SQLEnum
@@ -15,6 +14,13 @@ class TradeType(str, Enum):
EXERCISE_CALL = "EXERCISE_CALL"
class TradeStrategy(str, Enum):
WHEELS = "WHEEL"
FX = "FX"
SPOT = "SPOT"
OTHER = "OTHER"
class CycleStatus(str, Enum):
OPEN = "OPEN"
CLOSED = "CLOSED"
@@ -33,6 +39,7 @@ class Trades(SQLModel, table=True):
symbol: str
underlying_currency: str
trade_type: TradeType = Field(sa_column=Column(SQLEnum(TradeType, name="trade_type_enum"), nullable=False))
trade_strategy: TradeStrategy = Field(sa_column=Column(SQLEnum(TradeStrategy, name="trade_strategy_enum"), nullable=False))
trade_time_utc: datetime = Field(sa_column=Column(DateTime(timezone=True), nullable=False))
expiry_date: date | None = Field(default=None, nullable=True)
strike_price_cents: int | None = Field(default=None, nullable=True)