From e48d63bdbdc57ac875e1e026e6b0ed296842cebb Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Wed, 29 Apr 2026 15:06:15 +0100 Subject: [PATCH] fix: generate valid ObjectId for audit log entries default_factory=PyObjectId produced "" (empty string) since Annotated[str, ...] is a type annotation, not a callable factory. Replace with lambda: str(ObjectId()) to generate a real unique ID. Co-Authored-By: Claude Sonnet 4.6 --- backend/app/models/audit_log.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/app/models/audit_log.py b/backend/app/models/audit_log.py index 0a84153..ef86bb5 100644 --- a/backend/app/models/audit_log.py +++ b/backend/app/models/audit_log.py @@ -86,7 +86,7 @@ class AuditLogSeverity(str, Enum): class AuditLog(BaseModel): """Audit log entry model.""" - id: Optional[PyObjectId] = Field(default_factory=PyObjectId, alias="_id") + id: Optional[PyObjectId] = Field(default_factory=lambda: str(ObjectId()), alias="_id") # Core audit fields timestamp: datetime = Field(default_factory=datetime.utcnow)