Skip to content

Commit 812991c

Browse files
committed
Sanitise code input, fix DLS code detection logic
1 parent 01d25ab commit 812991c

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

src/scaup/crud/top_level_containers.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def _check_if_dls_code(code: str | None):
2929
3030
Returns:
3131
True if it is a DLS code, False otherwise"""
32-
return code is None or code[:3] == "DLS"
32+
return code is not None and code[:3] == "DLS"
3333

3434

3535
def _check_fields(
@@ -46,10 +46,9 @@ def _check_fields(
4646
# Used on creation, when we don't have a top level container ID to join against yet
4747
query = query.filter(Shipment.id == item_id)
4848
else:
49-
if _check_if_dls_code(params.code):
49+
if params.code is None:
5050
# Perform no facility code check if code is not present
5151
return
52-
5352
query = query.select_from(TopLevelContainer).filter(TopLevelContainer.id == item_id).join(Shipment)
5453

5554
proposal_reference = inner_db.session.scalar(query)
@@ -115,7 +114,7 @@ def create_top_level_container(shipmentId: int | None, params: TopLevelContainer
115114
url=f"/proposals/{proposal.reference}/dewar-registry",
116115
json={
117116
"facilityCode": new_code,
118-
"manufacturerSerialNumber": (None if params.code == "N/A" else params.code),
117+
"manufacturerSerialNumber": (None if params.code.lower().strip() == "n/a" else params.code),
119118
},
120119
)
121120

src/scaup/models/top_level_containers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class BaseTopLevelContainer(BaseModel):
2828

2929
class TopLevelContainerIn(BaseTopLevelContainer):
3030
type: str
31-
code: str | None = None
31+
code: str = "n/a"
3232
isInternal: bool = False
3333

3434

0 commit comments

Comments
 (0)