"""API voor het plugin-framework: modules opvragen en aan/uit zetten.""" from rest_framework import status from rest_framework.decorators import api_view from rest_framework.response import Response from . import services @api_view(["GET"]) def module_list(request): """Alle modules met metadata en actuele aan/uit-status.""" services.sync_states() return Response(services.describe_all()) @api_view(["POST"]) def module_set_state(request, key: str): """Zet één module aan of uit. Body: {"enabled": true|false}.""" enabled = bool(request.data.get("enabled", False)) try: services.set_enabled(key, enabled) except services.ModuleError as exc: return Response({"detail": str(exc)}, status=status.HTTP_400_BAD_REQUEST) return Response(services.describe_all())