authentik.admin.api.meta
Meta API
1"""Meta API""" 2 3from drf_spectacular.utils import extend_schema 4from rest_framework.fields import CharField 5from rest_framework.permissions import IsAuthenticated 6from rest_framework.request import Request 7from rest_framework.response import Response 8from rest_framework.viewsets import ViewSet 9 10from authentik.core.api.utils import PassiveSerializer 11from authentik.lib.api import Models 12from authentik.lib.utils.reflection import get_apps 13 14 15class AppSerializer(PassiveSerializer): 16 """Serialize Application info""" 17 18 name = CharField() 19 label = CharField() 20 21 22class AppsViewSet(ViewSet): 23 """Read-only view list all installed apps""" 24 25 permission_classes = [IsAuthenticated] 26 27 @extend_schema(responses={200: AppSerializer(many=True)}) 28 def list(self, request: Request) -> Response: 29 """Read-only view list all installed apps""" 30 data = [] 31 for app in sorted(get_apps(), key=lambda app: app.name): 32 data.append({"name": app.name, "label": app.verbose_name}) 33 return Response(AppSerializer(data, many=True).data) 34 35 36class ModelViewSet(ViewSet): 37 """Read-only view list all installed models""" 38 39 permission_classes = [IsAuthenticated] 40 41 @extend_schema(responses={200: AppSerializer(many=True)}) 42 def list(self, request: Request) -> Response: 43 """Read-only view list all installed models""" 44 data = [] 45 for name, label in Models.choices: 46 data.append({"name": name, "label": label}) 47 return Response(AppSerializer(data, many=True).data)
16class AppSerializer(PassiveSerializer): 17 """Serialize Application info""" 18 19 name = CharField() 20 label = CharField()
Serialize Application info
Inherited Members
class
AppsViewSet(rest_framework.viewsets.ViewSet):
23class AppsViewSet(ViewSet): 24 """Read-only view list all installed apps""" 25 26 permission_classes = [IsAuthenticated] 27 28 @extend_schema(responses={200: AppSerializer(many=True)}) 29 def list(self, request: Request) -> Response: 30 """Read-only view list all installed apps""" 31 data = [] 32 for app in sorted(get_apps(), key=lambda app: app.name): 33 data.append({"name": app.name, "label": app.verbose_name}) 34 return Response(AppSerializer(data, many=True).data)
Read-only view list all installed apps
@extend_schema(responses={200: AppSerializer(many=True)})
def
list( self, request: rest_framework.request.Request) -> rest_framework.response.Response:
28 @extend_schema(responses={200: AppSerializer(many=True)}) 29 def list(self, request: Request) -> Response: 30 """Read-only view list all installed apps""" 31 data = [] 32 for app in sorted(get_apps(), key=lambda app: app.name): 33 data.append({"name": app.name, "label": app.verbose_name}) 34 return Response(AppSerializer(data, many=True).data)
Read-only view list all installed apps
class
ModelViewSet(rest_framework.viewsets.ViewSet):
37class ModelViewSet(ViewSet): 38 """Read-only view list all installed models""" 39 40 permission_classes = [IsAuthenticated] 41 42 @extend_schema(responses={200: AppSerializer(many=True)}) 43 def list(self, request: Request) -> Response: 44 """Read-only view list all installed models""" 45 data = [] 46 for name, label in Models.choices: 47 data.append({"name": name, "label": label}) 48 return Response(AppSerializer(data, many=True).data)
Read-only view list all installed models
@extend_schema(responses={200: AppSerializer(many=True)})
def
list( self, request: rest_framework.request.Request) -> rest_framework.response.Response:
42 @extend_schema(responses={200: AppSerializer(many=True)}) 43 def list(self, request: Request) -> Response: 44 """Read-only view list all installed models""" 45 data = [] 46 for name, label in Models.choices: 47 data.append({"name": name, "label": label}) 48 return Response(AppSerializer(data, many=True).data)
Read-only view list all installed models