26 lines
607 B
Python
26 lines
607 B
Python
"""Feedback schemas for VoIdea API."""
|
|
|
|
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class FeedbackCreate(BaseModel):
|
|
text: str = Field(min_length=1, max_length=5000)
|
|
page_url: Optional[str] = Field(None, max_length=512)
|
|
|
|
|
|
class FeedbackResponse(BaseModel):
|
|
id: str
|
|
user_id: Optional[str] = None
|
|
text: str
|
|
page_url: Optional[str] = None
|
|
status: str = "new"
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
|
|
class FeedbackUpdate(BaseModel):
|
|
status: str = Field(default="read", description="new | read | replied | done")
|