diff options
| author | 2020-12-22 04:25:25 +0300 | |
|---|---|---|
| committer | 2020-12-22 04:57:10 +0300 | |
| commit | 1c0684faa1f1a8d36fe57294fcb6e180c622c259 (patch) | |
| tree | 380167bdd4602c58445d36dea8739a3e255e2489 /backend | |
| parent | Merge pull request #42 from python-discord/big-int-fix (diff) | |
Dedents Webhook Object
Removes the meta object, and moves the webhook object under the main
form object to reduce nesting.
Signed-off-by: Hassan Abouelela <[email protected]>
Diffstat (limited to '')
| -rw-r--r-- | backend/constants.py | 4 | ||||
| -rw-r--r-- | backend/models/form.py | 10 | ||||
| -rw-r--r-- | backend/routes/forms/index.py | 5 | ||||
| -rw-r--r-- | backend/routes/forms/submit.py | 6 | 
4 files changed, 7 insertions, 18 deletions
| diff --git a/backend/constants.py b/backend/constants.py index bfcf261..bf0c33c 100644 --- a/backend/constants.py +++ b/backend/constants.py @@ -67,7 +67,3 @@ class FormFeatures(Enum):  class WebHook(Enum):      URL = "url"      MESSAGE = "message" - - -class Meta(Enum): -    WEB_HOOK = WebHook diff --git a/backend/models/form.py b/backend/models/form.py index d5e2ff5..57372ea 100644 --- a/backend/models/form.py +++ b/backend/models/form.py @@ -4,7 +4,7 @@ import httpx  from pydantic import BaseModel, Field, validator  from pydantic.error_wrappers import ErrorWrapper, ValidationError -from backend.constants import FormFeatures, Meta, WebHook +from backend.constants import FormFeatures, WebHook  from .question import Question  PUBLIC_FIELDS = ["id", "features", "questions", "name", "description"] @@ -24,11 +24,6 @@ class _WebHook(BaseModel):          return url -class _FormMeta(BaseModel): -    """Schema model for form meta data.""" -    webhook: _WebHook = None - -  class Form(BaseModel):      """Schema model for form.""" @@ -37,7 +32,7 @@ class Form(BaseModel):      questions: list[Question]      name: str      description: str -    meta: _FormMeta = _FormMeta() +    webhook: _WebHook = None      class Config:          allow_population_by_field_name = True @@ -124,7 +119,6 @@ async def validate_hook_url(url: str) -> t.Optional[ValidationError]:          await validate()      except Exception as e:          loc = ( -            Meta.__name__.lower(),              WebHook.__name__.lower(),              WebHook.URL.value          ) diff --git a/backend/routes/forms/index.py b/backend/routes/forms/index.py index 0e1dee8..5fd90ab 100644 --- a/backend/routes/forms/index.py +++ b/backend/routes/forms/index.py @@ -6,7 +6,7 @@ from starlette.authentication import requires  from starlette.requests import Request  from starlette.responses import JSONResponse -from backend.constants import Meta, WebHook +from backend.constants import WebHook  from backend.models import Form, FormList  from backend.models.form import validate_hook_url  from backend.route import Route @@ -51,8 +51,7 @@ class FormsList(Route):          # Verify Webhook          try:              # Get url from request -            path = (Meta.__name__.lower(), WebHook.__name__.lower(), WebHook.URL.value) -            url = form_data[path[0]][path[1]][path[2]] +            url = form_data[WebHook.__name__.lower()][WebHook.URL.value]              # Validate URL              validation = await validate_hook_url(url) diff --git a/backend/routes/forms/submit.py b/backend/routes/forms/submit.py index 82caa81..8588a2d 100644 --- a/backend/routes/forms/submit.py +++ b/backend/routes/forms/submit.py @@ -155,7 +155,7 @@ class SubmitForm(Route):      ) -> None:          """Helper to send a submission message to a discord webhook."""          # Stop if webhook is not available -        if form.meta.webhook is None: +        if form.webhook is None:              raise ValueError("Got empty webhook.")          try: @@ -190,7 +190,7 @@ class SubmitForm(Route):          }          # Set hook message -        message = form.meta.webhook.message +        message = form.webhook.message          if message:              # Available variables, see SCHEMA.md              ctx = { @@ -208,5 +208,5 @@ class SubmitForm(Route):          # Post hook          async with httpx.AsyncClient() as client: -            r = await client.post(form.meta.webhook.url, json=hook) +            r = await client.post(form.webhook.url, json=hook)              r.raise_for_status() | 
