mirror of
https://github.com/langgenius/dify.git
synced 2026-11-11 05:41:09 +08:00
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>
25 lines
657 B
Python
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"),
|
|
]
|