diff --git a/src/controllers/RunnerCardController.ts b/src/controllers/RunnerCardController.ts index 2263f07..1366bed 100644 --- a/src/controllers/RunnerCardController.ts +++ b/src/controllers/RunnerCardController.ts @@ -97,7 +97,7 @@ export class RunnerCardController { } const scanController = new ScanController; for (let scan of cardScans) { - scanController.remove(scan.id, force); + await scanController.remove(scan.id, force); } await this.cardRepository.delete(card); diff --git a/src/controllers/RunnerController.ts b/src/controllers/RunnerController.ts index 5d1e5e8..a11d2c6 100644 --- a/src/controllers/RunnerController.ts +++ b/src/controllers/RunnerController.ts @@ -8,6 +8,8 @@ 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 { RunnerCardController } from './RunnerCardController'; +import { ScanController } from './ScanController'; @JsonController('/runners') @OpenAPI({ security: [{ "AuthToken": [] }, { "RefreshTokenCookie": [] }] }) @@ -100,6 +102,18 @@ export class RunnerController { throw new RunnerNotFoundError(); } + const runnerCards = (await this.runnerRepository.findOne({ id: runner.id }, { relations: ["cards"] })).cards; + const cardController = new RunnerCardController; + for (let scan of runnerCards) { + await cardController.remove(scan.id, force); + } + + const runnerScans = (await this.runnerRepository.findOne({ id: runner.id }, { relations: ["scans"] })).scans; + const scanController = new ScanController; + for (let scan of runnerScans) { + await scanController.remove(scan.id, force); + } + await this.runnerRepository.delete(runner); return new ResponseRunner(responseRunner); } diff --git a/src/controllers/ScanStationController.ts b/src/controllers/ScanStationController.ts index 4e32971..df85d0e 100644 --- a/src/controllers/ScanStationController.ts +++ b/src/controllers/ScanStationController.ts @@ -98,7 +98,7 @@ export class ScanStationController { } const scanController = new ScanController; for (let scan of stationScans) { - scanController.remove(scan.id, force); + await scanController.remove(scan.id, force); } const responseStation = await this.stationRepository.findOne({ id: station.id }, { relations: ["track"] }); diff --git a/src/controllers/TrackController.ts b/src/controllers/TrackController.ts index 094756c..42feb7c 100644 --- a/src/controllers/TrackController.ts +++ b/src/controllers/TrackController.ts @@ -94,9 +94,9 @@ export class TrackController { if (trackStations.length != 0 && !force) { throw new TrackHasScanStationsError(); } - const scanController = new ScanStationController; + const stationController = new ScanStationController; for (let station of trackStations) { - scanController.remove(station.id, force); + await stationController.remove(station.id, force); } await this.trackRepository.delete(track); diff --git a/src/controllers/UserGroupController.ts b/src/controllers/UserGroupController.ts index 4b484fc..160a99e 100644 --- a/src/controllers/UserGroupController.ts +++ b/src/controllers/UserGroupController.ts @@ -88,9 +88,9 @@ export class UserGroupController { if (!group) { return null; } const responseGroup = await this.userGroupsRepository.findOne({ id: id }, { relations: ['permissions'] }); - const permissionControler = new PermissionController(); + const permissionController = new PermissionController(); for (let permission of responseGroup.permissions) { - await permissionControler.remove(permission.id, true); + await permissionController.remove(permission.id, true); } await this.userGroupsRepository.delete(group);