aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
authorrubenwardy <rubenwardy@gmail.com>2018-04-03 14:13:11 +0100
committerrubenwardy <rubenwardy@gmail.com>2018-04-03 14:13:16 +0100
commit5f2a3992602b59614a8c3d9a193e4669705c048c (patch)
tree549196f7317670279c0fc60c4e49a125a9dd9474 /app/models.py
parent743d1d909fbfb704185475c162f6ae2396272c75 (diff)
downloadcheatdb-5f2a3992602b59614a8c3d9a193e4669705c048c.tar.xz
Add package licenses
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/app/models.py b/app/models.py
index 444d606..4f5fee2 100644
--- a/app/models.py
+++ b/app/models.py
@@ -116,6 +116,18 @@ class User(db.Model, UserMixin):
else:
raise Exception("Permission {} is not related to users".format(perm.name))
+class License(db.Model):
+ id = db.Column(db.Integer, primary_key=True)
+ name = db.Column(db.String(50), nullable=False, unique=True)
+ packages = db.relationship("Package", backref="license", lazy="dynamic")
+
+ def __init__(self, v):
+ self.name = v
+
+ def __str__(self):
+ return self.name
+
+
class PackageType(enum.Enum):
MOD = "Mod"
GAME = "Game"
@@ -142,6 +154,7 @@ class PackagePropertyKey(enum.Enum):
shortDesc = "Short Description"
desc = "Description"
type = "Type"
+ license = "License"
tags = "Tags"
repo = "Repository"
website = "Website"
@@ -170,6 +183,8 @@ class Package(db.Model):
desc = db.Column(db.Text, nullable=True)
type = db.Column(db.Enum(PackageType))
+ license_id = db.Column(db.Integer, db.ForeignKey("license.id"))
+
approved = db.Column(db.Boolean, nullable=False, default=False)
# Downloads
@@ -198,6 +213,7 @@ class Package(db.Model):
"author": self.author.display_name,
"shortDesc": self.shortDesc,
"type": self.type.toName(),
+ "license": self.license.name,
"repo": self.repo,
"url": base_url + self.getDownloadURL(),
"screenshots": [base_url + ss.url for ss in self.screenshots]