added segments
This commit is contained in:
26
FitnessSync/backend/src/models/segment_effort.py
Normal file
26
FitnessSync/backend/src/models/segment_effort.py
Normal 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")
|
||||
Reference in New Issue
Block a user