| from django.shortcuts import get_object_or_404 | |
| from integrations.models import WebhookSubscription | |
| from integrations.serializers import WebhookSubscriptionSerializer | |
| from rest_framework.decorators import api_view, permission_classes | |
| from rest_framework.permissions import IsAuthenticated | |
| from rest_framework.response import Response | |
| def webhook_list(request): | |
| if request.method == "GET": | |
| subs = WebhookSubscription.objects.filter(user=request.user) | |
| return Response(WebhookSubscriptionSerializer(subs, many=True).data) | |
| elif request.method == "POST": | |
| serializer = WebhookSubscriptionSerializer(data=request.data) | |
| if serializer.is_valid(): | |
| sub = serializer.save(user=request.user) | |
| return Response(serializer.data, status=201) | |
| return Response(serializer.errors, status=400) | |
| def webhook_delete(request, sub_id): | |
| sub = get_object_or_404(WebhookSubscription, id=sub_id, user=request.user) | |
| sub.delete() | |
| return Response(status=204) | |
| def webhook_test(request, sub_id): | |
| """Send a test event to the webhook URL.""" | |
| sub = get_object_or_404(WebhookSubscription, id=sub_id, user=request.user) | |
| success = dispatch_webhook(sub, "test", {"message": "Test event from NeuralOps"}) | |
| return Response({"success": success}) | |
Xet Storage Details
- Size:
- 1.49 kB
- Xet hash:
- c03400367af5dbe7981083182aa15c67439221149fd4454463f24acd3a52c451
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.