mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Merge branch 'projects' into sshkey-management
This commit is contained in:
@@ -583,6 +583,11 @@ function createProjectDirectory(project) {
|
||||
return fs.ensureDir(projectPath);
|
||||
}
|
||||
|
||||
function deleteProjectDirectory(project) {
|
||||
var projectPath = fspath.join(projectsDir,project);
|
||||
return fs.remove(projectPath);
|
||||
}
|
||||
|
||||
function createDefaultProject(user, project) {
|
||||
var projectPath = fspath.join(projectsDir,project.name);
|
||||
// Create a basic skeleton of a project
|
||||
@@ -710,6 +715,23 @@ function createProject(user, metadata) {
|
||||
})
|
||||
}
|
||||
|
||||
function deleteProject(user, name) {
|
||||
return checkProjectExists(name).then(function() {
|
||||
if (currentProject && currentProject.name === name) {
|
||||
var e = new Error("NLS: Can't delete the active project");
|
||||
e.code = "cannot_delete_active_project";
|
||||
throw e;
|
||||
}
|
||||
else {
|
||||
return deleteProjectDirectory(name).then(function() {
|
||||
var projects = settings.get('projects');
|
||||
delete projects.projects[name];
|
||||
return settings.set('projects', projects);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var currentProject;
|
||||
|
||||
function getProject(name) {
|
||||
@@ -749,6 +771,7 @@ module.exports = {
|
||||
init: init,
|
||||
get: getProject,
|
||||
create: createProject,
|
||||
delete: deleteProject,
|
||||
list: listProjects
|
||||
|
||||
}
|
||||
|
@@ -141,6 +141,10 @@ function getProject(user, name) {
|
||||
});
|
||||
}
|
||||
|
||||
function deleteProject(user, name) {
|
||||
return Projects.delete(user, name);
|
||||
}
|
||||
|
||||
function checkActiveProject(project) {
|
||||
if (!activeProject || activeProject.name !== project) {
|
||||
//TODO: throw better err
|
||||
@@ -398,6 +402,7 @@ module.exports = {
|
||||
getActiveProject: getActiveProject,
|
||||
setActiveProject: setActiveProject,
|
||||
getProject: getProject,
|
||||
deleteProject: deleteProject,
|
||||
createProject: createProject,
|
||||
updateProject: updateProject,
|
||||
getFiles: getFiles,
|
||||
|
Reference in New Issue
Block a user