add websock functionality

This commit is contained in:
Alexander Laevens
2022-11-30 02:52:56 -07:00
parent 34edcd53cb
commit 339b0c6ad9
41 changed files with 1028 additions and 189 deletions

View File

@@ -1,6 +1,10 @@
from rest_framework import serializers
from api.models import *
from users.serializers import UserSerializer
from asgiref.sync import async_to_sync
from channels.layers import get_channel_layer
channel_layer = get_channel_layer()
class RecipeIngredientSerializer(serializers.ModelSerializer):
class Meta:
@@ -29,9 +33,13 @@ class ListSerializer(serializers.ModelSerializer):
class Meta:
model = List
fields = ["homegroup", "ingredients"]
fields = ["homegroup", "updates", "ingredients"]
read_only_fields = ["homegroup"]
def update(self, instance, validated_data):
# async_to_sync(channel_layer.group_send)(f"group_{instance.homegroup.id}", {"type": "model_update"})
return super().update(instance, validated_data)
def get_ingredients(self, instance):
ingredients = instance.ingredients.all().order_by("name")
return ListIngredientSerializer(ingredients, many=True).data