diff --git a/manage_events/api/urls.py b/manage_events/api/urls.py index c60a9df..9cff51d 100644 --- a/manage_events/api/urls.py +++ b/manage_events/api/urls.py @@ -97,4 +97,10 @@ urlpatterns = [ views.EventReviewCreateAPIView.as_view(), name="event-review-create", ), + # Cheking Principal Preference + path( + "check_principal_preference/", + views.CheckPrincipalPreference.as_view(), + name="check_principal_preference", + ), ] diff --git a/manage_events/api/views.py b/manage_events/api/views.py index 991049e..88133ae 100644 --- a/manage_events/api/views.py +++ b/manage_events/api/views.py @@ -683,3 +683,24 @@ class EventReviewCreateAPIView(mixins.CreateModelMixin, generics.GenericAPIView) errors=serializer.errors, status=status.HTTP_400_BAD_REQUEST, ) + + +class CheckPrincipalPreference(APIView): + authentication_classes = [JWTAuthentication] + permission_classes = [IsAuthenticated] + + def get(self, request, *args, **kwargs): + try: + principal = request.user + exists = PrincipalPreference.objects.filter(principal=principal).exists() + return ApiResponse.success( + message=constants.SUCCESS, + data=exists, + status=status.HTTP_200_OK, + ) + except Exception as e: + return ApiResponse.error( + message=constants.FAILURE, + errors=str(e), + status=status.HTTP_400_BAD_REQUEST, + )