示例#1
0
from mealie.core import root_logger
from mealie.core.config import settings
from mealie.core.security import get_password_hash
from mealie.db.database import db
from mealie.db.db_setup import create_session
from mealie.schema.settings import SiteSettings
from mealie.schema.theme import SiteTheme
from mealie.services.events import create_general_event
from sqlalchemy.orm import Session

logger = root_logger.get_logger("init_db")


def init_db(db: Session = None) -> None:
    if not db:
        db = create_session()

    default_group_init(db)
    default_settings_init(db)
    default_theme_init(db)
    default_user_init(db)

    db.close()


def default_theme_init(session: Session):
    default_themes = [
        SiteTheme().dict(),
        {
            "name": "Dark",
            "colors": {
示例#2
0
import datetime

from apscheduler.schedulers.background import BackgroundScheduler
from mealie.core import root_logger
from mealie.db.database import db
from mealie.db.db_setup import create_session
from mealie.db.models.event import Event
from mealie.schema.user import GroupInDB
from mealie.services.backups.exports import auto_backup_job
from mealie.services.scheduler.global_scheduler import scheduler
from mealie.services.scheduler.scheduler_utils import Cron, cron_parser
from mealie.utils.post_webhooks import post_webhooks

logger = root_logger.get_logger()

# TODO Fix Scheduler


@scheduler.scheduled_job(trigger="interval", minutes=1440)
def purge_events_database():
    """
    Ran daily. Purges all events after 100
    """
    logger.info("Purging Events in Database")
    expiration_days = 7
    limit = datetime.datetime.now() - datetime.timedelta(days=expiration_days)
    session = create_session()
    session.query(Event).filter(Event.time_stamp <= limit).delete()
    session.commit()
    session.close()
    logger.info("Events Purges")
示例#3
0
from fastapi import APIRouter, Depends
from mealie.core.root_logger import get_logger
from mealie.routes.deps import get_current_user

router = APIRouter(prefix="/api/units",
                   dependencies=[Depends(get_current_user)])
logger = get_logger()


@router.post("")
async def create_food():
    """ Create food in the Database """
    # Create food
    pass


@router.get("/{id}")
async def get_food():
    """ Get food from the Database """
    # Get food
    pass


@router.put("/{id}")
async def update_food():
    """ Update food in the Database """
    # Update food
    pass


@router.delete("/{id}")