summary system backend implementation
This commit is contained in:
@@ -3,6 +3,7 @@ const express = require('express');
|
||||
const {getEnv, PORTS, EPISODIC} = require('@nexusai/shared');
|
||||
const { getDB } = require('./db');
|
||||
const { createProject, getProjects, getProject, updateProject, deleteProject } = require('./db/projects');
|
||||
const { createSummary, getSummary, getSummariesBySession, getSummariesByProject, updateSummary, deleteSummary } = require('./db/summaries');
|
||||
|
||||
const episodic = require('./episodic');
|
||||
const semantic = require('./semantic');
|
||||
@@ -270,6 +271,48 @@ app.delete('/projects/:id', (req, res) => {
|
||||
});
|
||||
|
||||
|
||||
/*********************************** */
|
||||
/********** Summary Routes ********** */
|
||||
/*********************************** */
|
||||
|
||||
// Create a summary (called by orchestration, fire-and-forget style)
|
||||
app.post('/summaries', (req, res) => {
|
||||
const { sessionId, projectId, content, tokenCount, episodeRange, metadata } = req.body;
|
||||
if (!content) return res.status(400).json({ error: 'content is required' });
|
||||
if (!sessionId && !projectId) return res.status(400).json({ error: 'sessionId or projectId is required' });
|
||||
|
||||
try {
|
||||
const summary = createSummary({ sessionId, projectId, content, tokenCount, episodeRange, metadata });
|
||||
res.status(201).json(summary);
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
// Get summaries for a session
|
||||
app.get('/sessions/:id/summaries', (req, res) => {
|
||||
res.json(getSummariesBySession(req.params.id));
|
||||
});
|
||||
|
||||
// Get summaries for a project
|
||||
app.get('/projects/:id/summaries', (req, res) => {
|
||||
res.json(getSummariesByProject(req.params.id));
|
||||
});
|
||||
|
||||
// Update a summary (for cumulative updates)
|
||||
app.patch('/summaries/:id', (req, res) => {
|
||||
const summary = getSummary(req.params.id);
|
||||
if (!summary) return res.status(404).json({ error: 'Not found' });
|
||||
res.json(updateSummary(req.params.id, req.body));
|
||||
});
|
||||
|
||||
// Delete a summary
|
||||
app.delete('/summaries/:id', (req, res) => {
|
||||
deleteSummary(req.params.id);
|
||||
res.status(204).send();
|
||||
});
|
||||
|
||||
|
||||
|
||||
/********************************** */
|
||||
/********** Start Server ********** */
|
||||
|
||||
Reference in New Issue
Block a user