"""
Estadísticas Jugadores Domain Model

Stores key registration data for statistical aggregation and chart display.
"""

from sqlalchemy import Column, Integer, String, ForeignKey
from datetime import datetime
from .base import Base


class EstadisticasJugadores(Base):
    """Player statistics collected from the academy registration form"""
    __tablename__ = 'estadisticas_jugadores'

    id = Column(Integer, primary_key=True, autoincrement=True)
    user_id = Column(Integer, ForeignKey('users.id', ondelete='CASCADE'), nullable=False, unique=True)
    nombre = Column(String)
    email = Column(String)
    sexo = Column(String)
    fecha_nacimiento = Column(String)
    ciudad = Column(String)
    categoria = Column(String)
    equipo_actual = Column(String)
    posicion = Column(String)
    posicion_preferida = Column(String)
    pierna_dominante = Column(String)
    ocupacion = Column(String)
    como_nos_encontro = Column(String)
    tipo_entrenamiento = Column(String)
    nervios_confianza = Column(String)
    malestar = Column(String)
    disfrute = Column(String)
    recuperacion = Column(String)
    alcohol = Column(String)
    tabaco = Column(String)
    dolor_pecho = Column(String)
    trabajo_fisico = Column(String)
    permiso_video = Column(String)
    contenido_whatsapp = Column(String)
    fecha_registro = Column(String, nullable=False, default=lambda: datetime.now().strftime('%Y-%m-%dT%H:%M:%S'))

    def __repr__(self):
        return f"<EstadisticasJugadores(id={self.id}, user_id={self.user_id}, nombre='{self.nombre}')>"
