better time usings

This commit is contained in:
2025-10-22 08:14:42 +02:00
parent 04b516a52d
commit 4eede0c8c0
11 changed files with 62 additions and 163 deletions

View File

@@ -6,7 +6,7 @@ easy to validate and test.
"""
from __future__ import annotations
from datetime import datetime
from datetime import datetime, timezone
from typing import Optional
from pydantic import BaseModel, Field, constr
@@ -53,5 +53,5 @@ class SessionModel(BaseModel):
session_id: str = Field(..., description="Unique session identifier")
user: Optional[str] = Field(None, description="Username or identifier")
created_at: datetime = Field(default_factory=datetime.utcnow)
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
expires_at: Optional[datetime] = Field(None)

View File

@@ -6,7 +6,7 @@ on serialization, validation, and OpenAPI documentation.
"""
from __future__ import annotations
from datetime import datetime
from datetime import datetime, timezone
from enum import Enum
from typing import List, Optional
@@ -80,8 +80,8 @@ class DownloadItem(BaseModel):
# Timestamps
added_at: datetime = Field(
default_factory=datetime.utcnow,
description="When item was added to queue"
default_factory=lambda: datetime.now(timezone.utc),
description="When item was added to queue",
)
started_at: Optional[datetime] = Field(
None, description="When download started"

View File

@@ -6,7 +6,7 @@ for real-time updates.
"""
from __future__ import annotations
from datetime import datetime
from datetime import datetime, timezone
from enum import Enum
from typing import Any, Dict, Optional
@@ -56,7 +56,7 @@ class WebSocketMessage(BaseModel):
..., description="Type of the message"
)
timestamp: str = Field(
default_factory=lambda: datetime.utcnow().isoformat(),
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="ISO 8601 timestamp when message was created",
)
data: Dict[str, Any] = Field(
@@ -72,7 +72,7 @@ class DownloadProgressMessage(BaseModel):
description="Message type",
)
timestamp: str = Field(
default_factory=lambda: datetime.utcnow().isoformat(),
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="ISO 8601 timestamp",
)
data: Dict[str, Any] = Field(
@@ -89,7 +89,7 @@ class DownloadCompleteMessage(BaseModel):
description="Message type",
)
timestamp: str = Field(
default_factory=lambda: datetime.utcnow().isoformat(),
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="ISO 8601 timestamp",
)
data: Dict[str, Any] = Field(
@@ -105,7 +105,7 @@ class DownloadFailedMessage(BaseModel):
description="Message type",
)
timestamp: str = Field(
default_factory=lambda: datetime.utcnow().isoformat(),
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="ISO 8601 timestamp",
)
data: Dict[str, Any] = Field(
@@ -121,7 +121,7 @@ class QueueStatusMessage(BaseModel):
description="Message type",
)
timestamp: str = Field(
default_factory=lambda: datetime.utcnow().isoformat(),
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="ISO 8601 timestamp",
)
data: Dict[str, Any] = Field(
@@ -137,7 +137,7 @@ class SystemMessage(BaseModel):
..., description="System message type"
)
timestamp: str = Field(
default_factory=lambda: datetime.utcnow().isoformat(),
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="ISO 8601 timestamp",
)
data: Dict[str, Any] = Field(
@@ -152,7 +152,7 @@ class ErrorMessage(BaseModel):
default=WebSocketMessageType.ERROR, description="Message type"
)
timestamp: str = Field(
default_factory=lambda: datetime.utcnow().isoformat(),
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="ISO 8601 timestamp",
)
data: Dict[str, Any] = Field(
@@ -167,7 +167,7 @@ class ConnectionMessage(BaseModel):
..., description="Connection message type"
)
timestamp: str = Field(
default_factory=lambda: datetime.utcnow().isoformat(),
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="ISO 8601 timestamp",
)
data: Dict[str, Any] = Field(
@@ -203,7 +203,7 @@ class ScanProgressMessage(BaseModel):
description="Message type",
)
timestamp: str = Field(
default_factory=lambda: datetime.utcnow().isoformat(),
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="ISO 8601 timestamp",
)
data: Dict[str, Any] = Field(
@@ -220,7 +220,7 @@ class ScanCompleteMessage(BaseModel):
description="Message type",
)
timestamp: str = Field(
default_factory=lambda: datetime.utcnow().isoformat(),
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="ISO 8601 timestamp",
)
data: Dict[str, Any] = Field(
@@ -237,7 +237,7 @@ class ScanFailedMessage(BaseModel):
description="Message type",
)
timestamp: str = Field(
default_factory=lambda: datetime.utcnow().isoformat(),
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="ISO 8601 timestamp",
)
data: Dict[str, Any] = Field(