tschunkorder/backend/database.py

39 lines
No EOL
1.1 KiB
Python

from typing import List, Optional
import uuid
from datetime import datetime
from models import Order, Drink
class OrderDatabase:
def __init__(self):
self.orders: dict[str, Order] = {}
def create_order(self, drinks: List[Drink]) -> Order:
"""Create a new order with the given drinks."""
order_id = str(uuid.uuid4())
order = Order(
id=order_id,
order_date=datetime.now(),
drinks=drinks
)
self.orders[order_id] = order
return order
def get_all_orders(self) -> List[Order]:
"""Get all orders."""
return list(self.orders.values())
def get_order_by_id(self, order_id: str) -> Optional[Order]:
"""Get a specific order by ID."""
return self.orders.get(order_id)
def delete_order(self, order_id: str) -> bool:
"""Delete an order by ID. Returns True if successful, False if not found."""
if order_id in self.orders:
del self.orders[order_id]
return True
return False
# Global database instance
db = OrderDatabase()