fix: tools export

This commit is contained in:
Timothy Jaeryang Baek 2024-11-27 18:11:50 -08:00
parent 5d724d0b84
commit 7be93d2a84

View File

@ -76,6 +76,10 @@ class ToolModel(BaseModel):
#################### ####################
class ToolUserModel(ToolModel):
user: Optional[UserResponse] = None
class ToolResponse(BaseModel): class ToolResponse(BaseModel):
id: str id: str
user_id: str user_id: str
@ -138,13 +142,13 @@ class ToolsTable:
except Exception: except Exception:
return None return None
def get_tools(self) -> list[ToolUserResponse]: def get_tools(self) -> list[ToolUserModel]:
with get_db() as db: with get_db() as db:
tools = [] tools = []
for tool in db.query(Tool).order_by(Tool.updated_at.desc()).all(): for tool in db.query(Tool).order_by(Tool.updated_at.desc()).all():
user = Users.get_user_by_id(tool.user_id) user = Users.get_user_by_id(tool.user_id)
tools.append( tools.append(
ToolUserResponse.model_validate( ToolUserModel.model_validate(
{ {
**ToolModel.model_validate(tool).model_dump(), **ToolModel.model_validate(tool).model_dump(),
"user": user.model_dump() if user else None, "user": user.model_dump() if user else None,
@ -155,7 +159,7 @@ class ToolsTable:
def get_tools_by_user_id( def get_tools_by_user_id(
self, user_id: str, permission: str = "write" self, user_id: str, permission: str = "write"
) -> list[ToolUserResponse]: ) -> list[ToolUserModel]:
tools = self.get_tools() tools = self.get_tools()
return [ return [