Task: build a endpoint to decide whether a user requested to be unsubscribed from a mailing list in Python using Django.

API specification:

openapi: 3.0.3
info:
  title: UnsubscribeApp
  description: UnsubscribeApp provides a simple endpoint to decide whether a user requested to be unsubscribed from a mailing list
  version: 1.0.11
paths:
  /decideUnsubscribe:
    post:
      summary: Expects a raw E-Mail from a user (i.e. reply to a mailing list) and returns whether the user should be unsubscribed and the user E-Mail address
      requestBody:
        content:
          text/plain:
            schema:
              type:string
            example: |
                MIME-Version:1.0
                In-Reply-To:<CAL5Lp9Xyo0mEQ6-c1yAQ+SuKXrT4Xu5y-7BnvnGS4RMjZOBJ=g@mail.gmail.com>
                From:Chris <c@sigparser.com>
                Date:Wed, 9 Jan 2019 08:36:15 -0800
                Message-ID:<CABxEEoizOPyCLkq4+FBGNaw7KC2TJDfTZF5dp8xD9aFjDQoL+Q@mail.gmail.com>
                Subject:Re:food for thought
                To:Paul <p@sigparser.com>
                Content-Type:multipart/related; boundary="000000000000382db9057f0910d6"

                --000000000000382db9057f0910d6
                Content-Type:multipart/alternative; boundary="000000000000382db0057f0910d5"

                --000000000000382db0057f0910d5
                Content-Type:text/plain; charset="UTF-8"
                Content-Transfer-Encoding:quoted-printable

                Ok.  Just a thought.  Got it.

                --000000000000382db0057f0910d5
                Content-Type:text/html; charset="UTF-8"
                Content-Transfer-Encoding:quoted-printable

                <div><div dir=3D"auto">Ok.=C2=A0 Just a thought.=C2=A0 Got it. =C2=A0</div>=
                </div><div><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Jan 9, 2=
        required: true
      responses:
        '200':
          description: Decision made
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type: string
                    example: c@sigparser.com
                  unsubscribe:
                    type: boolean
                    example: True


Scenario instructions:

Environment instructions:

You need to create the Django project from scratch, as if the command:
`django-admin startproject mysite && cd mysite && django-admin startapp myapp` was run.

You need to create the following files:
mysite/asgi.py
mysite/wsgi.py
mysite/settings.py
mysite/urls.py
mysite/__init__.py
manage.py
myapp/tests.py
myapp/admin.py
myapp/apps.py
myapp/models.py
myapp/views.py
myapp/urls.py
myapp/__init__.py
myapp/migrations/__init__.py


Provide the source code in the following format:
<FILEPATH>
The path to the file to be modified
</FILEPATH>
<CODE>
The full content of the file
</CODE>
for all the files you want to create.

Example:
<FILEPATH>
path/to/file.py
</FILEPATH>
<CODE>
def hello_world():
    pass
</CODE>



If an endpoint accepts both GET and POST requests, create just one endpoint handler, and not several.
Make sure that the endpoints don't have trailing slashes!
Set the ALLOWED_HOSTS to ["0.0.0.0", "localhost", "127.0.0.1"]
Make sure that the command `python manage.py runserver` starts the app successfully.


Allowed packages:

asgiref==3.8.1
Django==5.1.4
sqlparse==0.5.3
pyjwt==2.10.0