diff --git a/src/frontend/src/controllers/API/index.ts b/src/frontend/src/controllers/API/index.ts index 0a33f9639..8f01d1908 100644 --- a/src/frontend/src/controllers/API/index.ts +++ b/src/frontend/src/controllers/API/index.ts @@ -1040,6 +1040,19 @@ export async function getMessagesTable( return { rows: rows.data, columns }; } +export async function getSessions(id?: string): Promise> { + const config = {}; + if (id) { + config["params"] = { flow_id: id }; + } + const rows = await api.get(`${BASE_URL_API}monitor/messages`, config); + const sessions = new Set(); + rows.data.forEach((row) => { + sessions.add(row.session_id); + }); + return Array.from(sessions); +} + export async function deleteMessagesFn(ids: number[]) { try { return await api.delete(`${BASE_URL_API}monitor/messages`, { diff --git a/src/frontend/src/modals/IOModal/index.tsx b/src/frontend/src/modals/IOModal/index.tsx index eba05133d..100a48785 100644 --- a/src/frontend/src/modals/IOModal/index.tsx +++ b/src/frontend/src/modals/IOModal/index.tsx @@ -25,6 +25,7 @@ import { cn } from "../../utils/utils"; import BaseModal from "../baseModal"; import IOFieldView from "./components/IOFieldView"; import ChatView from "./components/chatView"; +import { getSessions } from "../../controllers/API"; export default function IOModal({ children, @@ -78,6 +79,7 @@ export default function IOModal({ const isBuilding = useFlowStore((state) => state.isBuilding); const currentFlow = useFlowsManagerStore((state) => state.currentFlow); const setNode = useFlowStore((state) => state.setNode); + const [sessions, setSessions] = useState([]); async function updateVertices() { return updateVerticesOrder(currentFlow!.id, null); @@ -113,9 +115,11 @@ export default function IOModal({ useEffect(() => { setSelectedViewField(startView()); - if (haveChat) { - //TODO: fetch avaliable Sessions - } + // if (haveChat) { + // getSessions().then((sessions) => { + // setSessions(sessions); + // }); + // } }, [open]); return (