Skip to content

Commit b8eba90

Browse files
committed
Enhance EngagementFeedback model with additional fields for user interaction and feedback details
1 parent 7f523dd commit b8eba90

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

services/api-python/app/models/schemas.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -390,11 +390,19 @@ class FeedItemDetail(BaseModel):
390390

391391

392392
class EngagementFeedback(BaseModel):
393-
"""Feed engagement feedback."""
394-
engagement_type: str = Field(..., pattern="^(helpful|confusing|learned_something|share_worthy)$")
395-
rating: int = Field(..., ge=1, le=5)
396-
comments: Optional[str] = Field(None, max_length=500)
393+
"""User engagement feedback on educational content."""
394+
item_id: str
395+
user_id: Optional[str] = None
396+
engagement_type: str = Field(..., pattern="^(like|dislike|share|save|helpful|not_helpful|confusing|learned_something|share_worthy)$")
397+
feedback_text: Optional[str] = Field(None, max_length=500)
398+
rating: Optional[int] = Field(None, ge=1, le=5)
397399
time_spent_seconds: Optional[int] = None
400+
timestamp: datetime = Field(default_factory=datetime.utcnow)
401+
402+
class Config:
403+
json_encoders = {
404+
datetime: lambda v: v.isoformat()
405+
}
398406

399407

400408
class TrendingPatterns(BaseModel):

0 commit comments

Comments
 (0)