Fix enum mismatch: Update Python enums and seed data to match database uppercase values

- Fixed ProductType enum values from lowercase to uppercase (INGREDIENT, FINISHED_PRODUCT)
- Fixed UnitOfMeasure enum values from lowercase/abbreviated to uppercase (KILOGRAMS, LITERS, etc.)
- Fixed IngredientCategory enum values from lowercase to uppercase (FLOUR, YEAST, etc.)
- Fixed ProductCategory enum values from lowercase to uppercase (BREAD, CROISSANTS, etc.)
- Updated seed data files to use correct uppercase enum values
- Fixed hardcoded enum references throughout the codebase
- This resolves the InvalidTextRepresentationError when inserting inventory data

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
Urtzi Alfaro
2025-12-13 16:49:04 +01:00
parent e116ac244c
commit 10c779858a
7 changed files with 1354 additions and 47 deletions

View File

@@ -17,51 +17,51 @@ from shared.database.base import Base
class UnitOfMeasure(enum.Enum):
"""Standard units of measure for ingredients"""
KILOGRAMS = "kg"
GRAMS = "g"
LITERS = "l"
MILLILITERS = "ml"
UNITS = "units"
PIECES = "pcs"
PACKAGES = "pkg"
BAGS = "bags"
BOXES = "boxes"
KILOGRAMS = "KILOGRAMS"
GRAMS = "GRAMS"
LITERS = "LITERS"
MILLILITERS = "MILLILITERS"
UNITS = "UNITS"
PIECES = "PIECES"
PACKAGES = "PACKAGES"
BAGS = "BAGS"
BOXES = "BOXES"
class IngredientCategory(enum.Enum):
"""Bakery ingredient categories"""
FLOUR = "flour"
YEAST = "yeast"
DAIRY = "dairy"
EGGS = "eggs"
SUGAR = "sugar"
FATS = "fats"
SALT = "salt"
SPICES = "spices"
ADDITIVES = "additives"
PACKAGING = "packaging"
CLEANING = "cleaning"
OTHER = "other"
FLOUR = "FLOUR"
YEAST = "YEAST"
DAIRY = "DAIRY"
EGGS = "EGGS"
SUGAR = "SUGAR"
FATS = "FATS"
SALT = "SALT"
SPICES = "SPICES"
ADDITIVES = "ADDITIVES"
PACKAGING = "PACKAGING"
CLEANING = "CLEANING"
OTHER = "OTHER"
class ProductCategory(enum.Enum):
"""Finished bakery product categories for retail/distribution model"""
BREAD = "bread"
CROISSANTS = "croissants"
PASTRIES = "pastries"
CAKES = "cakes"
COOKIES = "cookies"
MUFFINS = "muffins"
SANDWICHES = "sandwiches"
SEASONAL = "seasonal"
BEVERAGES = "beverages"
OTHER_PRODUCTS = "other_products"
BREAD = "BREAD"
CROISSANTS = "CROISSANTS"
PASTRIES = "PASTRIES"
CAKES = "CAKES"
COOKIES = "COOKIES"
MUFFINS = "MUFFINS"
SANDWICHES = "SANDWICHES"
SEASONAL = "SEASONAL"
BEVERAGES = "BEVERAGES"
OTHER_PRODUCTS = "OTHER_PRODUCTS"
class ProductType(enum.Enum):
"""Type of product in inventory"""
INGREDIENT = "ingredient" # Raw materials (flour, yeast, etc.)
FINISHED_PRODUCT = "finished_product" # Ready-to-sell items (bread, croissants, etc.)
INGREDIENT = "INGREDIENT" # Raw materials (flour, yeast, etc.)
FINISHED_PRODUCT = "FINISHED_PRODUCT" # Ready-to-sell items (bread, croissants, etc.)
class ProductionStage(enum.Enum):