diff options
author | 2020-10-31 02:11:27 +0000 | |
---|---|---|
committer | 2020-10-31 02:11:27 +0000 | |
commit | 2438fd6077e22ae412f6685c0434dce45b3fe1af (patch) | |
tree | d5264cd97e2a836407c20689f9686bae57cae88c /backend/routes/forms/discover.py | |
parent | Add some basic routes (diff) |
Add discoverable forms URL
Diffstat (limited to 'backend/routes/forms/discover.py')
-rw-r--r-- | backend/routes/forms/discover.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/backend/routes/forms/discover.py b/backend/routes/forms/discover.py new file mode 100644 index 0000000..d06b607 --- /dev/null +++ b/backend/routes/forms/discover.py @@ -0,0 +1,29 @@ +""" +Return a list of all publicly discoverable forms to unauthenticated users. +""" + +from starlette.responses import JSONResponse + +from backend.route import Route + + +class DiscoverableFormsList(Route): + """ + List all discoverable forms that should be shown on the homepage. + """ + + name = "discoverable_forms_list" + path = "/discoverable" + + async def get(self, request): + forms = [] + + for form in request.state.db.forms.find({ + "discoverable": True + }): + form["_id"] = str(form["_id"]) + forms.append(form) + + return JSONResponse( + forms + ) |