From 2438fd6077e22ae412f6685c0434dce45b3fe1af Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Sat, 31 Oct 2020 02:11:27 +0000 Subject: Add discoverable forms URL --- backend/routes/forms/discover.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 backend/routes/forms/discover.py (limited to 'backend') 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 + ) -- cgit v1.2.3