Spaces:
Running
on
Zero
Running
on
Zero
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") | |
def exists(cls, username, db): | |
return db.query(cls).filter(cls.username == username).first() is not None | |
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) |