mirror of
https://github.com/Rushilwiz/openly.git
synced 2025-04-07 05:40:19 -04:00
46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
from django.shortcuts import render, get_object_or_404
|
|
|
|
from rest_framework import status, permissions
|
|
from rest_framework.views import APIView
|
|
from rest_framework.viewsets import ModelViewSet
|
|
from rest_framework.generics import CreateAPIView
|
|
from rest_framework.response import Response
|
|
|
|
from .models import *
|
|
from .serializers import *
|
|
|
|
# Create your views here.
|
|
|
|
class UserProfileDetail(APIView):
|
|
def get(self, request, format=None):
|
|
profile = request.user.profile
|
|
serializer = ProfileSerializer(profile)
|
|
return Response(serializer.data, status=status.HTTP_200_OK)
|
|
|
|
class UserProfileCreate(CreateAPIView):
|
|
model = User
|
|
permission_classes = [permissions.AllowAny]
|
|
serializer_class = UserCreateSerializer
|
|
|
|
class EventViewSet(ModelViewSet):
|
|
queryset = Event.objects.all()
|
|
serializer_class = EventSerializer
|
|
|
|
class PostDetail(APIView):
|
|
def get(self, request, format=None):
|
|
profile = request.user.profile
|
|
serializer = ProfileSerializer(profile)
|
|
return Response(serializer.data, status=status.HTTP_200_OK)
|
|
|
|
class UserProfileCreate(CreateAPIView):
|
|
model = User
|
|
permission_classes = [permissions.AllowAny]
|
|
serializer_class = UserCreateSerializer
|
|
|
|
class PostUpvote(APIView):
|
|
def post(self, request, format=None):
|
|
obj = get_object_or_404(Post, pk=self.kwargs['id'])
|
|
user = request.user
|
|
if user not in obj.votes.all():
|
|
obj.votes.add(user)
|
|
return Response(status=status.HTTP_200_OK) |