Gofven / flowback

Flowback 1st Iteration
GNU General Public License v3.0
2 stars 3 forks source link

Error 500 comment create #49

Closed Kattenelvis closed 1 month ago

Kattenelvis commented 2 months ago

TypeError at /group/thread/2/comment/create

group_thread_comment_create() got an unexpected keyword argument 'author_id'

Traceback Switch to copy-and-paste view

/home/emil/flowback_backend/venv/lib/python3.11/site-packages/django/core/handlers/exception.py, line 42, in inner

        can rely on getting a response instead of an exception.

        """

        if iscoroutinefunction(get_response):

            @wraps(get_response)

            async def inner(request):

                try:

                    response = await get_response(request)
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^

     …

                except Exception as exc:

                    response = await sync_to_async(

                        response_for_exception, thread_sensitive=False

                    )(request, exc)

                return response

Local vars
/home/emil/flowback_backend/venv/lib/python3.11/site-packages/django/core/handlers/base.py, line 253, in _get_response_async

                wrapped_callback = self.make_view_atomic(callback)

                # If it is a synchronous view, run it in a subthread

                if not iscoroutinefunction(wrapped_callback):

                    wrapped_callback = sync_to_async(

                        wrapped_callback, thread_sensitive=True

                    )

                try:

                    response = await wrapped_callback(

     …

                        request, *callback_args, **callback_kwargs

                    )

                except Exception as e:

                    response = await sync_to_async(

                        self.process_exception_by_middleware,

                        thread_sensitive=True,

Local vars
/usr/lib/python3.11/concurrent/futures/thread.py, line 58, in run

            self.kwargs = kwargs

        def run(self):

            if not self.future.set_running_or_notify_cancel():

                return

            try:

                result = self.fn(*self.args, **self.kwargs)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

     …

            except BaseException as exc:

                self.future.set_exception(exc)

                # Break a reference cycle with the exception 'exc'

                self = None

            else:

                self.future.set_result(result)

Local vars
/home/emil/flowback_backend/venv/lib/python3.11/site-packages/django/views/decorators/csrf.py, line 56, in wrapper_view

    def csrf_exempt(view_func):

        """Mark a view function as being exempt from the CSRF view protection."""

        # view_func.csrf_exempt = True would also work, but decorators are nicer

        # if they don't have side effects, so return a new function.

        @wraps(view_func)

        def wrapper_view(*args, **kwargs):

            return view_func(*args, **kwargs)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^

     …

        wrapper_view.csrf_exempt = True

        return wrapper_view

Local vars
/home/emil/flowback_backend/venv/lib/python3.11/site-packages/django/views/generic/base.py, line 104, in view

                self = cls(**initkwargs)

                self.setup(request, *args, **kwargs)

                if not hasattr(self, "request"):

                    raise AttributeError(

                        "%s instance has no 'request' attribute. Did you override "

                        "setup() and forget to call super()?" % cls.__name__

                    )

                return self.dispatch(request, *args, **kwargs)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

     …

            view.view_class = cls

            view.view_initkwargs = initkwargs

            # __name__ and __qualname__ are intentionally left unchanged as

            # view_class should be used to robustly determine the name of the view

Local vars
/home/emil/flowback_backend/venv/lib/python3.11/site-packages/rest_framework/views.py, line 509, in dispatch

                                      self.http_method_not_allowed)

                else:

                    handler = self.http_method_not_allowed

                response = handler(request, *args, **kwargs)

            except Exception as exc:

                response = self.handle_exception(exc)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^

     …

            self.response = self.finalize_response(request, response, *args, **kwargs)

            return self.response

        def options(self, request, *args, **kwargs):

            """

Local vars
/home/emil/flowback_backend/venv/lib/python3.11/site-packages/rest_framework/views.py, line 469, in handle_exception

            exception_handler = self.get_exception_handler()

            context = self.get_exception_handler_context()

            response = exception_handler(exc, context)

            if response is None:

                self.raise_uncaught_exception(exc)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

     …

            response.exception = True

            return response

        def raise_uncaught_exception(self, exc):

            if settings.DEBUG:

Local vars
/home/emil/flowback_backend/venv/lib/python3.11/site-packages/rest_framework/views.py, line 480, in raise_uncaught_exception

        def raise_uncaught_exception(self, exc):

            if settings.DEBUG:

                request = self.request

                renderer_format = getattr(request.accepted_renderer, 'format')

                use_plaintext_traceback = renderer_format not in ('html', 'api', 'admin')

                request.force_plaintext_errors(use_plaintext_traceback)

            raise exc
                 ^^^^^^^^^

     …

        # Note: Views are made CSRF exempt from within `as_view` as to prevent

        # accidental removal of this exemption in cases where `dispatch` needs to

        # be overridden.

        def dispatch(self, request, *args, **kwargs):

            """

Local vars
/home/emil/flowback_backend/venv/lib/python3.11/site-packages/rest_framework/views.py, line 506, in dispatch

                # Get the appropriate handler method

                if request.method.lower() in self.http_method_names:

                    handler = getattr(self, request.method.lower(),

                                      self.http_method_not_allowed)

                else:

                    handler = self.http_method_not_allowed

                response = handler(request, *args, **kwargs)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

     …

            except Exception as exc:

                response = self.handle_exception(exc)

            self.response = self.finalize_response(request, response, *args, **kwargs)

            return self.response

Local vars
/home/emil/flowback_backend/flowback/comment/views.py, line 75, in post

            parent_id = serializers.IntegerField(required=False)

            message = serializers.CharField()

            attachments = serializers.ListField(child=serializers.FileField(), required=False, max_length=10)

        def post(self, request, *args, **kwargs):

            serializer = self.InputSerializer(data=request.data)

            serializer.is_valid(raise_exception=True)

            comment = self.lazy_action.__func__(*args,
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

     …

                                                author_id=request.user.id,

                                                **kwargs,

                                                **serializer.validated_data)

            return Response(status=status.HTTP_200_OK, data=comment.id)

Local vars