From eaf89ff64ce5c4e39239aec50a973d1c58a40bee Mon Sep 17 00:00:00 2001 From: jdlugosz963 Date: Fri, 26 Nov 2021 18:44:38 +0100 Subject: add groups views --- chat_api/views.py | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'chat_api/views.py') diff --git a/chat_api/views.py b/chat_api/views.py index 91ea44a..f94f3a0 100644 --- a/chat_api/views.py +++ b/chat_api/views.py @@ -1,3 +1,28 @@ -from django.shortcuts import render +from django.db.models.query import QuerySet +from django.http.response import Http404 +from rest_framework.response import Response +from rest_framework.serializers import Serializer +from rest_framework.views import APIView +from rest_framework import permissions +from rest_framework import generics +from knox.auth import TokenAuthentication -# Create your views here. +from django.db.models.query import Q + +from .models import * +from .serializers import * + +class GroupView(generics.ListCreateAPIView): + permission_classes = (permissions.IsAuthenticated, ) + authentication_classes = (TokenAuthentication, ) + serializer_class = GroupSerializer + + def get_queryset(self): + return Group.objects.filter( + Q(owner=self.request.user) | + Q(users__in=(self.request.user, )) + ).distinct() + + def create(self, request, *args, **kwargs): + request.data['owner'] = request.user.pk + return super().create(request, *args, **kwargs) \ No newline at end of file -- cgit v1.2.3