munch-ease-backend/model.py
2024-01-08 11:38:17 +11:00

59 lines
No EOL
1.8 KiB
Python

from typing import List, Union
from datetime import datetime
class Product:
def __init__(self, id: int, name: str, link: str, img_small: str, img_large: str, raw_data: dict) -> None:
self.id = id
self.name = name
self.link = link
self.img_small = img_small
self.img_large = img_large
self.raw_data = raw_data
class Person:
def __init__(self, id: int, name: str) -> None:
self.id = id
self.name = name
class Measurement:
def __init__(self, qty: int, unit: str) -> None:
self.qty = qty
self.unit = unit
class Ingredient:
def __init__(self, id: int, source: str, name: str, product: Product, measure: Measurement, preparation: str) -> None:
self.id = id
self.name = name
self.product = product
self.measure = measure
self.source = source
self.preparation = preparation
class Recipe:
def __init__(self, id: int, name: str, link: str, ingredients: List[Ingredient]) -> None:
self.id = id
self.name = name
self.link = link
self.ingredients = ingredients
class Meal:
def __init__(self, id: int, date: datetime, chef: List[Person], cleanup: List[Person],
consumers: List[Person], recipes: List[Recipe]) -> None:
self.id = id
self.date = date
self.chef = chef
self.cleanup = cleanup
self.consumers = consumers
self.recipes = recipes
class ShoppingListItem:
def __init__(self, id: int, food_item: Product, measure: Measurement, source: Union[Meal, None]) -> None:
self.id = id
self.food_item = food_item
self.measure = measure
self.source = source
class ShoppingList:
def __init__(self, date: datetime, items: List[ShoppingListItem]) -> None:
self.date = date
self.items = items