@@ -132,3 +132,35 @@ def delete(self, request, id):
132132 except Channel .DoesNotExist :
133133 return Response (status = status .HTTP_404_NOT_FOUND )
134134 return Response (json .dumps (channel ), content_type = 'application/json' , status = status .HTTP_201_CREATED )
135+
136+
137+ class UpdateMessageView (generics .UpdateAPIView ):
138+ queryset = Message .objects .all ()
139+ permission_classes = [IsAuthenticated ]
140+ serializer_class = MessageSerializer
141+ lookup_field = 'id'
142+
143+ def update (self , request , * args , ** kwargs ):
144+ instance = self .get_object ()
145+
146+ newMessage = json .loads (request .data .get ('message' ))
147+ newMessage ['edited' ] = True
148+
149+ serializer = self .get_serializer (instance , data = newMessage , partial = True )
150+ if serializer .is_valid ():
151+ serializer .save ()
152+ return Response (serializer .data , status = status .HTTP_201_CREATED )
153+ else :
154+ return Response (serializer .errors , status = status .HTTP_400_BAD_REQUEST )
155+
156+
157+ class DeleteMessageView (views .APIView ):
158+ permission_classes = [IsAuthenticated ]
159+
160+ def delete (self , request , id ):
161+ user : ManthanoUser = request .user
162+ try :
163+ message = Message .objects .get (id = id ).delete ()
164+ except Channel .DoesNotExist :
165+ return Response (status = status .HTTP_404_NOT_FOUND )
166+ return Response (json .dumps (message ), content_type = 'application/json' , status = status .HTTP_201_CREATED )
0 commit comments