fix missing type annotations for graphql query field arguments

This commit is contained in:
2026-05-19 02:03:35 +08:00
parent b58f74d59b
commit 419af38684
4 changed files with 24 additions and 15 deletions
+13 -12
View File
@@ -1,7 +1,10 @@
import strawberry
from typing import List, Optional
from datetime import datetime
from strawberry.types import Info
from app.utils.format import get_image_url
from app.graphql.context import CustomContext
@strawberry.type
class UserType:
@@ -19,6 +22,14 @@ class UserType:
def avatar_url(self) -> Optional[str]:
return get_image_url(self.avatar) if self.avatar else None
@strawberry.type
class WorkspaceMemberType:
id: strawberry.ID
workspace_id: str
user_id: Optional[str]
role: str
status: str
@strawberry.type
class WorkspaceType:
id: strawberry.ID
@@ -30,15 +41,5 @@ class WorkspaceType:
# 支持前端按需加载关联的成员
@strawberry.field
def members(self, info) -> List["WorkspaceMemberType"]:
from app.models import WorkspaceMember
db = info.context.db
return db.query(WorkspaceMember).filter(WorkspaceMember.workspace_id == self.id).all()
@strawberry.type
class WorkspaceMemberType:
id: strawberry.ID
workspace_id: str
user_id: Optional[str]
role: str
status: str
def members(self, info: Info) -> List[WorkspaceMemberType]:
return info.context.members_loader.load(self.id)