added project express routes

This commit is contained in:
Storme-bit
2026-04-13 06:12:18 -07:00
parent 07bd6a21ad
commit c14426ecaf
6 changed files with 118 additions and 1 deletions

View 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 };