Files
dify/api/fields/timestamp.py
T
8cbb6c0130 feat: HITL IM integration (#44864)
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: JzoNg <jzongcode@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-10-30 02:43:31 +00:00

25 lines
657 B
Python

from datetime import datetime
from typing import Annotated
from pydantic import BeforeValidator, Field, PlainSerializer
from libs.datetime_utils import to_utc_timestamp
def _require_datetime(value: object) -> datetime:
if not isinstance(value, datetime):
raise ValueError("Timestamp source must be a datetime")
return value
def _datetime_to_unix_seconds(value: datetime) -> int:
return to_utc_timestamp(value)
Timestamp = Annotated[
datetime,
BeforeValidator(_require_datetime),
PlainSerializer(_datetime_to_unix_seconds, return_type=int, when_used="json"),
Field(..., description="Unix timestamp in seconds"),
]