Delete functions on client.

This commit is contained in:
luxick
2018-05-05 15:52:12 +02:00
parent b3eca219ac
commit cb8646bae2
14 changed files with 311 additions and 100 deletions

View File

@@ -12,7 +12,7 @@ try:
from peewee import *
except ImportError:
print('peewee package not installed')
sys.exit(0)
sys.exit(1)
db = MySQLDatabase(None)
@@ -43,7 +43,7 @@ class Episode(Model):
number = CharField()
name = CharField(null=True)
date = DateField(null=True)
season = ForeignKeyField(Season, backref='episodes')
season = ForeignKeyField(Season, backref='episodes', on_delete='CASCADE')
players = ManyToManyField(Player, backref='episodes')
class Meta:
@@ -63,7 +63,7 @@ class Enemy(Model):
id = AutoField()
name = CharField()
boss = BooleanField()
season = ForeignKeyField(Season, backref='enemies')
season = ForeignKeyField(Season, backref='enemies', on_delete='CASCADE')
class Meta:
database = db
@@ -75,7 +75,7 @@ class Death(Model):
time = TimeField(default=datetime.time(0, 0))
player = ForeignKeyField(Player)
enemy = ForeignKeyField(Enemy)
episode = ForeignKeyField(Episode, backref='deaths')
episode = ForeignKeyField(Episode, backref='deaths', on_delete='CASCADE')
class Meta:
database = db
@@ -85,8 +85,8 @@ class Penalty(Model):
id = AutoField()
size = DecimalField()
drink = ForeignKeyField(Drink)
player = ForeignKeyField(Player, backref='penalties')
death = ForeignKeyField(Death, backref='penalties')
player = ForeignKeyField(Player, backref='penalties', on_delete='CASCADE')
death = ForeignKeyField(Death, backref='penalties', on_delete='CASCADE')
class Meta:
database = db
@@ -98,7 +98,7 @@ class Victory(Model):
time = TimeField(default=datetime.time(0, 0))
player = ForeignKeyField(Player)
enemy = ForeignKeyField(Enemy)
episode = ForeignKeyField(Episode, backref='victories')
episode = ForeignKeyField(Episode, backref='victories', on_delete='CASCADE')
class Meta:
database = db

View File

@@ -0,0 +1,15 @@
from dsst_server.data_access import sql
from dsst_server.auth import check_write
class DeleteFunctions:
@staticmethod
@check_write
def delete_death(death_id: int):
return sql.Death.delete().where(sql.Death.id == death_id).execute()
@staticmethod
@check_write
def delete_victory(victory_id: int):
return sql.Victory.delete().where(sql.Death.id == victory_id).execute()

View File

@@ -1,6 +1,7 @@
from dsst_server.func_write import WriteFunctions
from dsst_server.func_read import ReadFunctions
from dsst_server.func_delete import DeleteFunctions
class FunctionProxy(WriteFunctions, ReadFunctions):
class FunctionProxy(WriteFunctions, ReadFunctions, DeleteFunctions):
pass