Skip to content
This repository has been archived by the owner on Jun 10, 2024. It is now read-only.

Fixes/131/127 api fixes #132

Merged
merged 3 commits into from
Apr 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions event/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 = {
Expand All @@ -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

Expand Down
4 changes: 2 additions & 2 deletions event/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
urlpatterns = [
path("", views.EventList.as_view(), name="event_list"),
path(
"client/<int:pk>/",
"client/<str:username>/",
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("<int:pk>/", views.Event.as_view(), name="event"),
path("<int:pk>/", views.EventDetails.as_view(), name="event_details"),
path("<int:pk>/like/", views.EventLike.as_view(), name="event_like"),
]
19 changes: 9 additions & 10 deletions event/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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"),
Expand All @@ -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
]
Expand Down Expand Up @@ -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",
Expand Down
8 changes: 0 additions & 8 deletions user/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,5 @@
path(
"user/google-oauth2/", views.GoogleSocialAuthView.as_view(), name="google_auth"
),
path("rating/<int:pk>/", views.RatingCreate.as_view(), name="rating_create"),
path("rating/<int:pk>/", views.RatingDelete.as_view(), name="rating_delete"),
path(
"ratings/by-client/<int:pk>/",
views.RatingIDClientListView.as_view(),
name="ratings_by_client",
),
path("rating/<int:pk>/", views.RatingUpdate.as_view(), name="rating_update"),
path("me/", views.UserGetView.as_view(), name="user_data"),
]