diff options
| author | 2020-12-13 19:00:05 +0000 | |
|---|---|---|
| committer | 2020-12-13 19:00:05 +0000 | |
| commit | 7c29f883996105bf7defa252a9b4428fd7e7c161 (patch) | |
| tree | 7e99558e1aa4ff35628b8acc365f1cda7f192594 /backend/models | |
| parent | Merge pull request #18 from python-discord/ks123/form-name-description (diff) | |
| parent | Make 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.py | 7 | 
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 | 
