fix: resolve 10 code review issues
High priority: - Fix concurrent race condition for view_count/like_count (atomic update) - Add route request ID tracking to prevent race conditions - Filter get_joke by status=approved (no pending content leak) - Add error feedback for like button Performance: - Optimize random joke query (avoid full table sort) - Limit page_size max to 100 (DoS prevention) Medium: - Add localStorage quota error handling - Handle empty AI response gracefully - Fix generate content title extraction Low: - Add rejected_jokes to stats API - Update dashboard to show rejected count
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,17 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class FeedbackCreate(BaseModel):
|
||||
name: str | None = None
|
||||
email: str | None = None
|
||||
content: str
|
||||
|
||||
|
||||
class FeedbackResponse(FeedbackCreate):
|
||||
id: int
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
@@ -0,0 +1,18 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class LinkCreate(BaseModel):
|
||||
name: str
|
||||
url: str
|
||||
description: str | None = None
|
||||
sort_order: int = 0
|
||||
|
||||
|
||||
class LinkResponse(LinkCreate):
|
||||
id: int
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
@@ -0,0 +1,17 @@
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
|
||||
|
||||
class AiSettingBase(BaseModel):
|
||||
provider: str = Field(default="nvidia")
|
||||
api_base: str = Field(default="https://integrate.api.nvidia.com/v1")
|
||||
api_key: str = Field(default="")
|
||||
model_name: str = Field(default="nvidia/llama-3.1-nemotron-70b-instruct")
|
||||
temperature: float = Field(default=0.7, ge=0, le=2)
|
||||
max_tokens: int = Field(default=2048, ge=1)
|
||||
crawl_enabled: bool = Field(default=False)
|
||||
crawl_keywords: str = Field(default="")
|
||||
max_pages_per_run: int = Field(default=3, ge=1)
|
||||
|
||||
|
||||
class AiSettingCreate(AiSettingBase):
|
||||
pass
|
||||
Reference in New Issue
Block a user