MCPcopy Create free account
hub / github.com/Dispatcharr/Dispatcharr / put

Method put

apps/plugins/api_views.py:956–970  ·  view source on GitHub ↗
(self, request, pk)

Source from the content-addressed store, hash-verified

954 responses={200: PluginRepoSerializer, 404: inline_serializer(name="RepoNotFound", fields={"error": serializers.CharField()})},
955 )
956 def put(self, request, pk):
957 try:
958 repo = PluginRepo.objects.get(pk=pk)
959 except PluginRepo.DoesNotExist:
960 return Response(
961 {"error": "Repo not found"}, status=status.HTTP_404_NOT_FOUND
962 )
963 # Only public_key and enabled are mutable after creation.
964 # url, is_official, name, etc. must not be changed via the API.
965 ALLOWED_FIELDS = {"public_key", "enabled"}
966 update_data = {k: v for k, v in request.data.items() if k in ALLOWED_FIELDS}
967 serializer = PluginRepoSerializer(repo, data=update_data, partial=True)
968 serializer.is_valid(raise_exception=True)
969 serializer.save()
970 return Response(PluginRepoSerializer(repo).data)
971
972 @extend_schema(
973 description="Remove a plugin repository.",

Calls 3

getMethod · 0.45
saveMethod · 0.45