fix: [HOTFIX] 修复标题/配音创建500、素材库列表500、CORS配置 #92

Merged
xiaoxia merged 1 commits from fix/api-500-hotfix into main 2026-06-28 21:40:09 +08:00
4 changed files with 8 additions and 7 deletions
+1 -1
View File
@@ -51,7 +51,7 @@ def _to_response(item) -> TitleLibraryItemResponse:
def _get_user_plan(user_id: str, user_repository: UserRepository) -> str:
user = user_repository.get_by_id(user_id)
user = user_repository.find_by_id(user_id)
if user is None:
return "free"
return getattr(user, "subscription_plan", "free") or "free"
+1 -1
View File
@@ -55,7 +55,7 @@ def _to_response(item) -> VoiceLibraryItemResponse:
def _get_user_plan(user_id: str, user_repository: UserRepository) -> str:
user = user_repository.get_by_id(user_id)
user = user_repository.find_by_id(user_id)
if user is None:
return "free"
return getattr(user, "subscription_plan", "free") or "free"
+2 -2
View File
@@ -40,8 +40,8 @@ else:
# In production, filter out any wildcard "*" origins
allow_origins = [origin for origin in settings.CORS_ORIGINS if origin != "*"]
if not allow_origins:
# Default to production domain if no valid origins configured
allow_origins = ["https://xiaoxiajianji.com"]
# Default to production domains if no valid origins configured
allow_origins = ["https://xiaoxiajianji.com", "https://saas.xiaoxiajianji.com"]
app.add_middleware(
CORSMiddleware,
@@ -54,12 +54,13 @@ class SQLAlchemyProjectRepository:
def find_accessible_projects(self, user_id: str) -> list[Project]:
"""查找用户可访问的所有项目(自己拥有的 + 被共享的)"""
from sqlalchemy import or_
from sqlalchemy import or_, cast
from sqlalchemy.dialects.postgresql import JSONB
models = self.session.query(ProjectModel).filter(
or_(
ProjectModel.owner_user_id == user_id,
ProjectModel.shared_users.contains([user_id])
cast(ProjectModel.shared_users, JSONB).contains([user_id])
)
).all()
return [self._to_entity(model) for model in models]