"""Team model (football schema)"""

from sqlalchemy import Column, Integer, String, ForeignKey
from sqlalchemy.orm import relationship

from app.core.db.database import Base


class Team(Base):
    """Team/Club"""
    __tablename__ = "teams"
    
    id = Column(Integer, primary_key=True, index=True)
    name = Column(String, nullable=False, index=True)
    country_id = Column(Integer, ForeignKey("countries.id"), nullable=True)

    # External IDs (Flashscore etc.)
    source_id = Column(String, index=True)
    code = Column(String, unique=True, index=True)
    
    # Relationships
    country = relationship("Country", back_populates="teams")
    home_matches = relationship("Match", foreign_keys="Match.home_team_id", back_populates="home_team")
    away_matches = relationship("Match", foreign_keys="Match.away_team_id", back_populates="away_team")

