Exemplo n.º 1
0
 def delete(self, request, lib_key_str, link_id):  # pylint: disable=unused-argument
     """
     Delete a link from this library.
     """
     key = LibraryLocatorV2.from_string(lib_key_str)
     api.require_permission_for_library_key(key, request.user, permissions.CAN_EDIT_THIS_CONTENT_LIBRARY)
     api.update_bundle_link(key, link_id, delete=True)
     return Response({})
Exemplo n.º 2
0
    def patch(self, request, lib_key_str, link_id):
        """
        Update the specified link to point to a different version of its
        target bundle.

        Pass e.g. {"version": 40} or pass {"version": None} to update to the
        latest published version.
        """
        key = LibraryLocatorV2.from_string(lib_key_str)
        api.require_permission_for_library_key(key, request.user, permissions.CAN_EDIT_THIS_CONTENT_LIBRARY)
        serializer = LibraryBundleLinkUpdateSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        api.update_bundle_link(key, link_id, version=serializer.validated_data['version'])
        return Response({})