Spaces:
Running
on
Zero
Running
on
Zero
File size: 1,043 Bytes
1f074d8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
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) |