added project express routes
This commit is contained in:
37
packages/memory-service/src/db/projects.js
Normal file
37
packages/memory-service/src/db/projects.js
Normal file
@@ -0,0 +1,37 @@
|
||||
const { getDB } = require('./index');
|
||||
const { parseRow } = require('@nexusai/shared');
|
||||
|
||||
function createProject({ name, description, colour, icon }) {
|
||||
const db = getDB();
|
||||
const result = db.prepare(`
|
||||
INSERT INTO projects (name, description, colour, icon)
|
||||
VALUES (?, ?, ?, ?)
|
||||
`).run(name, description ?? null, colour ?? null, icon ?? null);
|
||||
return getProject(result.lastInsertRowid);
|
||||
}
|
||||
|
||||
function getProjects() {
|
||||
const db = getDB();
|
||||
return db.prepare(`SELECT * FROM projects ORDER BY created_at DESC`).all().map(parseRow);
|
||||
}
|
||||
|
||||
function getProject(id) {
|
||||
const db = getDB();
|
||||
return parseRow(db.prepare(`SELECT * FROM projects WHERE id = ?`).get(id));
|
||||
}
|
||||
|
||||
function updateProject(id, { name, description, colour, icon }) {
|
||||
const db = getDB();
|
||||
db.prepare(`
|
||||
UPDATE projects SET name = ?, description = ?, colour = ?, icon = ?
|
||||
WHERE id = ?
|
||||
`).run(name, description ?? null, colour ?? null, icon ?? null, id);
|
||||
return getProject(id);
|
||||
}
|
||||
|
||||
function deleteProject(id) {
|
||||
const db = getDB();
|
||||
db.prepare(`DELETE FROM projects WHERE id = ?`).run(id);
|
||||
}
|
||||
|
||||
module.exports = { createProject, getProjects, getProject, updateProject, deleteProject };
|
||||
Reference in New Issue
Block a user