aboutsummaryrefslogtreecommitdiffstats
path: root/backend/models
diff options
context:
space:
mode:
authorGravatar decorator-factory <[email protected]>2020-12-15 08:13:37 +0300
committerGravatar decorator-factory <[email protected]>2020-12-15 08:13:37 +0300
commit947a30f7406b7d025cf2e5754b59389af4213718 (patch)
treec6236edb812db32f583ac0acc9099be33d1a0e2b /backend/models
parentAdd ks123 (GH ks129) to CODEOWNERS (diff)
fix various type annotation issues
Diffstat (limited to 'backend/models')
-rw-r--r--backend/models/form.py8
-rw-r--r--backend/models/form_response.py2
-rw-r--r--backend/models/question.py8
3 files changed, 9 insertions, 9 deletions
diff --git a/backend/models/form.py b/backend/models/form.py
index 2cf8486..21cc549 100644
--- a/backend/models/form.py
+++ b/backend/models/form.py
@@ -12,8 +12,8 @@ class Form(BaseModel):
"""Schema model for form."""
id: str = Field(alias="_id")
- features: t.List[str]
- questions: t.List[Question]
+ features: list[str]
+ questions: list[Question]
name: str
description: str
@@ -21,7 +21,7 @@ class Form(BaseModel):
allow_population_by_field_name = True
@validator("features")
- def validate_features(cls, value: t.List[str]) -> t.Optional[t.List[str]]:
+ def validate_features(cls, value: list[str]) -> t.Optional[list[str]]:
"""Validates is all features in allowed list."""
# Uppercase everything to avoid mixed case in DB
value = [v.upper() for v in value]
@@ -34,7 +34,7 @@ class Form(BaseModel):
return value
- def dict(self, admin: bool = True, **kwargs: t.Dict) -> t.Dict[str, t.Any]:
+ def dict(self, admin: bool = True, **kwargs: t.Any) -> dict[str, t.Any]:
"""Wrapper for original function to exclude private data for public access."""
data = super().dict(**kwargs)
diff --git a/backend/models/form_response.py b/backend/models/form_response.py
index bea070f..f3296cd 100644
--- a/backend/models/form_response.py
+++ b/backend/models/form_response.py
@@ -12,7 +12,7 @@ class FormResponse(BaseModel):
id: str = Field(alias="_id")
user: t.Optional[DiscordUser]
antispam: t.Optional[AntiSpam]
- response: t.Dict[str, t.Any]
+ response: dict[str, t.Any]
form_id: str
class Config:
diff --git a/backend/models/question.py b/backend/models/question.py
index 1a012ff..3b98024 100644
--- a/backend/models/question.py
+++ b/backend/models/question.py
@@ -11,7 +11,7 @@ class Question(BaseModel):
id: str = Field(alias="_id")
name: str
type: str
- data: t.Dict[str, t.Any]
+ data: dict[str, t.Any]
class Config:
allow_population_by_field_name = True
@@ -31,14 +31,14 @@ class Question(BaseModel):
@root_validator
def validate_question_data(
cls,
- value: t.Dict[str, t.Any]
- ) -> t.Optional[t.Dict[str, t.Any]]:
+ value: dict[str, t.Any]
+ ) -> t.Optional[dict[str, t.Any]]:
"""Check does required data exists for question type and remove other data."""
# When question type don't need data, don't add anything to keep DB clean.
if value.get("type") not in REQUIRED_QUESTION_TYPE_DATA:
return value
- for key, data_type in REQUIRED_QUESTION_TYPE_DATA[value.get("type")].items():
+ for key, data_type in REQUIRED_QUESTION_TYPE_DATA[value["type"]].items():
if key not in value.get("data", {}):
raise ValueError(f"Required question data key '{key}' not provided.")