mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-12-28 21:15:26 -05:00
init 2
This commit is contained in:
24
mealie/db/meal_models.py
Normal file
24
mealie/db/meal_models.py
Normal file
@@ -0,0 +1,24 @@
|
||||
import uuid
|
||||
|
||||
import mongoengine
|
||||
|
||||
|
||||
class MealDocument(mongoengine.EmbeddedDocument):
|
||||
slug = mongoengine.StringField()
|
||||
name = mongoengine.StringField()
|
||||
date = mongoengine.DateField()
|
||||
dateText = mongoengine.StringField()
|
||||
image = mongoengine.StringField()
|
||||
description = mongoengine.StringField()
|
||||
|
||||
|
||||
class MealPlanDocument(mongoengine.Document):
|
||||
uid = mongoengine.UUIDField(default=uuid.uuid1)
|
||||
startDate = mongoengine.DateField(required=True)
|
||||
endDate = mongoengine.DateField(required=True)
|
||||
meals = mongoengine.ListField(required=True)
|
||||
|
||||
meta = {
|
||||
"db_alias": "core",
|
||||
"collection": "meals",
|
||||
}
|
||||
16
mealie/db/mongo_setup.py
Normal file
16
mealie/db/mongo_setup.py
Normal file
@@ -0,0 +1,16 @@
|
||||
import mongoengine
|
||||
from settings import DB_HOST, DB_PASSWORD, DB_PORT, DB_USERNAME
|
||||
|
||||
|
||||
|
||||
def global_init():
|
||||
mongoengine.register_connection(
|
||||
alias="core",
|
||||
name="demo_mealie",
|
||||
host=DB_HOST,
|
||||
port=int(DB_PORT),
|
||||
username=DB_USERNAME,
|
||||
password=DB_PASSWORD,
|
||||
authentication_source="admin",
|
||||
)
|
||||
|
||||
35
mealie/db/recipe_models.py
Normal file
35
mealie/db/recipe_models.py
Normal file
@@ -0,0 +1,35 @@
|
||||
import datetime
|
||||
import uuid
|
||||
|
||||
import mongoengine
|
||||
|
||||
|
||||
class RecipeDocument(mongoengine.Document):
|
||||
# Standard Schema
|
||||
# id = mongoengine.UUIDField(primary_key=True)
|
||||
name = mongoengine.StringField(required=True)
|
||||
description = mongoengine.StringField(required=True)
|
||||
image = mongoengine.StringField(required=True)
|
||||
recipeYield = mongoengine.StringField(required=True, default="")
|
||||
recipeIngredient = mongoengine.ListField(required=True, default=[])
|
||||
recipeInstructions = mongoengine.ListField(requiredd=True, default=[])
|
||||
totalTime = mongoengine.StringField(required=False)
|
||||
|
||||
# Mealie Specific
|
||||
slug = mongoengine.StringField(required=True, unique=True)
|
||||
categories = mongoengine.ListField(default=[])
|
||||
tags = mongoengine.ListField(default=[])
|
||||
dateAdded = mongoengine.DateTimeField(binary=True, default=datetime.date.today())
|
||||
notes = mongoengine.ListField(default=[])
|
||||
rating = mongoengine.IntField(required=True, default=0)
|
||||
orgURL = mongoengine.URLField(required=False)
|
||||
extras = mongoengine.ListField(required=False)
|
||||
|
||||
meta = {
|
||||
"db_alias": "core",
|
||||
"collection": "recipes",
|
||||
}
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
pass
|
||||
37
mealie/db/settings_models.py
Normal file
37
mealie/db/settings_models.py
Normal file
@@ -0,0 +1,37 @@
|
||||
import mongoengine
|
||||
|
||||
|
||||
class WebhooksDocument(mongoengine.EmbeddedDocument):
|
||||
webhookURLs = mongoengine.ListField(required=False, default=[])
|
||||
webhookTime = mongoengine.StringField(required=False, default="00:00")
|
||||
enabled = mongoengine.BooleanField(required=False, default=False)
|
||||
|
||||
|
||||
class SiteSettingsDocument(mongoengine.Document):
|
||||
name = mongoengine.StringField(require=True, default="main", unique=True)
|
||||
webhooks = mongoengine.EmbeddedDocumentField(WebhooksDocument, required=True)
|
||||
|
||||
meta = {
|
||||
"db_alias": "core",
|
||||
"collection": "settings",
|
||||
}
|
||||
|
||||
|
||||
class ThemeColorsDocument(mongoengine.EmbeddedDocument):
|
||||
primary = mongoengine.StringField(require=True)
|
||||
accent = mongoengine.StringField(require=True)
|
||||
secondary = mongoengine.StringField(require=True)
|
||||
success = mongoengine.StringField(require=True)
|
||||
info = mongoengine.StringField(require=True)
|
||||
warning = mongoengine.StringField(require=True)
|
||||
error = mongoengine.StringField(require=True)
|
||||
|
||||
|
||||
class SiteThemeDocument(mongoengine.Document):
|
||||
name = mongoengine.StringField(require=True, unique=True)
|
||||
colors = mongoengine.EmbeddedDocumentField(ThemeColorsDocument, required=True)
|
||||
|
||||
meta = {
|
||||
"db_alias": "core",
|
||||
"collection": "themes",
|
||||
}
|
||||
7
mealie/db/user_models.py
Normal file
7
mealie/db/user_models.py
Normal file
@@ -0,0 +1,7 @@
|
||||
import datetime
|
||||
|
||||
import mongoengine
|
||||
|
||||
class User(mongoengine.Document):
|
||||
username: mongoengine.EmailField()
|
||||
# password: mongoengine.ReferenceField
|
||||
Reference in New Issue
Block a user