File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1414# limitations under the License.
1515# ===============================================================================
1616from typing_extensions import Annotated , Self
17+ from datetime import timezone
1718
18- from pydantic import BaseModel , AwareDatetime , PastDatetime , model_validator
19+ from pydantic import (
20+ BaseModel ,
21+ AwareDatetime ,
22+ PastDatetime ,
23+ model_validator ,
24+ field_validator ,
25+ )
1926
2027# ------- VALIDATION ------
2128
@@ -25,6 +32,12 @@ class ValidateSensor(BaseModel):
2532 datetime_installed : AwareDatetime
2633 datetime_removed : AwareDatetime
2734
35+ @field_validator ("datetime_installed" , "datetime_removed" )
36+ def convert_datetime_fields_to_utc (cls , field : AwareDatetime ) -> AwareDatetime :
37+ if field is not None and field .tzinfo != timezone .utc :
38+ field = field .astimezone (timezone .utc )
39+ return field
40+
2841 @model_validator (mode = "after" )
2942 def check_datetime_values (self ) -> Self :
3043 if (
You can’t perform that action at this time.
0 commit comments