Refactor/define repository layer (#883)

* move data access layer

* rename dal -> repo
This commit is contained in:
Hayden
2021-12-18 20:52:36 -09:00
committed by GitHub
parent ea7c4771ee
commit 74e13682cb
68 changed files with 371 additions and 369 deletions

View File

@@ -6,8 +6,8 @@ from sqlalchemy.orm.session import Session
from mealie.core.dependencies import get_current_user
from mealie.core.security import create_access_token
from mealie.db.database import get_database
from mealie.db.db_setup import generate_session
from mealie.repos.all_repositories import get_repositories
from mealie.routes.routers import UserAPIRouter
from mealie.schema.user import CreateToken, LoingLiveTokenIn, LongLiveTokenInDB, PrivateUser
@@ -33,7 +33,7 @@ async def create_api_token(
user_id=current_user.id,
)
db = get_database(session)
db = get_repositories(session)
new_token_in_db = db.api_tokens.create(token_model)
@@ -48,7 +48,7 @@ async def delete_api_token(
session: Session = Depends(generate_session),
):
"""Delete api_token from the Database"""
db = get_database(session)
db = get_repositories(session)
token: LongLiveTokenInDB = db.api_tokens.get(token_id)
if not token:

View File

@@ -5,8 +5,8 @@ from sqlalchemy.orm.session import Session
from mealie.core import security
from mealie.core.dependencies import get_current_user
from mealie.core.security import hash_password
from mealie.db.database import get_database
from mealie.db.db_setup import generate_session
from mealie.repos.all_repositories import get_repositories
from mealie.routes.routers import AdminAPIRouter, UserAPIRouter
from mealie.routes.users._helpers import assert_user_change_allowed
from mealie.schema.user import PrivateUser, UserBase, UserIn, UserOut
@@ -18,7 +18,7 @@ admin_router = AdminAPIRouter(prefix="")
@admin_router.get("", response_model=list[UserOut])
async def get_all_users(session: Session = Depends(generate_session)):
db = get_database(session)
db = get_repositories(session)
return db.users.get_all()
@@ -35,13 +35,13 @@ async def create_user(
create_user_event, "User Created", f"Created by {current_user.full_name}", session=session
)
db = get_database(session)
db = get_repositories(session)
return db.users.create(new_user.dict())
@admin_router.get("/{id}", response_model=UserOut)
async def get_user(id: UUID4, session: Session = Depends(generate_session)):
db = get_database(session)
db = get_repositories(session)
return db.users.get(id)
@@ -60,7 +60,7 @@ def delete_user(
raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="SUPER_USER")
try:
db = get_database(session)
db = get_repositories(session)
db.users.delete(id)
background_tasks.add_task(create_user_event, "User Deleted", f"User ID: {id}", session=session)
except Exception:
@@ -92,7 +92,7 @@ async def update_user(
# prevent an admin from demoting themself
raise HTTPException(status.HTTP_403_FORBIDDEN)
db = get_database(session)
db = get_repositories(session)
db.users.update(id, new_data.dict())
if current_user.id == id:

View File

@@ -2,8 +2,8 @@ from fastapi import Depends
from sqlalchemy.orm.session import Session
from mealie.core.dependencies import get_current_user
from mealie.db.database import get_database
from mealie.db.db_setup import generate_session
from mealie.repos.all_repositories import get_repositories
from mealie.routes.routers import UserAPIRouter
from mealie.routes.users._helpers import assert_user_change_allowed
from mealie.schema.user import PrivateUser, UserFavorites
@@ -14,7 +14,7 @@ user_router = UserAPIRouter()
@user_router.get("/{id}/favorites", response_model=UserFavorites)
async def get_favorites(id: str, session: Session = Depends(generate_session)):
"""Get user's favorite recipes"""
db = get_database(session)
db = get_repositories(session)
return db.users.get(id, override_schema=UserFavorites)
@@ -27,7 +27,7 @@ def add_favorite(
"""Adds a Recipe to the users favorites"""
current_user.favorite_recipes.append(slug)
db = get_database(session)
db = get_repositories(session)
db.users.update(current_user.id, current_user)
@@ -42,7 +42,7 @@ def remove_favorite(
assert_user_change_allowed(id, current_user)
current_user.favorite_recipes = [x for x in current_user.favorite_recipes if x != slug]
db = get_database(session)
db = get_repositories(session)
db.users.update(current_user.id, current_user)
return

View File

@@ -9,8 +9,8 @@ from sqlalchemy.orm.session import Session
from mealie import utils
from mealie.core.dependencies import get_current_user
from mealie.core.dependencies.dependencies import temporary_dir
from mealie.db.database import get_database
from mealie.db.db_setup import generate_session
from mealie.repos.all_repositories import get_repositories
from mealie.routes.routers import UserAPIRouter
from mealie.routes.users._helpers import assert_user_change_allowed
from mealie.schema.user import PrivateUser
@@ -41,7 +41,7 @@ def update_user_image(
shutil.copyfile(image, dest)
db = get_database(session)
db = get_repositories(session)
db.users.patch(id, {"cache_key": utils.new_cache_key()})

View File

@@ -3,8 +3,8 @@ from sqlalchemy.orm.session import Session
from mealie.core.config import get_app_settings
from mealie.core.security import hash_password
from mealie.db.database import get_database
from mealie.db.db_setup import generate_session
from mealie.repos.all_repositories import get_repositories
from mealie.routes.routers import UserAPIRouter
from mealie.schema.user import ChangePassword
from mealie.schema.user.user_passwords import ForgotPassword, ResetPassword
@@ -20,7 +20,7 @@ settings = get_app_settings()
async def reset_user_password(id: int, session: Session = Depends(generate_session)):
new_password = hash_password(settings.DEFAULT_PASSWORD)
db = get_database(session)
db = get_repositories(session)
db.users.update_password(id, new_password)