Skip to content

Commit 67cd9ef

Browse files
authored
Merge pull request #505 from Police-Data-Accessibility-Project/mc_504_forbid_extra_params_in_requests
Have Request Models forbid extra parameters
2 parents c9e8150 + 4fd01c2 commit 67cd9ef

File tree

20 files changed

+24
-160
lines changed

20 files changed

+24
-160
lines changed

src/api/endpoints/agencies/by_id/delete/request.py

Whitespace-only changes.
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
from pydantic import BaseModel
2-
1+
from src.api.shared.models.request_base import RequestBase
32
from src.db.models.impl.agency.enums import AgencyType, JurisdictionType
43

54

6-
class AgencyPutRequest(BaseModel):
5+
class AgencyPutRequest(RequestBase):
76
name: str | None = None
87
type: AgencyType | None = None
98
jurisdiction_type: JurisdictionType | None = None

src/api/endpoints/agencies/root/post/request.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
from pydantic import BaseModel
2-
1+
from src.api.shared.models.request_base import RequestBase
32
from src.db.models.impl.agency.enums import AgencyType, JurisdictionType
43

54

6-
class AgencyPostRequest(BaseModel):
5+
class AgencyPostRequest(RequestBase):
76
name: str
87
type: AgencyType
98
jurisdiction_type: JurisdictionType

src/api/endpoints/annotate/agency/post/dto.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
from pydantic import BaseModel
44

5+
from src.api.shared.models.request_base import RequestBase
56

6-
class URLAgencyAnnotationPostInfo(BaseModel):
7+
8+
class URLAgencyAnnotationPostInfo(RequestBase):
79
is_new: bool = False
810
suggested_agency: int | None = None

src/api/endpoints/annotate/all/post/models/request.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
from pydantic import BaseModel, model_validator, ConfigDict
1+
from pydantic import model_validator
22

33
from src.api.endpoints.annotate.all.post.models.agency import AnnotationPostAgencyInfo
44
from src.api.endpoints.annotate.all.post.models.location import AnnotationPostLocationInfo
55
from src.api.endpoints.annotate.all.post.models.name import AnnotationPostNameInfo
6+
from src.api.shared.models.request_base import RequestBase
67
from src.core.enums import RecordType
78
from src.core.exceptions import FailedValidationException
89
from src.db.models.impl.flag.url_validated.enums import URLType
910

1011

11-
class AllAnnotationPostInfo(BaseModel):
12-
model_config = ConfigDict(extra='forbid')
12+
class AllAnnotationPostInfo(RequestBase):
1313

1414
suggested_status: URLType
1515
record_type: RecordType | None = None

src/api/endpoints/collector/dtos/manual_batch/post.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from pydantic import BaseModel, Field
44

5+
from src.api.shared.models.request_base import RequestBase
56
from src.core.enums import RecordType
67

78

@@ -16,7 +17,7 @@ class ManualBatchInnerInputDTO(BaseModel):
1617
supplying_entity: str | None = None
1718

1819

19-
class ManualBatchInputDTO(BaseModel):
20+
class ManualBatchInputDTO(RequestBase):
2021
name: str
2122
entries: list[ManualBatchInnerInputDTO] = Field(
2223
min_length=1,

src/api/endpoints/submit/data_source/request.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
from datetime import date
22

3-
from pydantic import BaseModel
4-
3+
from src.api.shared.models.request_base import RequestBase
54
from src.core.enums import RecordType
65
from src.db.models.impl.url.optional_ds_metadata.enums import AgencyAggregationEnum, UpdateMethodEnum, \
76
RetentionScheduleEnum, AccessTypeEnum
87

98

10-
class DataSourceSubmissionRequest(BaseModel):
9+
class DataSourceSubmissionRequest(RequestBase):
1110
# Required
1211
name: str
1312
record_type: RecordType

src/api/endpoints/submit/url/models/request.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
from pydantic import BaseModel
22

3+
from src.api.shared.models.request_base import RequestBase
34
from src.core.enums import RecordType
45

56

6-
class URLSubmissionRequest(BaseModel):
7+
class URLSubmissionRequest(RequestBase):
78
url: str
89
record_type: RecordType | None = None
910
name: str | None = None

src/api/endpoints/suggest/__init__.py

Whitespace-only changes.

src/api/endpoints/suggest/routes.py

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)