From 1ccd24b69acf3c1eb3a605a6bd72ac1ee04156b5 Mon Sep 17 00:00:00 2001 From: imperosol Date: Tue, 20 May 2025 18:13:44 +0200 Subject: [PATCH] adapt pedagogy api to api key auth --- pedagogy/api.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pedagogy/api.py b/pedagogy/api.py index 9ad0c3f6..b1944ce4 100644 --- a/pedagogy/api.py +++ b/pedagogy/api.py @@ -3,10 +3,12 @@ from typing import Annotated from annotated_types import Ge from ninja import Query +from ninja.security import SessionAuth from ninja_extra import ControllerBase, api_controller, paginate, route from ninja_extra.exceptions import NotFound from ninja_extra.pagination import PageNumberPaginationExtra, PaginatedResponseSchema +from apikey.auth import ApiKeyAuth from core.auth.api_permissions import HasPerm from pedagogy.models import UV from pedagogy.schemas import SimpleUvSchema, UvFilterSchema, UvSchema @@ -17,6 +19,7 @@ from pedagogy.utbm_api import UtbmApiClient class UvController(ControllerBase): @route.get( "/{code}", + auth=[SessionAuth(), ApiKeyAuth()], permissions=[ # this route will almost always be called in the context # of a UV creation/edition @@ -42,6 +45,7 @@ class UvController(ControllerBase): "", response=PaginatedResponseSchema[SimpleUvSchema], url_name="fetch_uvs", + auth=[SessionAuth(), ApiKeyAuth()], permissions=[HasPerm("pedagogy.view_uv")], ) @paginate(PageNumberPaginationExtra, page_size=100)