diff --git a/apps/api/urls.py b/apps/api/urls.py index 11b8dc2d..8a85ffe6 100644 --- a/apps/api/urls.py +++ b/apps/api/urls.py @@ -24,4 +24,6 @@ path('v1/events//', views.detail_event, name='detail_event'), path('v1/events/all/', views.all_events, name='all_events'), path('v1/events/', views.active_events, name='active_events'), + # Quotes + path('v1/quotes/', views.random_quote, name='random_quote'), ] diff --git a/apps/api/views.py b/apps/api/views.py index 09e45d41..6eddc181 100644 --- a/apps/api/views.py +++ b/apps/api/views.py @@ -11,6 +11,7 @@ from apps.events.models import Event from apps.locations.models import Venue from apps.members.models import Position +from apps.quotes.models import Quote # API decorator @@ -139,6 +140,12 @@ def serializer_staff(position): } +def serialize_quote(quote): + return { + 'text': quote.text, + 'author': quote.author.name + ' ' + quote.author.surname, + } + @api def status(request): return { @@ -242,6 +249,13 @@ def list_sponsors(request, slug): sponsors = event.memberships.all().order_by('category__role__order') return [serializer_sponsor(sponsor) for sponsor in sponsors] +@api +def random_quote(request): + """Return random quote + """ + quote = Quote.get_random_quote() + return serialize_quote(quote) + # TODO @api def list_tags(request, slug):