parent
aca13f7308
commit
9c63a34fe1
@ -84,7 +84,7 @@ export class RunnerController {
|
|||||||
@ResponseSchema(RunnerNotFoundError, { statusCode: 404 })
|
@ResponseSchema(RunnerNotFoundError, { statusCode: 404 })
|
||||||
@OpenAPI({ description: 'Delete a specified runner (if it exists).' })
|
@OpenAPI({ description: 'Delete a specified runner (if it exists).' })
|
||||||
async remove(@Param('id') id: number, @QueryParam("force") force: boolean) {
|
async remove(@Param('id') id: number, @QueryParam("force") force: boolean) {
|
||||||
let runner = await this.runnerRepository.findOne({ id: id });
|
const runner = await this.runnerRepository.findOne({ id: id });
|
||||||
|
|
||||||
if (!runner) {
|
if (!runner) {
|
||||||
throw new RunnerNotFoundError();
|
throw new RunnerNotFoundError();
|
||||||
|
@ -4,7 +4,6 @@ import { getConnectionManager, Repository } from 'typeorm';
|
|||||||
import { EntityFromBody } from 'typeorm-routing-controllers-extensions';
|
import { EntityFromBody } from 'typeorm-routing-controllers-extensions';
|
||||||
import { RunnerTeamHasRunnersError, RunnerTeamIdsNotMatchingError, RunnerTeamNotFoundError } from '../errors/RunnerTeamErrors';
|
import { RunnerTeamHasRunnersError, RunnerTeamIdsNotMatchingError, RunnerTeamNotFoundError } from '../errors/RunnerTeamErrors';
|
||||||
import { CreateRunnerTeam } from '../models/creation/CreateRunnerTeam';
|
import { CreateRunnerTeam } from '../models/creation/CreateRunnerTeam';
|
||||||
import { Runner } from '../models/entities/Runner';
|
|
||||||
import { RunnerTeam } from '../models/entities/RunnerTeam';
|
import { RunnerTeam } from '../models/entities/RunnerTeam';
|
||||||
import { ResponseRunnerTeam } from '../models/responses/ResponseRunnerTeam';
|
import { ResponseRunnerTeam } from '../models/responses/ResponseRunnerTeam';
|
||||||
import { RunnerController } from './RunnerController';
|
import { RunnerController } from './RunnerController';
|
||||||
@ -89,21 +88,20 @@ export class RunnerTeamController {
|
|||||||
@ResponseSchema(RunnerTeamHasRunnersError, { statusCode: 406 })
|
@ResponseSchema(RunnerTeamHasRunnersError, { statusCode: 406 })
|
||||||
@OpenAPI({ description: 'Delete a specified runnerTeam (if it exists).' })
|
@OpenAPI({ description: 'Delete a specified runnerTeam (if it exists).' })
|
||||||
async remove(@Param('id') id: number, @QueryParam("force") force: boolean) {
|
async remove(@Param('id') id: number, @QueryParam("force") force: boolean) {
|
||||||
let runnerTeam = await this.runnerTeamRepository.findOne({ id: id }, { relations: ['parentGroup', 'contact'] });
|
let runnerTeam = await this.runnerTeamRepository.findOne({ id: id }, { relations: ['parentGroup', 'contact', 'runners'] });
|
||||||
|
|
||||||
if (!runnerTeam) {
|
if (!runnerTeam) {
|
||||||
throw new RunnerTeamNotFoundError();
|
throw new RunnerTeamNotFoundError();
|
||||||
}
|
}
|
||||||
|
|
||||||
let runners: Runner[] = await runnerTeam.getRunners()
|
|
||||||
if (!force) {
|
if (!force) {
|
||||||
if (runners.length != 0) {
|
if (runnerTeam.runners.length != 0) {
|
||||||
throw new RunnerTeamHasRunnersError();
|
throw new RunnerTeamHasRunnersError();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const runnerController = new RunnerController()
|
const runnerController = new RunnerController()
|
||||||
runners.forEach(runner => {
|
await runnerTeam.runners.forEach(async runner => {
|
||||||
runnerController.remove(runner.id, true)
|
await runnerController.remove(runner.id, true);
|
||||||
});
|
});
|
||||||
|
|
||||||
const responseTeam = new ResponseRunnerTeam(runnerTeam);
|
const responseTeam = new ResponseRunnerTeam(runnerTeam);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user