feat: add events app + "multi-tenants" aka multi-events

This commit is contained in:
2026-09-16 00:03:26 +02:00
parent b5c2cdc037
commit 8b9c254fd2
62 changed files with 1343 additions and 362 deletions
+10 -5
View File
@@ -1,7 +1,9 @@
from functools import wraps
from django.core.exceptions import PermissionDenied
from django.shortcuts import get_object_or_404
from events.models import Event
from .models import Game
@@ -9,12 +11,15 @@ def require_game_enabled(steam_app_id: int):
def decorator(view_func):
@wraps(view_func)
def wrapper(request, *args, **kwargs):
try:
game = Game.objects.get(steam_app_id=steam_app_id)
except Game.DoesNotExist:
raise PermissionDenied
if not game.enabled:
event = get_object_or_404(Event, path=kwargs.get("event_path"))
if (
not Game.objects.enabled_for_event(event)
.filter(steam_app_id=steam_app_id)
.exists()
):
raise PermissionDenied
return view_func(request, *args, **kwargs)
return wrapper