added segments

This commit is contained in:
2026-01-09 12:10:58 -08:00
parent 55e37fbca8
commit 67357b5038
55 changed files with 2310 additions and 75 deletions

View File

@@ -0,0 +1,26 @@
from sqlalchemy import Column, Integer, String, Float, DateTime, ForeignKey
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
from ..models import Base
class SegmentEffort(Base):
__tablename__ = "segment_efforts"
id = Column(Integer, primary_key=True, index=True)
segment_id = Column(Integer, ForeignKey("segments.id"), nullable=False)
activity_id = Column(Integer, ForeignKey("activities.id"), nullable=False)
elapsed_time = Column(Integer, nullable=False) # seconds
start_time = Column(DateTime, nullable=False) # Absolute start time of the effort
end_time = Column(DateTime, nullable=False)
avg_power = Column(Integer, nullable=True)
avg_hr = Column(Integer, nullable=True)
# Potential for ranking (1 = KOM/PR, etc.) - calculated dynamically or stored
kom_rank = Column(Integer, nullable=True)
created_at = Column(DateTime(timezone=True), server_default=func.now())
segment = relationship("Segment")
activity = relationship("Activity")