get sessions by projectId
This commit is contained in:
@@ -23,14 +23,25 @@ function getSession(id) {
|
||||
return parseRow(stmt.get(id));
|
||||
}
|
||||
|
||||
function getSessions(limit = EPISODIC.DEFAULT_PAGE_SIZE, offset = 0) {
|
||||
|
||||
function getSessions(limit = EPISODIC.DEFAULT_PAGE_SIZE, offset = 0, projectId = null) {
|
||||
const db = getDB();
|
||||
const stmt = db.prepare(`
|
||||
SELECT * FROM sessions
|
||||
ORDER BY updated_at DESC
|
||||
LIMIT ? OFFSET ?
|
||||
`);
|
||||
return stmt.all(limit, offset).map(parseRow);
|
||||
const stmt = projectId
|
||||
? db.prepare(`
|
||||
SELECT * FROM sessions
|
||||
WHERE project_id = ?
|
||||
ORDER BY updated_at DESC
|
||||
LIMIT ? OFFSET ?
|
||||
`)
|
||||
: db.prepare(`
|
||||
SELECT * FROM sessions
|
||||
ORDER BY updated_at DESC
|
||||
LIMIT ? OFFSET ?
|
||||
`);
|
||||
|
||||
return projectId
|
||||
? stmt.all(projectId, limit, offset).map(parseRow)
|
||||
: stmt.all(limit, offset).map(parseRow);
|
||||
}
|
||||
|
||||
// Retrieves a session by its external ID
|
||||
|
||||
@@ -44,8 +44,8 @@ app.post('/sessions', (req, res) => {
|
||||
});
|
||||
|
||||
app.get('/sessions', (req, res) => {
|
||||
const {limit = EPISODIC.DEFAULT_PAGE_SIZE, offset = EPISODIC.DEFAULT_OFFSET } = req.query;
|
||||
const sessions = episodic.getSessions(Number(limit), Number(offset));
|
||||
const {limit = EPISODIC.DEFAULT_PAGE_SIZE, offset = EPISODIC.DEFAULT_OFFSET, projectId } = req.query;
|
||||
const sessions = episodic.getSessions(Number(limit), Number(offset, projectId ?? null));
|
||||
res.json(sessions);
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user