mirror of
https://github.com/Fluffy-Bean/GameExpo23.git
synced 2025-05-18 09:24:52 +00:00
54 lines
1.7 KiB
Python
54 lines
1.7 KiB
Python
"""
|
|
Database models for the server
|
|
"""
|
|
from website.extensions import db
|
|
from flask_login import UserMixin
|
|
|
|
|
|
class Images(db.Model):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
image = db.Column(db.String, nullable=False)
|
|
game_id = db.Column(db.Integer, db.ForeignKey("games.id"))
|
|
|
|
|
|
class Tags(db.Model):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
tag = db.Column(db.String, nullable=False)
|
|
game_id = db.Column(db.Integer, db.ForeignKey("games.id"))
|
|
|
|
|
|
class Authors(db.Model):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
name = db.Column(db.String, nullable=False)
|
|
role = db.Column(db.String, nullable=False, default="Developer")
|
|
game_id = db.Column(db.Integer, db.ForeignKey("games.id"))
|
|
|
|
|
|
class Users(db.Model, UserMixin):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
uuid = db.Column(db.String, nullable=False)
|
|
game_id = db.Column(db.Integer, db.ForeignKey("games.id"))
|
|
|
|
def get_id(self):
|
|
return int(self.id)
|
|
|
|
|
|
class Games(db.Model):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
approved = db.Column(db.Boolean, nullable=False, default=False)
|
|
visible = db.Column(db.Boolean, nullable=False, default=False)
|
|
|
|
name = db.Column(db.String, nullable=False)
|
|
studio = db.Column(db.String, nullable=False)
|
|
description = db.Column(db.String, nullable=False)
|
|
|
|
logo = db.Column(db.String)
|
|
background = db.Column(db.String)
|
|
|
|
downloadLink = db.Column(db.String)
|
|
ageRating = db.Column(db.String, nullable=False)
|
|
|
|
tags = db.relationship("Tags", backref="game", lazy=True)
|
|
authors = db.relationship("Authors", backref="game", lazy=True)
|
|
images = db.relationship("Images", backref="game", lazy=True)
|
|
owner_id = db.relationship("Users", backref="game", lazy=True)
|