fix: settings save and session deletion bugs
Settings save: - Remove exclude_none=True from user_config.py model_dump() call - Fixes fields not updating when cleared or set to null/undefined Session deletion: - Add project_id and repository_id to get_user_sessions response - Update frontend Session interface with new fields - Fix handleDelete to use IDs instead of names, resolving 404 errors
This commit is contained in:
@@ -762,9 +762,10 @@ async def get_user_sessions(
|
|||||||
"display_name": instance.display_name,
|
"display_name": instance.display_name,
|
||||||
"tool_type_name": tool_type.name if tool_type else "unknown",
|
"tool_type_name": tool_type.name if tool_type else "unknown",
|
||||||
"tool_icon": tool_type.name if tool_type else "code",
|
"tool_icon": tool_type.name if tool_type else "code",
|
||||||
"tool_type_interfaces": tool_type.interfaces if tool_type else [],
|
|
||||||
"repository_name": repo.name if repo else "unknown",
|
"repository_name": repo.name if repo else "unknown",
|
||||||
|
"repository_id": str(instance.repository_id),
|
||||||
"project_name": project.name if project else "unknown",
|
"project_name": project.name if project else "unknown",
|
||||||
|
"project_id": str(instance.project_id),
|
||||||
"status": instance.status,
|
"status": instance.status,
|
||||||
"url": instance.url,
|
"url": instance.url,
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ async def update_user_config(
|
|||||||
config = await _get_or_create_config(session, user_id)
|
config = await _get_or_create_config(session, user_id)
|
||||||
|
|
||||||
# Merge updates
|
# Merge updates
|
||||||
update_data = data.model_dump(exclude_unset=True, exclude_none=True)
|
update_data = data.model_dump(exclude_unset=True)
|
||||||
logger.info("Updating user config for user %s: %s", user_id, update_data)
|
logger.info("Updating user config for user %s: %s", user_id, update_data)
|
||||||
config.config.update(update_data)
|
config.config.update(update_data)
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ export interface Session {
|
|||||||
tool_icon: string;
|
tool_icon: string;
|
||||||
tool_type_interfaces: string[];
|
tool_type_interfaces: string[];
|
||||||
repository_name: string;
|
repository_name: string;
|
||||||
|
repository_id: string;
|
||||||
project_name: string;
|
project_name: string;
|
||||||
|
project_id: string;
|
||||||
status: string;
|
status: string;
|
||||||
url: string | null;
|
url: string | null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -289,8 +289,8 @@ export const SessionsPage = () => {
|
|||||||
onClick={() =>
|
onClick={() =>
|
||||||
void handleDelete(
|
void handleDelete(
|
||||||
session.id,
|
session.id,
|
||||||
projects.find((p) => p.name === session.project_name)?.id ?? "",
|
session.project_id,
|
||||||
""
|
session.repository_id
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
Reference in New Issue
Block a user