feat: Redirect Logged Out Users to Default Group, If It's Public (#2772)

* add default group slug to app info if public

* redirect public user to default group

* added tests

---------

Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
This commit is contained in:
Michael Genson
2024-02-07 10:53:55 -06:00
committed by GitHub
parent e686fa671c
commit f42114e966
5 changed files with 50 additions and 3 deletions

View File

@@ -5,21 +5,30 @@ from mealie.core.config import get_app_settings
from mealie.core.settings.static import APP_VERSION
from mealie.db.db_setup import generate_session
from mealie.db.models.users.users import User
from mealie.repos.all_repositories import get_repositories
from mealie.schema.admin.about import AppInfo, AppStartupInfo, AppTheme
router = APIRouter(prefix="/about")
@router.get("", response_model=AppInfo)
def get_app_info():
def get_app_info(session: Session = Depends(generate_session)):
"""Get general application information"""
settings = get_app_settings()
repos = get_repositories(session)
default_group = repos.groups.get_by_name(settings.DEFAULT_GROUP)
if default_group and default_group.preferences and not default_group.preferences.private_group:
default_group_slug = default_group.slug
else:
default_group_slug = None
return AppInfo(
version=APP_VERSION,
demo_status=settings.IS_DEMO,
production=settings.PRODUCTION,
allow_signup=settings.ALLOW_SIGNUP,
default_group_slug=default_group_slug,
)