mirror of
https://github.com/hay-kot/mealie.git
synced 2025-08-22 22:43:34 -07:00
add updated_date to recipe schema
This commit is contained in:
parent
a4e1b567f0
commit
648a1cd38c
3 changed files with 20 additions and 5 deletions
|
@ -14,7 +14,7 @@ export const recipe = {
|
||||||
sortByCreated(list) {
|
sortByCreated(list) {
|
||||||
list.sort((a, b) => (a.dateAdded > b.dateAdded ? -1 : 1));
|
list.sort((a, b) => (a.dateAdded > b.dateAdded ? -1 : 1));
|
||||||
},
|
},
|
||||||
sortUpdated(list) {
|
sortByUpdated(list) {
|
||||||
list.sort((a, b) => (a.dateUpdated > b.dateUpdated ? -1 : 1));
|
list.sort((a, b) => (a.dateUpdated > b.dateUpdated ? -1 : 1));
|
||||||
},
|
},
|
||||||
sortByRating(list) {
|
sortByRating(list) {
|
||||||
|
|
|
@ -27,12 +27,16 @@ class RecipeModel(SqlAlchemyBase, BaseMixins):
|
||||||
name = sa.Column(sa.String, nullable=False)
|
name = sa.Column(sa.String, nullable=False)
|
||||||
description = sa.Column(sa.String)
|
description = sa.Column(sa.String)
|
||||||
image = sa.Column(sa.String)
|
image = sa.Column(sa.String)
|
||||||
|
|
||||||
|
# Time Related Properties
|
||||||
total_time = sa.Column(sa.String)
|
total_time = sa.Column(sa.String)
|
||||||
prep_time = sa.Column(sa.String)
|
prep_time = sa.Column(sa.String)
|
||||||
perform_time = sa.Column(sa.String)
|
perform_time = sa.Column(sa.String)
|
||||||
cookTime = sa.Column(sa.String)
|
cook_time = sa.Column(sa.String)
|
||||||
|
|
||||||
recipe_yield = sa.Column(sa.String)
|
recipe_yield = sa.Column(sa.String)
|
||||||
recipeCuisine = sa.Column(sa.String)
|
recipeCuisine = sa.Column(sa.String)
|
||||||
|
|
||||||
tools: list[Tool] = orm.relationship("Tool", cascade="all, delete-orphan")
|
tools: list[Tool] = orm.relationship("Tool", cascade="all, delete-orphan")
|
||||||
assets: list[RecipeAsset] = orm.relationship("RecipeAsset", cascade="all, delete-orphan")
|
assets: list[RecipeAsset] = orm.relationship("RecipeAsset", cascade="all, delete-orphan")
|
||||||
nutrition: Nutrition = orm.relationship("Nutrition", uselist=False, cascade="all, delete-orphan")
|
nutrition: Nutrition = orm.relationship("Nutrition", uselist=False, cascade="all, delete-orphan")
|
||||||
|
@ -55,12 +59,15 @@ class RecipeModel(SqlAlchemyBase, BaseMixins):
|
||||||
slug = sa.Column(sa.String, index=True, unique=True)
|
slug = sa.Column(sa.String, index=True, unique=True)
|
||||||
settings = orm.relationship("RecipeSettings", uselist=False, cascade="all, delete-orphan")
|
settings = orm.relationship("RecipeSettings", uselist=False, cascade="all, delete-orphan")
|
||||||
tags: list[Tag] = orm.relationship("Tag", secondary=recipes2tags, back_populates="recipes")
|
tags: list[Tag] = orm.relationship("Tag", secondary=recipes2tags, back_populates="recipes")
|
||||||
date_added = sa.Column(sa.Date, default=date.today)
|
|
||||||
notes: list[Note] = orm.relationship("Note", cascade="all, delete-orphan")
|
notes: list[Note] = orm.relationship("Note", cascade="all, delete-orphan")
|
||||||
rating = sa.Column(sa.Integer)
|
rating = sa.Column(sa.Integer)
|
||||||
org_url = sa.Column(sa.String)
|
org_url = sa.Column(sa.String)
|
||||||
extras: list[ApiExtras] = orm.relationship("ApiExtras", cascade="all, delete-orphan")
|
extras: list[ApiExtras] = orm.relationship("ApiExtras", cascade="all, delete-orphan")
|
||||||
|
|
||||||
|
# Time Stamp Properties
|
||||||
|
date_added = sa.Column(sa.Date, default=date.today)
|
||||||
|
date_updated = sa.Column(sa.DateTime)
|
||||||
|
|
||||||
@validates("name")
|
@validates("name")
|
||||||
def validate_name(self, key, name):
|
def validate_name(self, key, name):
|
||||||
assert name != ""
|
assert name != ""
|
||||||
|
@ -78,6 +85,7 @@ class RecipeModel(SqlAlchemyBase, BaseMixins):
|
||||||
recipeCuisine: str = None,
|
recipeCuisine: str = None,
|
||||||
total_time: str = None,
|
total_time: str = None,
|
||||||
prep_time: str = None,
|
prep_time: str = None,
|
||||||
|
cook_time: str = None,
|
||||||
nutrition: dict = None,
|
nutrition: dict = None,
|
||||||
tools: list[str] = None,
|
tools: list[str] = None,
|
||||||
perform_time: str = None,
|
perform_time: str = None,
|
||||||
|
@ -85,6 +93,7 @@ class RecipeModel(SqlAlchemyBase, BaseMixins):
|
||||||
recipe_category: list[str] = None,
|
recipe_category: list[str] = None,
|
||||||
tags: list[str] = None,
|
tags: list[str] = None,
|
||||||
date_added: datetime.date = None,
|
date_added: datetime.date = None,
|
||||||
|
date_updated: datetime.datetime = None,
|
||||||
notes: list[dict] = None,
|
notes: list[dict] = None,
|
||||||
rating: int = None,
|
rating: int = None,
|
||||||
org_url: str = None,
|
org_url: str = None,
|
||||||
|
@ -113,6 +122,7 @@ class RecipeModel(SqlAlchemyBase, BaseMixins):
|
||||||
self.total_time = total_time
|
self.total_time = total_time
|
||||||
self.prep_time = prep_time
|
self.prep_time = prep_time
|
||||||
self.perform_time = perform_time
|
self.perform_time = perform_time
|
||||||
|
self.cook_time = cook_time
|
||||||
|
|
||||||
self.recipe_category = [Category.create_if_not_exist(session=session, name=cat) for cat in recipe_category]
|
self.recipe_category = [Category.create_if_not_exist(session=session, name=cat) for cat in recipe_category]
|
||||||
|
|
||||||
|
@ -120,12 +130,15 @@ class RecipeModel(SqlAlchemyBase, BaseMixins):
|
||||||
self.settings = RecipeSettings(**settings) if settings else RecipeSettings()
|
self.settings = RecipeSettings(**settings) if settings else RecipeSettings()
|
||||||
self.tags = [Tag.create_if_not_exist(session=session, name=tag) for tag in tags]
|
self.tags = [Tag.create_if_not_exist(session=session, name=tag) for tag in tags]
|
||||||
self.slug = slug
|
self.slug = slug
|
||||||
self.date_added = date_added
|
|
||||||
self.notes = [Note(**note) for note in notes]
|
self.notes = [Note(**note) for note in notes]
|
||||||
self.rating = rating
|
self.rating = rating
|
||||||
self.org_url = org_url
|
self.org_url = org_url
|
||||||
self.extras = [ApiExtras(key=key, value=value) for key, value in extras.items()]
|
self.extras = [ApiExtras(key=key, value=value) for key, value in extras.items()]
|
||||||
|
|
||||||
|
# Time Stampes
|
||||||
|
self.date_added = date_added
|
||||||
|
self.date_updated = datetime.datetime.now()
|
||||||
|
|
||||||
def update(self, *args, **kwargs):
|
def update(self, *args, **kwargs):
|
||||||
"""Updated a database entry by removing nested rows and rebuilds the row through the __init__ functions"""
|
"""Updated a database entry by removing nested rows and rebuilds the row through the __init__ functions"""
|
||||||
self.__init__(*args, **kwargs)
|
self.__init__(*args, **kwargs)
|
||||||
|
|
|
@ -69,6 +69,9 @@ class RecipeSummary(CamelModel):
|
||||||
tags: Optional[list[str]] = []
|
tags: Optional[list[str]] = []
|
||||||
rating: Optional[int]
|
rating: Optional[int]
|
||||||
|
|
||||||
|
date_added: Optional[datetime.date]
|
||||||
|
date_updated: Optional[datetime.datetime]
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
|
@ -95,7 +98,6 @@ class Recipe(RecipeSummary):
|
||||||
# Mealie Specific
|
# Mealie Specific
|
||||||
settings: Optional[RecipeSettings]
|
settings: Optional[RecipeSettings]
|
||||||
assets: Optional[list[RecipeAsset]] = []
|
assets: Optional[list[RecipeAsset]] = []
|
||||||
date_added: Optional[datetime.date]
|
|
||||||
notes: Optional[list[RecipeNote]] = []
|
notes: Optional[list[RecipeNote]] = []
|
||||||
org_url: Optional[str] = Field(None, alias="orgURL")
|
org_url: Optional[str] = Field(None, alias="orgURL")
|
||||||
extras: Optional[dict] = {}
|
extras: Optional[dict] = {}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue