Use function decorators to check authentication tokens.
This commit is contained in:
@@ -1,13 +1,16 @@
|
||||
from common import models
|
||||
from dsst_server.data_access import sql
|
||||
from dsst_server.auth import check_write
|
||||
|
||||
|
||||
class WriteFunctions:
|
||||
@staticmethod
|
||||
@check_write
|
||||
def create_season(season: 'models.Season'):
|
||||
return 'Season created.'
|
||||
|
||||
@staticmethod
|
||||
@check_write
|
||||
def update_enemy(enemy: 'models.Enemy', *_):
|
||||
(sql.Enemy
|
||||
.insert(id=enemy.id, boss=enemy.boss, name=enemy.name, season=enemy.season)
|
||||
@@ -17,6 +20,7 @@ class WriteFunctions:
|
||||
.execute())
|
||||
|
||||
@staticmethod
|
||||
@check_write
|
||||
def update_player(player: 'models.Player', *_):
|
||||
(sql.Player
|
||||
.insert(id=player.id, name=player.name, hex_id=player.hex_id)
|
||||
@@ -25,6 +29,7 @@ class WriteFunctions:
|
||||
.execute())
|
||||
|
||||
@staticmethod
|
||||
@check_write
|
||||
def update_drink(drink: 'models.Drink', *_):
|
||||
(sql.Drink
|
||||
.insert(id=drink.id, name=drink.name, vol=drink.vol)
|
||||
@@ -33,6 +38,7 @@ class WriteFunctions:
|
||||
.execute())
|
||||
|
||||
@staticmethod
|
||||
@check_write
|
||||
def save_death(death: 'models.Death'):
|
||||
with sql.db.atomic():
|
||||
created_id = (sql.Death
|
||||
@@ -43,6 +49,7 @@ class WriteFunctions:
|
||||
sql.Penalty.create(death=created_id, size=penalty.size, drink=penalty.drink, player=penalty.player)
|
||||
|
||||
@staticmethod
|
||||
@check_write
|
||||
def save_victory(victory: 'models.Victory'):
|
||||
(sql.Victory
|
||||
.insert(info=victory.info, player=victory.player, enemy=victory.enemy, time=victory.time,
|
||||
@@ -50,6 +57,7 @@ class WriteFunctions:
|
||||
.execute())
|
||||
|
||||
@staticmethod
|
||||
@check_write
|
||||
def update_season(season: 'models.Season', *_):
|
||||
(sql.Season
|
||||
.insert(id=season.id, number=season.number, game_name=season.game_name, start_date=season.start_date,
|
||||
@@ -62,6 +70,7 @@ class WriteFunctions:
|
||||
.execute())
|
||||
|
||||
@staticmethod
|
||||
@check_write
|
||||
def update_episode(episode: 'models.Episode', *_):
|
||||
players = list(sql.Player.select().where(sql.Player.id << [player.id for player in episode.players]))
|
||||
new_ep_id = (sql.Episode
|
||||
@@ -76,3 +85,8 @@ class WriteFunctions:
|
||||
db_episode = sql.Episode.get(sql.Episode.id == new_ep_id)
|
||||
db_episode.players = players
|
||||
db_episode.save()
|
||||
|
||||
@staticmethod
|
||||
@check_write
|
||||
def delete_player(player_id: int, *_):
|
||||
sql.Player.delete_by_id(int)
|
||||
|
||||
Reference in New Issue
Block a user