summaryrefslogtreecommitdiff
path: root/api/v1/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'api/v1/db.py')
-rw-r--r--api/v1/db.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/api/v1/db.py b/api/v1/db.py
new file mode 100644
index 0000000..3d226c5
--- /dev/null
+++ b/api/v1/db.py
@@ -0,0 +1,35 @@
+from peewee import SqliteDatabase, ForeignKeyField, CharField, Model, IntegerField
+
+db = SqliteDatabase('datapackmanager.db')
+
+
+class BaseModel(Model):
+ class Meta:
+ database = db
+
+
+class User(BaseModel):
+ name = CharField()
+ id = IntegerField(primary_key=True)
+
+
+class Category(BaseModel):
+ name = CharField()
+ id = IntegerField(primary_key=True)
+
+
+class DataPack(BaseModel):
+ id = IntegerField(primary_key=True)
+ name = CharField()
+ description = CharField(max_length=10000)
+ category = ForeignKeyField(Category)
+ author = ForeignKeyField(User)
+
+
+class Version(BaseModel):
+ name = CharField()
+ datapack = ForeignKeyField(DataPack)
+
+
+db.create_tables([DataPack, Category, Version, User])
+__all__ = ('DataPack', 'Category', 'Version', 'db')