Remake nav bar to work with more filters

Add new background work on fixing tables
This commit is contained in:
Michał Gdula 2023-06-11 16:56:12 +03:00
parent 1027361601
commit 459aefb124
15 changed files with 248 additions and 191 deletions

View file

@ -4,17 +4,16 @@ Database models for the server
import uuid
from flask_login import UserMixin
from server.extensions import db
from server.config import GAME_VERSION
class Scores(db.Model):
"""
Post table
Scores supports anonymous posting, and instead just wants to post a score,
then the username must be provided.Otherwise, it's grabbed from the user table
then the username must be provided. Otherwise, it's grabbed from the user
table
"""
__tablename__ = "scores"
id = db.Column(db.Integer, primary_key=True)
score = db.Column(db.Float, nullable=False)
@ -24,17 +23,34 @@ class Scores(db.Model):
nullable=False,
server_default=db.func.now(),
)
posted_at = db.Column(
db.DateTime,
nullable=False,
server_default=db.func.now(),
)
scorer = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False)
version = db.Column(db.String, default=GAME_VERSION)
user_id = db.Column(db.Integer, db.ForeignKey("users.id", use_alter=True))
class Tokens(db.Model):
"""
Token table
"""
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey("users.id", use_alter=True))
token = db.Column(db.String, nullable=False, unique=True)
created_at = db.Column(
db.DateTime,
nullable=False,
server_default=db.func.now(),
)
class Users(db.Model, UserMixin):
"""
User table
"""
__tablename__ = "users"
id = db.Column(db.Integer, primary_key=True)
alt_id = db.Column(db.String, nullable=False, unique=True)
@ -46,25 +62,9 @@ class Users(db.Model, UserMixin):
server_default=db.func.now(),
)
scores = db.relationship("Scores", backref="user", lazy=True)
tokens = db.relationship("Tokens", backref="user", lazy=True)
scores = db.relationship("Scores", backref=db.backref('users', lazy=True))
tokens = db.relationship("Tokens", backref=db.backref('users', lazy=True))
def get_id(self):
return str(self.alt_id)
class Tokens(db.Model):
"""
Token table
"""
__tablename__ = "tokens"
id = db.Column(db.Integer, primary_key=True)
holder = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False)
token = db.Column(db.String, nullable=False, unique=True)
created_at = db.Column(
db.DateTime,
nullable=False,
server_default=db.func.now(),
)