Implemented cascading scan, track and card deletion

ref #78
This commit is contained in:
Nicolai Ort 2021-01-09 15:43:52 +01:00
parent 9013b9492c
commit 1a5493facf
1 changed files with 7 additions and 0 deletions

View File

@ -8,6 +8,7 @@ import { UpdateRunner } from '../models/actions/UpdateRunner';
import { Runner } from '../models/entities/Runner';
import { ResponseEmpty } from '../models/responses/ResponseEmpty';
import { ResponseRunner } from '../models/responses/ResponseRunner';
import { ScanController } from './ScanController';
@JsonController('/runners')
@OpenAPI({ security: [{ "AuthToken": [] }, { "RefreshTokenCookie": [] }] })
@ -100,6 +101,12 @@ export class RunnerController {
throw new RunnerNotFoundError();
}
const runnerScans = (await this.runnerRepository.findOne({ id: runner.id }, { relations: ["scans"] })).scans;
const scanController = new ScanController;
for (let scan of runnerScans) {
scanController.remove(scan.id, force);
}
await this.runnerRepository.delete(runner);
return new ResponseRunner(responseRunner);
}