added missing memory service project routes
This commit is contained in:
@@ -2,6 +2,7 @@ require ('dotenv').config();
|
|||||||
const express = require('express');
|
const express = require('express');
|
||||||
const {getEnv, PORTS, EPISODIC} = require('@nexusai/shared');
|
const {getEnv, PORTS, EPISODIC} = require('@nexusai/shared');
|
||||||
const { getDB } = require('./db');
|
const { getDB } = require('./db');
|
||||||
|
const { createProject, getProjects, getProject, updateProject, deleteProject } = require('./db/projects');
|
||||||
|
|
||||||
const episodic = require('./episodic');
|
const episodic = require('./episodic');
|
||||||
const semantic = require('./semantic');
|
const semantic = require('./semantic');
|
||||||
@@ -196,6 +197,43 @@ app.delete('/relationships', (req, res) => {
|
|||||||
res.status(204).send();
|
res.status(204).send();
|
||||||
})
|
})
|
||||||
|
|
||||||
|
/*********************************** */
|
||||||
|
/********** Project Routes ********** */
|
||||||
|
/*********************************** */
|
||||||
|
|
||||||
|
app.post('/projects', (req, res) => {
|
||||||
|
const { name, description, colour, icon } = req.body;
|
||||||
|
if (!name?.trim()) return res.status(400).json({ error: 'name is required' });
|
||||||
|
try {
|
||||||
|
res.status(201).json(createProject({ name: name.trim(), description, colour, icon }));
|
||||||
|
} catch (err) {
|
||||||
|
res.status(500).json({ error: err.message });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/projects', (req, res) => {
|
||||||
|
res.json(getProjects());
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/projects/:id', (req, res) => {
|
||||||
|
const project = getProject(req.params.id);
|
||||||
|
if (!project) return res.status(404).json({ error: 'Not found' });
|
||||||
|
res.json(project);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.patch('/projects/:id', (req, res) => {
|
||||||
|
const project = getProject(req.params.id);
|
||||||
|
if (!project) return res.status(404).json({ error: 'Not found' });
|
||||||
|
res.json(updateProject(req.params.id, req.body));
|
||||||
|
});
|
||||||
|
|
||||||
|
app.delete('/projects/:id', (req, res) => {
|
||||||
|
const project = getProject(req.params.id);
|
||||||
|
if (!project) return res.status(404).json({ error: 'Not found' });
|
||||||
|
deleteProject(req.params.id);
|
||||||
|
res.status(204).send();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/********************************** */
|
/********************************** */
|
||||||
|
|||||||
Reference in New Issue
Block a user