try restore

This commit is contained in:
2024-01-02 15:23:29 +01:00
47 changed files with 1132 additions and 79 deletions

View File

@ -7,15 +7,17 @@ import time
import json
class ChatConsumer(WebsocketConsumer):
def connect(self):
user = self.scope["user"]
if (user.is_anonymous or not user.is_authenticated):
return
channel_id : int = int(self.scope['url_route']['kwargs']['chat_id'])
self.room_group_name = f'chat{channel_id}'
if ChatMemberModel.objects.filter(member_id=user.pk, channel_id=int(channel_id)).count() != 1:
return
@ -53,7 +55,7 @@ class ChatConsumer(WebsocketConsumer):
channel_id : int = int(self.scope['url_route']['kwargs']['chat_id'])
if ChatMemberModel.objects.filter(member_id=user.pk, channel_id=channel_id).count() != 1:
if ChatMemberModel.objects.filter(member_id = user.pk, channel_id = channel_id).count() != 1:
return
if (self.channel_layer == None):
@ -84,7 +86,6 @@ class ChatConsumer(WebsocketConsumer):
time = message_time
).save()
def chat_message(self, event):
user = self.scope["user"]

View File

@ -3,12 +3,10 @@ from django.db.models import IntegerField
from django.contrib.auth.models import User
from django.contrib import admin
from typing import List
# Create your models here.
class ChatChannelModel(models.Model):
def create(self, users_id: List[int]):
def create(self, users_id: [int]):
self.save()
for user_id in users_id:
ChatMemberModel(channel_id = self.pk, member_id = user_id).save()

View File

@ -3,7 +3,6 @@ from rest_framework import serializers
from profiles.models import ProfileModel
from .models import ChatChannelModel, ChatMessageModel
from typing import List
class ChatChannelSerializer(serializers.ModelSerializer):
@ -14,7 +13,7 @@ class ChatChannelSerializer(serializers.ModelSerializer):
fields = ["members_id", "pk"]
def validate_members_id(self, value):
members_id: List[int] = value
members_id: [int] = value
if len(members_id) < 2:
raise serializers.ValidationError('Not enought members to create the channel')
if len(set(members_id)) != len(members_id):

View File

@ -5,5 +5,5 @@ from django.conf.urls.static import static
from . import views
urlpatterns = [
path("", views.ChannelView.as_view(), name="chats_page"),
path("", views.ChannelView.as_view(), name="chats_page"),
]