Use function decorators to check authentication tokens.

This commit is contained in:
luxick
2018-03-28 20:58:19 +02:00
parent 4b8d2421a5
commit ad85a37d5e
6 changed files with 87 additions and 41 deletions

View File

@@ -1,40 +1,49 @@
from dsst_server.data_access import sql, sql_func, mapping
from dsst_server.auth import check_read
from common import models
from playhouse import shortcuts
class ReadFunctions:
@staticmethod
@check_read
def load_db_meta(*_):
return sql.db.database
@staticmethod
@check_read
def load_seasons(*_):
return [mapping.db_to_season(season) for season in sql.Season.select()]
@staticmethod
@check_read
def load_seasons_all(*_):
return [shortcuts.model_to_dict(season, backrefs=True, max_depth=2) for season in sql.Season.select()]
@staticmethod
@check_read
def load_episodes(season_id, *_):
if not season_id:
raise Exception('Exception: Missing argument (season_id)')
return [mapping.db_to_episode(ep) for ep in sql.Season.get(sql.Season.id == season_id).episodes]
@staticmethod
@check_read
def load_players(*_):
return [mapping.db_to_player(player) for player in sql.Player.select()]
@staticmethod
@check_read
def load_enemies(season_id, *_):
pass
@staticmethod
@check_read
def load_drinks(*_):
return [mapping.db_to_drink(drink) for drink in sql.Drink.select()]
@staticmethod
@check_read
def load_season_stats(season_id, *_):
season = sql.Season.get(sql.Season.id == season_id)
players = sql_func.players_for_season(season_id)