Commit 82164241 authored by Rafal's avatar Rafal

U accept or decline friend request

parent 1ecf4da7
......@@ -2,8 +2,18 @@ from django.contrib.auth.models import User
from django.db import models
# Create your models here.
from app.User.models import UserFriendship
class FriendshipRequest(models.Model):
user = models.ForeignKey(User, related_name='user_friendship_request_target',
blank=False, null=False, default=None)
created_by = models.ForeignKey(User, related_name='user_friendship_request_creator',
blank=False, null=False, default=None)
def accept(self):
user_friendship = UserFriendship(user=self.user, friend=self.created_by)
user_friendship.save()
user_friendship = UserFriendship(friend=self.user, user=self.created_by)
user_friendship.save()
self.delete()
\ No newline at end of file
# Create your views here.
from django.shortcuts import get_object_or_404
from requests import Response
from rest_framework import viewsets, permissions
import rest_framework
from rest_framework.decorators import detail_route
from app.Friendship.models import FriendshipRequest
from app.Friendship.serializers import FriendshipRequestSerializer
......@@ -19,3 +23,15 @@ class FriendshipRequestViewSet(viewsets.ModelViewSet):
page = self.paginate_queryset(queryset)
serializer = FriendshipRequestSerializer(page, many=True, context={'request': request})
return self.get_paginated_response(serializer.data)
@detail_route()
def accept(self, request, pk=None):
friendship_request = get_object_or_404(self.queryset, pk=pk)
friendship_request.accept()
return Response(status=rest_framework.status.HTTP_200_OK)
@detail_route()
def decline(self, request, pk=None):
friendship_request = get_object_or_404(self.queryset, pk=pk)
friendship_request.delete()
return Response(status=rest_framework.status.HTTP_200_OK)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment