feat(market): enable/disable like any other games
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
from django.db import migrations
|
||||
|
||||
MARKET_PATH = "market"
|
||||
|
||||
|
||||
def seed_market_game(apps, schema_editor):
|
||||
"""The market used to be toggled globally (MARKET_ENABLED); it's now a
|
||||
custom Game like clock/place, enabled per event through EventGame. Enable
|
||||
it for every existing event so nothing disappears on deploy."""
|
||||
Event = apps.get_model("events", "Event")
|
||||
Game = apps.get_model("games", "Game")
|
||||
EventGame = apps.get_model("games", "EventGame")
|
||||
|
||||
game, _ = Game.objects.get_or_create(
|
||||
path=MARKET_PATH,
|
||||
custom_path=True,
|
||||
defaults={
|
||||
"name": "Market",
|
||||
"description": "Place your bets and compete",
|
||||
},
|
||||
)
|
||||
for event in Event.objects.all():
|
||||
EventGame.objects.get_or_create(event=event, game=game)
|
||||
|
||||
|
||||
def unseed_market_game(apps, schema_editor):
|
||||
Game = apps.get_model("games", "Game")
|
||||
Game.objects.filter(path=MARKET_PATH, custom_path=True).delete()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("events", "0003_event_is_available"),
|
||||
("games", "0009_game_description"),
|
||||
("market", "0009_event_required"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(seed_market_game, reverse_code=unseed_market_game),
|
||||
]
|
||||
Reference in New Issue
Block a user