updated orchestion to handle updating and deleting sessions
This commit is contained in:
@@ -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;
|
||||
@@ -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,
|
||||
}
|
||||
Reference in New Issue
Block a user