Implement basic group listing and re-enabled group creation

This commit is contained in:
Tim Lorsbach
2026-04-14 20:58:12 +02:00
parent 877804c0ff
commit b508511cd6
7 changed files with 64 additions and 13 deletions

View File

@ -0,0 +1,23 @@
from django.conf import settings as s
from ninja import Router
from ninja_extra.pagination import paginate
from epdb.logic import GroupManager
from ..pagination import EnhancedPageNumberPagination
from ..schemas import GroupOutSchema
router = Router()
@router.get("/groups/", response=EnhancedPageNumberPagination.Output[GroupOutSchema])
@paginate(
EnhancedPageNumberPagination,
page_size=s.API_PAGINATION_DEFAULT_PAGE_SIZE,
)
def list_all_groups(request):
"""
List all groups the user has access to.
"""
user = request.user
return GroupManager.get_groups(user)

View File

@ -15,9 +15,9 @@ router = Router()
EnhancedPageNumberPagination,
page_size=s.API_PAGINATION_DEFAULT_PAGE_SIZE,
)
def list_all_pathways(request):
def list_all_settings(request):
"""
List all pathways from reviewed packages.
List all settings the user has access to.
"""
user = request.user
return SettingManager.get_all_settings(user)

View File

@ -1,6 +1,7 @@
from ninja import Router
from ninja.security import SessionAuth
from envipath import settings as s
from .auth import BearerTokenAuth
from .endpoints import (
packages,
@ -13,8 +14,8 @@ from .endpoints import (
structure,
additional_information,
settings,
groups,
)
from envipath import settings as s
# Main router with authentication
router = Router(
@ -35,6 +36,7 @@ router.add_router("", models.router)
router.add_router("", structure.router)
router.add_router("", additional_information.router)
router.add_router("", settings.router)
router.add_router("", groups.router)
if s.IUCLID_EXPORT_ENABLED:
from epiuclid.api import router as iuclid_router

View File

@ -126,3 +126,10 @@ class SettingOutSchema(Schema):
url: str = ""
name: str
description: str
class GroupOutSchema(Schema):
uuid: UUID
url: str = ""
name: str
description: str