from sqlalchemy import Column, Integer, String from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationship Base = declarative_base() class User(Base): __tablename__ = "users" id = Column(Integer, primary_key=True) username = Column(String, unique=True) password = Column(String) profile = Column(String) tags = Column(String) team_id = Column(Integer, ForeignKey("teams.id")) team = relationship("Team", backref="users") @classmethod def exists(cls, username, db): return db.query(cls).filter(cls.username == username).first() is not None @classmethod def authenticate(cls, username, password, db): user = db.query(cls).filter(cls.username == username).first() if user and user.password == password: return user return None class Team(Base): __tablename__ = "teams" id = Column(Integer, primary_key=True) name = Column(String, unique=True) created_at = Column(DateTime, default=datetime.utcnow)