From 92e42eaed913c40dab72ff807386aaee00e84e06 Mon Sep 17 00:00:00 2001 From: Kasra Bigdeli Date: Sat, 14 Sep 2024 15:52:09 -0700 Subject: [PATCH] Not allow parent to be deleted if there are sub projects --- src/datastore/ProjectsDataStore.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/datastore/ProjectsDataStore.ts b/src/datastore/ProjectsDataStore.ts index 33f411c..fd29cba 100644 --- a/src/datastore/ProjectsDataStore.ts +++ b/src/datastore/ProjectsDataStore.ts @@ -148,7 +148,7 @@ class ProjectsDataStore { return self.getProject(projectId) }) .then(function (project) { - // project is not empty + // project exists return self.appsDataStore.getAppDefinitions() }) @@ -158,7 +158,18 @@ class ProjectsDataStore { if (apps.some((app) => app.projectId === projectId)) { throw ApiStatusCodes.createError( ApiStatusCodes.ILLEGAL_OPERATION, - 'Project not empty' + 'Project not empty (has apps)' + ) + } + }) + .then(function () { + return self.getAllProjects() + }) + .then(function (allProjects) { + if (allProjects.some((p) => p.parentProjectId === projectId)) { + throw ApiStatusCodes.createError( + ApiStatusCodes.ILLEGAL_OPERATION, + 'Project not empty (has sub projects)' ) }