(projectIds: string[])
| 174 | } |
| 175 | |
| 176 | deleteProjects(projectIds: string[]) { |
| 177 | const self = this |
| 178 | |
| 179 | projectIds = projectIds || [] |
| 180 | projectIds = projectIds.map((it) => it.trim()).filter((it) => !!it) |
| 181 | |
| 182 | return Promise.resolve() |
| 183 | .then(function () { |
| 184 | return self.getAllProjects() |
| 185 | }) |
| 186 | .then(function (allProjects) { |
| 187 | allProjects = self.organizeFromTheLeafsToRoot(allProjects) |
| 188 | allProjects = allProjects.filter((project) => |
| 189 | projectIds.includes(project.id) |
| 190 | ) |
| 191 | |
| 192 | const promises: Promise<any>[] = allProjects.map((p) => |
| 193 | self.deleteProject(p.id) |
| 194 | ) |
| 195 | |
| 196 | return promises.reduce((accumulatedPromise, currentPromise) => { |
| 197 | return accumulatedPromise.then(() => currentPromise) |
| 198 | }, Promise.resolve()) |
| 199 | }) |
| 200 | } |
| 201 | |
| 202 | deleteProject(projectId: string) { |
| 203 | const self = this |
no test coverage detected