aboutsummaryrefslogtreecommitdiffstats
path: root/backend/routes/forms/discover.py
diff options
context:
space:
mode:
authorGravatar Hassan Abouelela <[email protected]>2021-06-20 06:37:34 +0300
committerGravatar GitHub <[email protected]>2021-06-20 06:37:34 +0300
commitb3278739ef8f1d9f6079e399ad71cffc04ca1d67 (patch)
tree9aa10981f78104863f09a8aabfdf9b38c758d4fc /backend/routes/forms/discover.py
parentHandles Null Webhooks (diff)
parentAdds An Empty Form For Authorization (diff)
Merge pull request #90 from python-discord/auth-form
Empty Authorization Form
Diffstat (limited to 'backend/routes/forms/discover.py')
-rw-r--r--backend/routes/forms/discover.py33
1 files changed, 29 insertions, 4 deletions
diff --git a/backend/routes/forms/discover.py b/backend/routes/forms/discover.py
index c4711aa..d7351d5 100644
--- a/backend/routes/forms/discover.py
+++ b/backend/routes/forms/discover.py
@@ -5,10 +5,33 @@ from spectree.response import Response
from starlette.requests import Request
from starlette.responses import JSONResponse
-from backend.models import Form, FormList
+from backend import constants
+from backend.models import Form, FormList, Question
from backend.route import Route
from backend.validation import api
+__FEATURES = [
+ constants.FormFeatures.DISCOVERABLE.value,
+ constants.FormFeatures.OPEN.value,
+ constants.FormFeatures.REQUIRES_LOGIN.value
+]
+
+__QUESTION = Question(
+ id="description",
+ name="Check your cookies after pressing the button.",
+ type="section",
+ data={"text": "You can find cookies under \"Application\" in dev tools."},
+ required=False
+)
+
+EMPTY_FORM = Form(
+ id="empty_auth",
+ features=__FEATURES,
+ questions=[__QUESTION],
+ name="Auth form",
+ description="An empty form to help you get a token."
+)
+
class DiscoverableFormsList(Route):
"""
@@ -31,6 +54,8 @@ class DiscoverableFormsList(Route):
forms = [form.dict(admin=False) for form in forms]
- return JSONResponse(
- forms
- )
+ # Return an empty form in development environments to help with authentication.
+ if not forms and not constants.PRODUCTION:
+ forms.append(EMPTY_FORM.dict(admin=False))
+
+ return JSONResponse(forms)