Skip to content

Commit e7df125

Browse files
committed
Merge branch 'water-level-csv' into water-level-csv-refactor
2 parents 862110d + 4c660b4 commit e7df125

3 files changed

Lines changed: 11 additions & 1 deletion

File tree

schemas/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,10 @@ class BaseUpdateModel(BaseCreateModel):
5555

5656
def past_or_today_validator(value: date | datetime) -> date | datetime:
5757
if isinstance(value, datetime):
58-
if value > datetime.now(timezone.utc):
58+
if value.tzinfo is None:
59+
if value > datetime.now():
60+
raise ValueError("Datetime must be in the past or present.")
61+
elif value > datetime.now(timezone.utc):
5962
raise ValueError("Datetime must be in the past or present.")
6063
elif value > date.today():
6164
raise ValueError("Date must be today or in the past.")

schemas/well_inventory.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@ def state_validator(v):
9292

9393

9494
def phone_validator(phone_number_str):
95+
# Allow optional phone fields: treat None or blank as no value.
96+
if phone_number_str is None:
97+
return None
98+
9599
phone_number_str = phone_number_str.strip()
96100
if phone_number_str:
97101
parsed_number = phonenumbers.parse(phone_number_str, "US")

services/thing_helper.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,9 @@ def add_thing(
191191
thing_type = get_thing_type_from_request(request)
192192

193193
# Extract data for related tables
194+
# Normalize Pydantic models to dictionaries so we can safely mutate with .pop()
195+
if isinstance(data, BaseModel):
196+
data = data.model_dump()
194197

195198
# ---------
196199
# BEGIN UNIVERSAL THING RELATED TABLES

0 commit comments

Comments
 (0)