updated orchestion to handle updating and deleting sessions

This commit is contained in:
Storme-bit
2026-04-13 03:04:29 -07:00
parent f6d538f68a
commit 3c6cfa9bf4
5 changed files with 80 additions and 1 deletions

View File

@@ -29,4 +29,25 @@ router.get('/', async (req, res) => {
}
})
router.patch('/:sessionId', async (req, res) => {
const { name } = req.body;
if (!name?.trim()) return res.status(400).json({ error: 'name is required' });
try {
const session = await memory.updateSession(req.params.sessionId, { name: name.trim() });
res.json(session);
} catch (err) {
res.status(500).json({ error: err.message });
}
});
router.delete('/:sessionId', async (req, res) => {
try {
await memory.deleteSession(req.params.sessionId);
res.status(204).send();
} catch (err) {
res.status(500).json({ error: err.message });
}
});
module.exports = router;

View File

@@ -63,6 +63,23 @@ async function getSessions(limit = EPISODIC.DEFAULT_SESSIONS_LIMIT, offset = EPI
return res.json();
}
async function updateSession(externalId, { name }) {
const res = await fetch(`${BASE_URL}/sessions/by-external/${externalId}`, {
method: 'PATCH',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ name }),
});
if (!res.ok) throw new Error(`Failed to update session: ${res.status}`);
return res.json();
}
async function deleteSession(externalId) {
const res = await fetch(`${BASE_URL}/sessions/by-external/${externalId}`, {
method: 'DELETE',
});
if (!res.ok) throw new Error(`Failed to delete session: ${res.status}`);
}
module.exports = {
getSessionByExternalId,
createSession,
@@ -70,5 +87,7 @@ module.exports = {
createEpisode,
getEpisodeById,
getSessionHistory,
getSessions
getSessions,
updateSession,
deleteSession,
}