201 lines
14 KiB
Python
201 lines
14 KiB
Python
# USE THIS ON AN EMPTY DATABASE TO GENERATE DEMO DATA
|
|
import asyncio
|
|
from datetime import date
|
|
from decimal import Decimal
|
|
|
|
import sys
|
|
|
|
from src.ez_lan_manager import init_services
|
|
from src.ez_lan_manager.types.CateringMenuItem import CateringMenuItemCategory
|
|
from src.ez_lan_manager.types.News import News
|
|
|
|
DEMO_USERS = [
|
|
{"user_name": "manfred", "user_mail": "manfred@demomail.com", "password_clear_text": "manfred"}, # Gast
|
|
{"user_name": "gustav", "user_mail": "gustav@demomail.com", "password_clear_text": "gustav"}, # Gast + Ticket(NORMAL)
|
|
{"user_name": "jason", "user_mail": "juergen@demomail.com", "password_clear_text": "jason"}, # Gast + Ticket(NORMAL) + Sitzplatz
|
|
{"user_name": "lisa", "user_mail": "lisa@demomail.com", "password_clear_text": "lisa"}, # Teamler
|
|
{"user_name": "thomas", "user_mail": "thomas@demomail.com", "password_clear_text": "thomas"} # Teamler + Admin
|
|
]
|
|
|
|
|
|
async def run() -> None:
|
|
services = init_services()
|
|
await services[3].init_db_pool()
|
|
catering_service = services[1]
|
|
user_service = services[8]
|
|
accounting_service = services[0]
|
|
ticket_service = services[7]
|
|
seating_service = services[6]
|
|
news_service = services[5]
|
|
|
|
if input("Generate seating table? (y/N): ").lower() == "y":
|
|
sys.exit("This part of the script is currently being reworked... :(")
|
|
|
|
if not input("Generate users? (Y/n): ").lower() == "n":
|
|
# MANFRED
|
|
manfred = await user_service.create_user(DEMO_USERS[0]["user_name"], DEMO_USERS[0]["user_mail"],
|
|
DEMO_USERS[0]["password_clear_text"])
|
|
|
|
# GUSTAV
|
|
gustav = await user_service.create_user(DEMO_USERS[1]["user_name"], DEMO_USERS[1]["user_mail"],
|
|
DEMO_USERS[1]["password_clear_text"])
|
|
await accounting_service.add_balance(gustav.user_id, Decimal("1000.00"), "DEMO EINZAHLUNG")
|
|
await ticket_service.purchase_ticket(gustav.user_id, "NORMAL")
|
|
|
|
# JASON
|
|
jason = await user_service.create_user(DEMO_USERS[2]["user_name"], DEMO_USERS[2]["user_mail"],
|
|
DEMO_USERS[2]["password_clear_text"])
|
|
await accounting_service.add_balance(jason.user_id, Decimal("1000.00"), "DEMO EINZAHLUNG")
|
|
await ticket_service.purchase_ticket(jason.user_id, "NORMAL")
|
|
|
|
# LISA
|
|
lisa = await user_service.create_user(DEMO_USERS[3]["user_name"], DEMO_USERS[3]["user_mail"],
|
|
DEMO_USERS[3]["password_clear_text"])
|
|
await accounting_service.add_balance(lisa.user_id, Decimal("1000.00"), "DEMO EINZAHLUNG")
|
|
lisa.is_team_member = True
|
|
await user_service.update_user(lisa)
|
|
|
|
# THOMAS
|
|
thomas = await user_service.create_user(DEMO_USERS[4]["user_name"], DEMO_USERS[4]["user_mail"],
|
|
DEMO_USERS[4]["password_clear_text"])
|
|
await accounting_service.add_balance(thomas.user_id, Decimal("1000.00"), "DEMO EINZAHLUNG")
|
|
thomas.is_team_member = True
|
|
thomas.is_admin = True
|
|
await user_service.update_user(thomas)
|
|
|
|
if not input("Generate catering menu? (Y/n): ").lower() == "n":
|
|
# MAIN_COURSE
|
|
await catering_service.add_menu_item("Schnitzel Wiener Art", "mit Pommes", Decimal("10.00"),
|
|
CateringMenuItemCategory.MAIN_COURSE)
|
|
await catering_service.add_menu_item("Jäger Schnitzel mit Champignonrahm Sauce", "mit Pommes", Decimal("11.50"),
|
|
CateringMenuItemCategory.MAIN_COURSE)
|
|
await catering_service.add_menu_item("Tortellini in Käsesauce mit Fleischfüllung", "", Decimal("10.50"),
|
|
CateringMenuItemCategory.MAIN_COURSE)
|
|
await catering_service.add_menu_item("Tortellini in Käsesauce ohne Fleischfüllung", "Vegetarisch", Decimal("10.50"),
|
|
CateringMenuItemCategory.MAIN_COURSE)
|
|
|
|
# SNACK
|
|
await catering_service.add_menu_item("Käse Schinken Wrap", "", Decimal("5.00"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Puten Paprika Wrap", "", Decimal("7.00"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Tomate Mozzarella Wrap", "", Decimal("6.00"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Portion Pommes", "", Decimal("4.00"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Rinds-Currywurst", "", Decimal("4.50"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Rinds-Currywurst mit Pommes", "", Decimal("6.50"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Nudelsalat", "", Decimal("4.50"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Nudelsalat mit Bockwurst", "", Decimal("6.00"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Kartoffelsalat", "", Decimal("4.50"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Kartoffelsalat mit Bockwurst", "", Decimal("6.00"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Sandwichtoast - Schinken", "", Decimal("1.80"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Sandwichtoast - Käse", "", Decimal("1.80"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Sandwichtoast - Schinken/Käse", "", Decimal("2.10"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Sandwichtoast - Salami", "", Decimal("1.80"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Sandwichtoast - Salami/Käse", "", Decimal("2.10"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Chips - Western Style", "", Decimal("1.30"), CateringMenuItemCategory.SNACK)
|
|
await catering_service.add_menu_item("Nachos - Salted", "", Decimal("1.30"), CateringMenuItemCategory.SNACK)
|
|
|
|
# DESSERT
|
|
await catering_service.add_menu_item("Panna Cotta mit Erdbeersauce", "", Decimal("7.00"), CateringMenuItemCategory.DESSERT)
|
|
await catering_service.add_menu_item("Panna Cotta mit Blaubeersauce", "", Decimal("7.00"), CateringMenuItemCategory.DESSERT)
|
|
await catering_service.add_menu_item("Mousse au Chocolat", "", Decimal("7.00"), CateringMenuItemCategory.DESSERT)
|
|
|
|
# BREAKFAST
|
|
await catering_service.add_menu_item("Fruit Loops", "", Decimal("1.50"), CateringMenuItemCategory.BREAKFAST)
|
|
await catering_service.add_menu_item("Smacks", "", Decimal("1.50"), CateringMenuItemCategory.BREAKFAST)
|
|
await catering_service.add_menu_item("Knuspermüsli", "Schoko", Decimal("2.00"), CateringMenuItemCategory.BREAKFAST)
|
|
await catering_service.add_menu_item("Cini Minis", "", Decimal("2.50"), CateringMenuItemCategory.BREAKFAST)
|
|
await catering_service.add_menu_item("Brötchen - Schinken", "mit Margarine", Decimal("1.20"),
|
|
CateringMenuItemCategory.BREAKFAST)
|
|
await catering_service.add_menu_item("Brötchen - Käse", "mit Margarine", Decimal("1.20"),
|
|
CateringMenuItemCategory.BREAKFAST)
|
|
await catering_service.add_menu_item("Brötchen - Schinken/Käse", "mit Margarine", Decimal("1.40"),
|
|
CateringMenuItemCategory.BREAKFAST)
|
|
await catering_service.add_menu_item("Brötchen - Salami", "mit Margarine", Decimal("1.20"),
|
|
CateringMenuItemCategory.BREAKFAST)
|
|
await catering_service.add_menu_item("Brötchen - Salami/Käse", "mit Margarine", Decimal("1.40"),
|
|
CateringMenuItemCategory.BREAKFAST)
|
|
await catering_service.add_menu_item("Brötchen - Nutella", "mit Margarine", Decimal("1.20"),
|
|
CateringMenuItemCategory.BREAKFAST)
|
|
|
|
# BEVERAGE_NON_ALCOHOLIC
|
|
await catering_service.add_menu_item("Wasser - Still", "1L Flasche", Decimal("2.00"),
|
|
CateringMenuItemCategory.BEVERAGE_NON_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Wasser - Medium", "1L Flasche", Decimal("2.00"),
|
|
CateringMenuItemCategory.BEVERAGE_NON_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Wasser - Spritzig", "1L Flasche", Decimal("2.00"),
|
|
CateringMenuItemCategory.BEVERAGE_NON_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Coca-Cola", "1L Flasche", Decimal("2.00"),
|
|
CateringMenuItemCategory.BEVERAGE_NON_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Coca-Cola Zero", "1L Flasche", Decimal("2.00"),
|
|
CateringMenuItemCategory.BEVERAGE_NON_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Fanta", "1L Flasche", Decimal("2.00"),
|
|
CateringMenuItemCategory.BEVERAGE_NON_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Sprite", "1L Flasche", Decimal("2.00"),
|
|
CateringMenuItemCategory.BEVERAGE_NON_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Spezi", "von Paulaner, 0,5L Flasche", Decimal("1.50"),
|
|
CateringMenuItemCategory.BEVERAGE_NON_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Red Bull", "", Decimal("2.00"), CateringMenuItemCategory.BEVERAGE_NON_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Energy", "Hausmarke", Decimal("1.50"),
|
|
CateringMenuItemCategory.BEVERAGE_NON_ALCOHOLIC)
|
|
|
|
# BEVERAGE_ALCOHOLIC
|
|
await catering_service.add_menu_item("Pils", "0,33L Flasche", Decimal("1.90"), CateringMenuItemCategory.BEVERAGE_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Radler", "0,33L Flasche", Decimal("1.90"),
|
|
CateringMenuItemCategory.BEVERAGE_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Diesel", "0,33L Flasche", Decimal("1.90"),
|
|
CateringMenuItemCategory.BEVERAGE_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Apfelwein Pur", "0,33L Flasche", Decimal("1.90"),
|
|
CateringMenuItemCategory.BEVERAGE_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Apfelwein Sauer", "0,33L Flasche", Decimal("1.90"),
|
|
CateringMenuItemCategory.BEVERAGE_ALCOHOLIC)
|
|
await catering_service.add_menu_item("Apfelwein Cola", "0,33L Flasche", Decimal("1.90"),
|
|
CateringMenuItemCategory.BEVERAGE_ALCOHOLIC)
|
|
|
|
# BEVERAGE_COCKTAIL
|
|
await catering_service.add_menu_item("Vodka Energy", "", Decimal("4.00"), CateringMenuItemCategory.BEVERAGE_COCKTAIL)
|
|
await catering_service.add_menu_item("Vodka O-Saft", "", Decimal("4.00"), CateringMenuItemCategory.BEVERAGE_COCKTAIL)
|
|
await catering_service.add_menu_item("Whiskey Cola", "mit Bourbon", Decimal("4.00"),
|
|
CateringMenuItemCategory.BEVERAGE_COCKTAIL)
|
|
await catering_service.add_menu_item("Jägermeister Energy", "", Decimal("4.00"), CateringMenuItemCategory.BEVERAGE_COCKTAIL)
|
|
await catering_service.add_menu_item("Sex on the Beach", "", Decimal("5.50"), CateringMenuItemCategory.BEVERAGE_COCKTAIL)
|
|
await catering_service.add_menu_item("Long Island Ice Tea", "", Decimal("5.50"), CateringMenuItemCategory.BEVERAGE_COCKTAIL)
|
|
await catering_service.add_menu_item("Caipirinha", "", Decimal("5.50"), CateringMenuItemCategory.BEVERAGE_COCKTAIL)
|
|
|
|
# BEVERAGE_SHOT
|
|
await catering_service.add_menu_item("Jägermeister", "", Decimal("2.00"), CateringMenuItemCategory.BEVERAGE_SHOT)
|
|
await catering_service.add_menu_item("Tequila", "", Decimal("2.00"), CateringMenuItemCategory.BEVERAGE_SHOT)
|
|
await catering_service.add_menu_item("PfEZzi", "Getunter Pfefferminz-Schnaps", Decimal("1.99"),
|
|
CateringMenuItemCategory.BEVERAGE_SHOT)
|
|
|
|
# NON_FOOD
|
|
await catering_service.add_menu_item("Zigaretten", "Elixyr", Decimal("8.00"), CateringMenuItemCategory.NON_FOOD)
|
|
await catering_service.add_menu_item("Mentholfilter", "passend für Elixyr", Decimal("1.20"),
|
|
CateringMenuItemCategory.NON_FOOD)
|
|
|
|
if not input("Generate default new post? (Y/n): ").lower() == "n":
|
|
loops = 0
|
|
user = None
|
|
while loops < 1000:
|
|
user = await user_service.get_user(loops)
|
|
if user is not None:
|
|
break
|
|
loops += 1
|
|
|
|
if user is None:
|
|
sys.exit("Database does not contain users! Exiting...")
|
|
|
|
await news_service.add_news(News(
|
|
news_id=None,
|
|
title="Der EZ LAN Manager",
|
|
subtitle="Eine Software des EZ GG e.V.",
|
|
content="Dies ist eine WIP-Version des EZ LAN Managers. Diese Software soll uns helfen in Zukunft die LAN "
|
|
"Parties des EZ GG e.V.'s zu organisieren. Wer Fehler findet darf sie behalten. (Oder er meldet "
|
|
"sie)",
|
|
author=user,
|
|
news_date=date.today()
|
|
))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
with asyncio.Runner() as loop:
|
|
loop.run(run())
|