mirror of
https://github.com/mealie-recipes/mealie.git
synced 2026-01-19 23:41:20 -05:00
* fix ts types * feat(code-generation): ♻️ update code-generation formats * new scope * add step button * fix linter error * update code-generation tags * feat(backend): ✨ start multi-tenant support * feat(backend): ✨ group invitation token generation and signup * refactor(backend): ♻️ move group admin actions to admin router * set url base to include `/admin` * feat(frontend): ✨ generate user sign-up links * test(backend): ✅ refactor test-suite to further decouple tests (WIP) * feat(backend): 🐛 assign owner on backup import for recipes * fix(backend): 🐛 assign recipe owner on migration from other service Co-authored-by: hay-kot <hay-kot@pm.me>
75 lines
2.0 KiB
Python
75 lines
2.0 KiB
Python
from fastapi import BackgroundTasks, Depends
|
|
from sqlalchemy.orm.session import Session
|
|
|
|
from mealie.schema.user.user import PrivateUser
|
|
|
|
from .dependencies import generate_session, get_admin_user, get_current_user, is_logged_in
|
|
|
|
|
|
class RequestContext:
|
|
def __init__(
|
|
self,
|
|
background_tasks: BackgroundTasks,
|
|
session: Session = Depends(generate_session),
|
|
user=Depends(get_current_user),
|
|
):
|
|
self.session: Session = session
|
|
self.bg_task: BackgroundTasks = background_tasks
|
|
self.user: bool = user
|
|
|
|
|
|
class PublicDeps:
|
|
"""
|
|
PublicDeps contains the common dependencies for all read operations through the API.
|
|
Note: The user object is used to definer what assets the user has access to.
|
|
|
|
Args:
|
|
background_tasks: BackgroundTasks
|
|
session: Session
|
|
user: bool
|
|
"""
|
|
|
|
def __init__(
|
|
self,
|
|
background_tasks: BackgroundTasks,
|
|
session: Session = Depends(generate_session),
|
|
user=Depends(is_logged_in),
|
|
):
|
|
self.session: Session = session
|
|
self.bg_task: BackgroundTasks = background_tasks
|
|
self.user: bool = user
|
|
|
|
|
|
class UserDeps:
|
|
"""
|
|
UserDeps contains the common dependencies for all read operations through the API.
|
|
Note: The user must be logged in or the route will return a 401 error.
|
|
|
|
Args:
|
|
background_tasks: BackgroundTasks
|
|
session: Session
|
|
user: UserInDB
|
|
"""
|
|
|
|
def __init__(
|
|
self,
|
|
background_tasks: BackgroundTasks,
|
|
session: Session = Depends(generate_session),
|
|
user=Depends(get_current_user),
|
|
):
|
|
self.session: Session = session
|
|
self.bg_task: BackgroundTasks = background_tasks
|
|
self.user: PrivateUser = user
|
|
|
|
|
|
class AdminDeps:
|
|
def __init__(
|
|
self,
|
|
background_tasks: BackgroundTasks,
|
|
session: Session = Depends(generate_session),
|
|
user=Depends(get_admin_user),
|
|
):
|
|
self.session: Session = session
|
|
self.bg_task: BackgroundTasks = background_tasks
|
|
self.user: PrivateUser = user
|