Working(tm) implementation of group and team deletion

ref #13
This commit is contained in:
2020-12-04 18:15:38 +01:00
parent c4f02023b9
commit 795599fd38
5 changed files with 56 additions and 23 deletions

View File

@@ -76,7 +76,7 @@ export class RunnerTeamController {
@ResponseSchema(RunnerTeamNotFoundError, { statusCode: 404 })
@ResponseSchema(RunnerTeamHasRunnersError, { statusCode: 406 })
@OpenAPI({ description: 'Delete a specified runnerTeam (if it exists).' })
async remove(@Param('id') id: number, @QueryParam("force") force) {
async remove(@Param('id') id: number, @QueryParam("force") force: boolean) {
let runnerTeam = await this.runnerTeamRepository.findOne({ id: id });
if (!runnerTeam) {
@@ -84,16 +84,14 @@ export class RunnerTeamController {
}
let runners: Runner[] = await runnerTeam.getRunners()
if (!force) {
if (runners.length != 0) {
throw new RunnerTeamHasRunnersError();
}
}
const runnerController = new RunnerController()
runners.forEach(runner => {
runnerController.remove(runner.id)
runnerController.remove(runner.id, true)
});
await this.runnerTeamRepository.delete(runnerTeam);