mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-05-24 01:12:54 -04:00
ugggghghhhhh
This commit is contained in:
parent
be372dbc51
commit
206f92cdda
@ -2,7 +2,7 @@ from abc import ABC, abstractmethod
|
||||
from pathlib import Path
|
||||
|
||||
from pydantic import BaseModel, PostgresDsn
|
||||
from pydantic_settings import BaseSettings
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
|
||||
class AbstractDBProvider(ABC):
|
||||
@ -35,6 +35,8 @@ class SQLiteProvider(AbstractDBProvider, BaseModel):
|
||||
|
||||
|
||||
class PostgresProvider(AbstractDBProvider, BaseSettings):
|
||||
model_config = SettingsConfigDict(strict=False, arbitrary_types_allowed=True, extra="ignore")
|
||||
|
||||
POSTGRES_USER: str = "mealie"
|
||||
POSTGRES_PASSWORD: str = "mealie"
|
||||
POSTGRES_SERVER: str = "postgres"
|
||||
@ -46,7 +48,7 @@ class PostgresProvider(AbstractDBProvider, BaseSettings):
|
||||
host = f"{self.POSTGRES_SERVER}:{self.POSTGRES_PORT}"
|
||||
return PostgresDsn.build(
|
||||
scheme="postgresql",
|
||||
user=self.POSTGRES_USER,
|
||||
username=self.POSTGRES_USER,
|
||||
password=self.POSTGRES_PASSWORD,
|
||||
host=host,
|
||||
path=f"/{self.POSTGRES_DB or ''}",
|
||||
|
@ -87,7 +87,7 @@ class AppSettings(BaseSettings):
|
||||
# Email Configuration
|
||||
|
||||
SMTP_HOST: str | None
|
||||
SMTP_PORT: str | None = "587"
|
||||
SMTP_PORT: str = "587"
|
||||
SMTP_FROM_NAME: str | None = "Mealie"
|
||||
SMTP_FROM_EMAIL: str | None
|
||||
SMTP_USER: str | None
|
||||
@ -159,7 +159,7 @@ class AppSettings(BaseSettings):
|
||||
# Testing Config
|
||||
|
||||
TESTING: bool = False
|
||||
model_config = SettingsConfigDict(arbitrary_types_allowed=True)
|
||||
model_config = SettingsConfigDict(strict=False, arbitrary_types_allowed=True, extra="ignore")
|
||||
|
||||
|
||||
def app_settings_constructor(data_dir: Path, production: bool, env_file: Path, env_encoding="utf-8") -> AppSettings:
|
||||
|
@ -2,6 +2,7 @@ from collections.abc import Generator
|
||||
from contextlib import contextmanager
|
||||
|
||||
import sqlalchemy as sa
|
||||
from pydantic_core import MultiHostUrl
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from sqlalchemy.orm.session import Session
|
||||
|
||||
@ -10,12 +11,17 @@ from mealie.core.config import get_app_settings
|
||||
settings = get_app_settings()
|
||||
|
||||
|
||||
def sql_global_init(db_url: str):
|
||||
def sql_global_init(db_url: MultiHostUrl | str):
|
||||
connect_args = {}
|
||||
if "sqlite" in db_url:
|
||||
|
||||
con_url = ""
|
||||
if type(db_url) is MultiHostUrl:
|
||||
con_url = db_url.unicode_string()
|
||||
else: # Sqlite
|
||||
con_url = db_url
|
||||
connect_args["check_same_thread"] = False
|
||||
|
||||
engine = sa.create_engine(db_url, echo=False, connect_args=connect_args, pool_pre_ping=True, future=True)
|
||||
engine = sa.create_engine(con_url, echo=False, connect_args=connect_args, pool_pre_ping=True, future=True)
|
||||
|
||||
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine, future=True)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
from functools import wraps
|
||||
from uuid import UUID
|
||||
|
||||
from pydantic import BaseModel, Field, NoneStr
|
||||
from pydantic import BaseModel, Field
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.orm import MANYTOMANY, MANYTOONE, ONETOMANY, Session
|
||||
from sqlalchemy.orm.mapper import Mapper
|
||||
@ -21,7 +21,7 @@ class AutoInitConfig(BaseModel):
|
||||
Config class for `auto_init` decorator.
|
||||
"""
|
||||
|
||||
get_attr: NoneStr = None
|
||||
get_attr: str | None = None
|
||||
exclude: set = Field(default_factory=_default_exclusion)
|
||||
# auto_create: bool = False
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
from pydantic import UUID4, ConfigDict, NoneStr
|
||||
from pydantic import UUID4, ConfigDict
|
||||
from sqlalchemy.orm import joinedload
|
||||
from sqlalchemy.orm.interfaces import LoaderOption
|
||||
|
||||
@ -74,7 +74,7 @@ class GroupEventNotifierSave(GroupEventNotifierCreate):
|
||||
|
||||
class GroupEventNotifierUpdate(GroupEventNotifierSave):
|
||||
id: UUID4
|
||||
apprise_url: NoneStr = None
|
||||
apprise_url: str | None = None
|
||||
|
||||
|
||||
class GroupEventNotifierOut(MealieModel):
|
||||
|
@ -1,6 +1,6 @@
|
||||
from uuid import UUID
|
||||
|
||||
from pydantic import ConfigDict, NoneStr
|
||||
from pydantic import ConfigDict
|
||||
|
||||
from mealie.schema._mealie import MealieModel
|
||||
|
||||
@ -29,4 +29,4 @@ class EmailInvitation(MealieModel):
|
||||
|
||||
class EmailInitationResponse(MealieModel):
|
||||
success: bool
|
||||
error: NoneStr = None
|
||||
error: str | None = None
|
||||
|
@ -1,15 +1,14 @@
|
||||
from typing import Annotated
|
||||
|
||||
from pydantic import StringConstraints, validator
|
||||
from pydantic.types import NoneStr
|
||||
|
||||
from mealie.schema._mealie import MealieModel
|
||||
from mealie.schema._mealie.validators import validate_locale
|
||||
|
||||
|
||||
class CreateUserRegistration(MealieModel):
|
||||
group: NoneStr = None
|
||||
group_token: NoneStr = None
|
||||
group: str | None = None
|
||||
group_token: str | None = None
|
||||
email: Annotated[str, StringConstraints(to_lower=True, strip_whitespace=True)] # type: ignore
|
||||
username: Annotated[str, StringConstraints(to_lower=True, strip_whitespace=True)] # type: ignore
|
||||
password: str
|
||||
|
Loading…
x
Reference in New Issue
Block a user