aboutsummaryrefslogtreecommitdiffstats
path: root/backend/models
diff options
context:
space:
mode:
authorGravatar Joe Banks <[email protected]>2020-12-13 19:00:05 +0000
committerGravatar GitHub <[email protected]>2020-12-13 19:00:05 +0000
commit7c29f883996105bf7defa252a9b4428fd7e7c161 (patch)
tree7e99558e1aa4ff35628b8acc365f1cda7f192594 /backend/models
parentMerge pull request #18 from python-discord/ks123/form-name-description (diff)
parentMake error message more user friendly (diff)
Merge pull request #23 from python-discord/ks123/form-endpoint
Diffstat (limited to 'backend/models')
-rw-r--r--backend/models/form.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/backend/models/form.py b/backend/models/form.py
index 8d7fe9b..400f8ad 100644
--- a/backend/models/form.py
+++ b/backend/models/form.py
@@ -5,6 +5,8 @@ from pydantic import BaseModel, Field, validator
from backend.constants import FormFeatures
from .question import Question
+PUBLIC_FIELDS = ["id", "features", "questions", "name", "description"]
+
class Form(BaseModel):
"""Schema model for form."""
@@ -31,3 +33,8 @@ class Form(BaseModel):
raise ValueError("COLLECT_EMAIL feature require REQUIRES_LOGIN feature.")
return value
+
+ def dict(self, admin: bool = True, **kwargs: t.Dict) -> t.Dict[str, t.Any]:
+ """Wrapper for original function to exclude private data for public access."""
+ data = super().dict(**kwargs)
+ return {field: data[field] for field in PUBLIC_FIELDS} if admin else data