New views for the mobile api for the event images

This commit is contained in:
Vivek P Prakash
2025-12-01 05:12:19 +05:30
parent 264753d22d
commit e6fba68fdd

View File

@@ -131,8 +131,10 @@ class EventDetailAPI(APIView):
) )
events = Event.objects.get(id=event_id) events = Event.objects.get(id=event_id)
thumb_img = EventImages.objects.get(id=event_id, is_primary=True)
data = model_to_dict(events) data = model_to_dict(events)
data["status"] = "success" data["status"] = "success"
data["thumb_img"] = thumb_img.url
return JsonResponse(data) return JsonResponse(data)
@@ -151,12 +153,43 @@ class EventDetailAPI(APIView):
class EventImagesListAPI(APIView): class EventImagesListAPI(APIView):
authentication_classes = [TokenAuthentication] def post(self, request):
permission_classes = [IsAuthenticated] try:
data = json.loads(request.body)
def get(self, request, event_id): token_key = data.get("token")
images = EventImages.objects.filter(event_id=event_id) username = data.get("username")
event_id = data.get("event_id")
image_list = [model_to_dict(i) for i in images] if not token_key or not username:
return JsonResponse(
{"status": "error", "message": "token and username required"}
)
return JsonResponse({"status": True, "images": image_list}, safe=False) try:
token = Token.objects.get(key=token_key)
user = token.user
if user.username != username:
return JsonResponse(
{"status": "error", "message": "token does not match user"}
)
event_images = EventImages.objects.filter(id=event_id)
data = model_to_dict(event_images)
data["status"] = "success"
return JsonResponse(data)
except Token.DoesNotExist:
return JsonResponse({"status": "invalid_token"})
except json.JSONDecodeError:
return JsonResponse(
{"status": "error", "message": "Invalid JSON"}
)
except Exception as e:
return JsonResponse(
{"status": "error", "message": str(e)},
)