Spaces:
Building
Building
Update config_models.py
Browse files- config_models.py +15 -6
config_models.py
CHANGED
@@ -6,12 +6,21 @@ from datetime import datetime
|
|
6 |
from pydantic import BaseModel, Field
|
7 |
|
8 |
class BaseModelWithDatetime(BaseModel):
|
9 |
-
"""Base model with datetime serialization
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
# ===================== User & Auth =====================
|
16 |
class UserConfig(BaseModelWithDatetime):
|
17 |
username: str
|
|
|
6 |
from pydantic import BaseModel, Field
|
7 |
|
8 |
class BaseModelWithDatetime(BaseModel):
|
9 |
+
"""Base model with consistent datetime serialization"""
|
10 |
+
|
11 |
+
@field_serializer('created_date', 'last_update_date', 'publish_date', 'timestamp')
|
12 |
+
def serialize_datetime(self, dt: Optional[datetime], _info) -> Optional[str]:
|
13 |
+
"""Serialize datetime fields to consistent ISO format"""
|
14 |
+
if dt is None:
|
15 |
+
return None
|
16 |
+
if isinstance(dt, str):
|
17 |
+
# String ise normalize et
|
18 |
+
return dt.replace(' ', 'T')
|
19 |
+
if isinstance(dt, datetime):
|
20 |
+
# Datetime objesi ise ISO formatına çevir
|
21 |
+
return dt.isoformat()
|
22 |
+
return str(dt)
|
23 |
+
|
24 |
# ===================== User & Auth =====================
|
25 |
class UserConfig(BaseModelWithDatetime):
|
26 |
username: str
|