Advance don't merge
This commit is contained in:
@ -1,3 +1,29 @@
|
||||
from django.shortcuts import render
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
from rest_framework import authentication, permissions
|
||||
from rest_framework.authentication import SessionAuthentication
|
||||
from .models import ChannelModel, MemberModel, MessageModel
|
||||
|
||||
# Create your views here.
|
||||
class ChatView(APIView):
|
||||
permission_classes = (permissions.IsAuthenticated,)
|
||||
authentication_classes = (SessionAuthentication,)
|
||||
|
||||
def post(self, request, pk):
|
||||
if (ChannelModel.objects.filter(pk = pk)):
|
||||
return Response("Channel already exist")
|
||||
|
||||
data: dict = request.data
|
||||
users_id = request.data.get("users_id", [])
|
||||
if len(users_id) < 2:
|
||||
return Response("Not enought members to create the channel")
|
||||
|
||||
new_channel = ChannelModel()
|
||||
new_channel.save()
|
||||
|
||||
for user_id in users_id:
|
||||
new_member = MemberModel()
|
||||
new_member.channel_id = new_channel.pk
|
||||
new_member.member_id = user_id
|
||||
new_member.save()
|
||||
|
||||
return Response("Channel created")
|
||||
|
Reference in New Issue
Block a user