classy
This commit is contained in:
parent
af65d4b57e
commit
72a29a6b8b
6 changed files with 24 additions and 18 deletions
|
|
@ -1,3 +0,0 @@
|
|||
from django.db import models
|
||||
|
||||
# Create your models here.
|
||||
13
api/views/base.py
Normal file
13
api/views/base.py
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
|
||||
|
||||
class BaseView(APIView):
|
||||
SERIALIZER = None
|
||||
|
||||
def _build_response(self, data):
|
||||
model_serializer = self.SERIALIZER(data)
|
||||
|
||||
response = Response()
|
||||
response.data = model_serializer.data
|
||||
return response
|
||||
|
|
@ -1,12 +1,14 @@
|
|||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
from web.models.event import Event
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from api.serializers.event import EventSerializer
|
||||
from api.views.base import BaseView
|
||||
from web.models.event import Event
|
||||
|
||||
|
||||
class EventView(APIView):
|
||||
def get(self, requets, event_id):
|
||||
class EventView(BaseView):
|
||||
SERIALIZER = EventSerializer
|
||||
|
||||
def get(self, request, event_id):
|
||||
event = get_object_or_404(Event, pk=event_id)
|
||||
return self._build_response(event)
|
||||
|
||||
|
|
@ -26,6 +28,7 @@ class EventView(APIView):
|
|||
email=data.get('email'),
|
||||
phone_number=data.get('phone_number'),
|
||||
)
|
||||
|
||||
event.save()
|
||||
return self._build_response(event)
|
||||
|
||||
|
|
@ -33,6 +36,7 @@ class EventView(APIView):
|
|||
data = request.POST
|
||||
|
||||
event = get_object_or_404(Event, pk=event_id)
|
||||
|
||||
event.name = data.get('name', event.name)
|
||||
event.description = data.get('description', event.description)
|
||||
event.url = data.get('url', event.url)
|
||||
|
|
@ -53,9 +57,4 @@ class EventView(APIView):
|
|||
event = get_object_or_404(Event, pk=event_id)
|
||||
event.active = False
|
||||
event.save()
|
||||
|
||||
def _build_response(self, data):
|
||||
event_serializer = EventSerializer(data)
|
||||
response = Response()
|
||||
response.data = event_serializer.data
|
||||
return response
|
||||
return self._build_response(event)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ from web.models.event_category import EventCategory, EventCategoryAdmin
|
|||
from web.models.event_tag import EventTag, EventTagAdmin
|
||||
from web.models.tag import Tag, TagAdmin
|
||||
|
||||
|
||||
admin.site.register(Category, CategoryAdmin)
|
||||
admin.site.register(Event, EventAdmin)
|
||||
admin.site.register(EventCategory, EventCategoryAdmin)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ from web.models.base import BaseModel
|
|||
from enum import StrEnum
|
||||
|
||||
|
||||
|
||||
class Event(BaseModel):
|
||||
class Status(models.TextChoices):
|
||||
SCHEDULED = 'scheduled', 'Scheduled'
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
||||
Loading…
Reference in a new issue