diff --git a/event/serializers.py b/event/serializers.py index 4fd60db..2833ab4 100644 --- a/event/serializers.py +++ b/event/serializers.py @@ -25,6 +25,7 @@ class EventSerializer(serializers.Serializer): created_at = serializers.DateTimeField() updated_at = serializers.DateTimeField() likes = serializers.IntegerField() + highlighted = serializers.BooleanField() def to_representation(self, instance): event_data = { @@ -45,6 +46,7 @@ def to_representation(self, instance): "created_at": instance.created_at, "updated_at": instance.updated_at, "likes": instance.get_likes_count(), + "highlighted": instance.highlighted, } return event_data diff --git a/event/urls.py b/event/urls.py index 2cc955d..3e0b48f 100644 --- a/event/urls.py +++ b/event/urls.py @@ -4,12 +4,12 @@ urlpatterns = [ path("", views.EventList.as_view(), name="event_list"), path( - "client//", + "client//", views.EventListByClient.as_view(), name="event_list_by_client", ), path("mine/", views.EventListMine.as_view(), name="my_events"), path("create/", views.EventCreate.as_view(), name="event_create"), - path("/", views.Event.as_view(), name="event"), + path("/", views.EventDetails.as_view(), name="event_details"), path("/like/", views.EventLike.as_view(), name="event_like"), ] diff --git a/event/views.py b/event/views.py index afd7652..fd68f5a 100644 --- a/event/views.py +++ b/event/views.py @@ -87,12 +87,11 @@ class EventList(generics.ListAPIView): ) def get(self, request, *args, **kwargs): token = request.headers.get("Authorization") - if not token: - return Response( - {"error": "No estas autenticado."}, status=status.HTTP_401_UNAUTHORIZED - ) - token = token.split(" ")[1] - user = Token.objects.get(key=token).user + if token: + token = token.split(" ")[1] + user = Token.objects.get(key=token).user + else: + user = None events = filterEvents(request) if isinstance(events, dict): return Response(events, status=status.HTTP_400_BAD_REQUEST) @@ -103,7 +102,7 @@ class EventListByClient(generics.ListAPIView): serializer_class = EventSerializer @extend_schema( - description="List of events by client id", + description="List of events by the username of the client", responses={ 200: OpenApiResponse(response=EventSerializer(many=True)), 401: OpenApiResponse(response=None, description="No estás logueado"), @@ -125,12 +124,12 @@ def get(self, request, *args, **kwargs): # Get list of events if client has events, otherwise [] try: - oc = OcialClient.objects.filter(pk=kwargs["pk"]) + oc = OcialClient.objects.get(djangoUser__username=kwargs["username"]) except OcialClient.DoesNotExist: return Response( {"error": "No existe el cliente"}, status=status.HTTP_404_NOT_FOUND ) - events = Event.objects.filter(ocialClient=oc[0]) + events = Event.objects.filter(ocialClient=oc) serialized_events = [ EventSerializer(event, context={"user": user}).data for event in events ] @@ -313,7 +312,7 @@ def post(self, request, *args, **kwargs): ) -class Event(generics.GenericAPIView): +class EventDetails(generics.GenericAPIView): @extend_schema( description="Get details of an event by event id", diff --git a/user/urls.py b/user/urls.py index 2590572..75be1a8 100644 --- a/user/urls.py +++ b/user/urls.py @@ -13,13 +13,5 @@ path( "user/google-oauth2/", views.GoogleSocialAuthView.as_view(), name="google_auth" ), - path("rating//", views.RatingCreate.as_view(), name="rating_create"), - path("rating//", views.RatingDelete.as_view(), name="rating_delete"), - path( - "ratings/by-client//", - views.RatingIDClientListView.as_view(), - name="ratings_by_client", - ), - path("rating//", views.RatingUpdate.as_view(), name="rating_update"), path("me/", views.UserGetView.as_view(), name="user_data"), ]