fix: deleted user handling

This commit is contained in:
Timothy Jaeryang Baek
2024-11-19 16:47:35 -08:00
parent 011b8ea3a8
commit 0c43c1edf6
54 changed files with 114 additions and 42 deletions

View File

@@ -128,17 +128,20 @@ class KnowledgeTable:
def get_knowledge_bases(self) -> list[KnowledgeUserModel]:
with get_db() as db:
return [
KnowledgeUserModel.model_validate(
{
**KnowledgeModel.model_validate(knowledge).model_dump(),
"user": Users.get_user_by_id(knowledge.user_id).model_dump(),
}
knowledge_bases = []
for knowledge in (
db.query(Knowledge).order_by(Knowledge.updated_at.desc()).all()
):
user = Users.get_user_by_id(knowledge.user_id)
knowledge_bases.append(
KnowledgeUserModel.model_validate(
{
**KnowledgeModel.model_validate(knowledge).model_dump(),
"user": user.model_dump() if user else None,
}
)
)
for knowledge in db.query(Knowledge)
.order_by(Knowledge.updated_at.desc())
.all()
]
return knowledge_bases
def get_knowledge_bases_by_user_id(
self, user_id: str, permission: str = "write"

View File

@@ -175,15 +175,18 @@ class ModelsTable:
def get_models(self) -> list[ModelUserResponse]:
with get_db() as db:
return [
ModelUserResponse.model_validate(
{
**ModelModel.model_validate(model).model_dump(),
"user": Users.get_user_by_id(model.user_id).model_dump(),
}
models = []
for model in db.query(Model).filter(Model.base_model_id != None).all():
user = Users.get_user_by_id(model.user_id)
models.append(
ModelUserResponse.model_validate(
{
**ModelModel.model_validate(model).model_dump(),
"user": user.model_dump() if user else None,
}
)
)
for model in db.query(Model).filter(Model.base_model_id != None).all()
]
return models
def get_base_models(self) -> list[ModelModel]:
with get_db() as db:

View File

@@ -103,15 +103,20 @@ class PromptsTable:
def get_prompts(self) -> list[PromptUserResponse]:
with get_db() as db:
return [
PromptUserResponse.model_validate(
{
**PromptModel.model_validate(prompt).model_dump(),
"user": Users.get_user_by_id(prompt.user_id).model_dump(),
}
prompts = []
for prompt in db.query(Prompt).order_by(Prompt.timestamp.desc()).all():
user = Users.get_user_by_id(prompt.user_id)
prompts.append(
PromptUserResponse.model_validate(
{
**PromptModel.model_validate(prompt).model_dump(),
"user": user.model_dump() if user else None,
}
)
)
for prompt in db.query(Prompt).all()
]
return prompts
def get_prompts_by_user_id(
self, user_id: str, permission: str = "write"

View File

@@ -140,15 +140,18 @@ class ToolsTable:
def get_tools(self) -> list[ToolUserResponse]:
with get_db() as db:
return [
ToolUserResponse.model_validate(
{
**ToolModel.model_validate(tool).model_dump(),
"user": Users.get_user_by_id(tool.user_id).model_dump(),
}
tools = []
for tool in db.query(Tool).order_by(Tool.updated_at.desc()).all():
user = Users.get_user_by_id(tool.user_id)
tools.append(
ToolUserResponse.model_validate(
{
**ToolModel.model_validate(tool).model_dump(),
"user": user.model_dump() if user else None,
}
)
)
for tool in db.query(Tool).order_by(Tool.updated_at.desc()).all()
]
return tools
def get_tools_by_user_id(
self, user_id: str, permission: str = "write"