| @@ -6,8 +6,8 @@ import { RunnerGroupNotFoundError } from '../errors/RunnerGroupErrors'; | ||||
| import { CreateRunner } from '../models/actions/CreateRunner'; | ||||
| import { UpdateRunner } from '../models/actions/UpdateRunner'; | ||||
| import { Donor } from '../models/entities/Donor'; | ||||
| import { ResponseDonor } from '../models/responses/ResponseDonor'; | ||||
| import { ResponseEmpty } from '../models/responses/ResponseEmpty'; | ||||
| import { ResponseRunner } from '../models/responses/ResponseRunner'; | ||||
|  | ||||
| @JsonController('/donors') | ||||
| @OpenAPI({ security: [{ "AuthToken": [] }, { "RefreshTokenCookie": [] }] }) | ||||
| @@ -23,32 +23,32 @@ export class DonorController { | ||||
|  | ||||
| 	@Get() | ||||
| 	@Authorized("DONOR:GET") | ||||
| 	@ResponseSchema(ResponseRunner, { isArray: true }) | ||||
| 	@ResponseSchema(ResponseDonor, { isArray: true }) | ||||
| 	@OpenAPI({ description: 'Lists all runners from all teams/orgs. <br> This includes the runner\'s group and distance ran.' }) | ||||
| 	async getAll() { | ||||
| 		let responseRunners: ResponseRunner[] = new Array<ResponseRunner>(); | ||||
| 		const runners = await this.donorRepository.find({ relations: ['scans', 'group'] }); | ||||
| 		runners.forEach(runner => { | ||||
| 			responseRunners.push(new ResponseRunner(runner)); | ||||
| 		let responseDonors: ResponseDonor[] = new Array<ResponseDonor>(); | ||||
| 		const donors = await this.donorRepository.find(); | ||||
| 		donors.forEach(donor => { | ||||
| 			responseDonors.push(new ResponseDonor(donor)); | ||||
| 		}); | ||||
| 		return responseRunners; | ||||
| 		return responseDonors; | ||||
| 	} | ||||
|  | ||||
| 	@Get('/:id') | ||||
| 	@Authorized("DONOR:GET") | ||||
| 	@ResponseSchema(ResponseRunner) | ||||
| 	@ResponseSchema(ResponseDonor) | ||||
| 	@ResponseSchema(RunnerNotFoundError, { statusCode: 404 }) | ||||
| 	@OnUndefined(RunnerNotFoundError) | ||||
| 	@OpenAPI({ description: 'Lists all information about the runner whose id got provided.' }) | ||||
| 	async getOne(@Param('id') id: number) { | ||||
| 		let runner = await this.donorRepository.findOne({ id: id }, { relations: ['scans', 'group'] }) | ||||
| 		if (!runner) { throw new RunnerNotFoundError(); } | ||||
| 		return new ResponseRunner(runner); | ||||
| 		let donor = await this.donorRepository.findOne({ id: id }) | ||||
| 		if (!donor) { throw new RunnerNotFoundError(); } | ||||
| 		return new ResponseDonor(donor); | ||||
| 	} | ||||
|  | ||||
| 	@Post() | ||||
| 	@Authorized("DONOR:CREATE") | ||||
| 	@ResponseSchema(ResponseRunner) | ||||
| 	@ResponseSchema(ResponseDonor) | ||||
| 	@ResponseSchema(RunnerGroupNeededError) | ||||
| 	@ResponseSchema(RunnerGroupNotFoundError) | ||||
| 	@OpenAPI({ description: 'Create a new runner. <br> Please remeber to provide the runner\'s group\'s id.' }) | ||||
| @@ -61,12 +61,12 @@ export class DonorController { | ||||
| 		} | ||||
|  | ||||
| 		runner = await this.donorRepository.save(runner) | ||||
| 		return new ResponseRunner(await this.donorRepository.findOne(runner, { relations: ['scans', 'group'] })); | ||||
| 		return new ResponseDonor(await this.donorRepository.findOne(runner, { relations: ['scans', 'group'] })); | ||||
| 	} | ||||
|  | ||||
| 	@Put('/:id') | ||||
| 	@Authorized("DONOR:UPDATE") | ||||
| 	@ResponseSchema(ResponseRunner) | ||||
| 	@ResponseSchema(ResponseDonor) | ||||
| 	@ResponseSchema(RunnerNotFoundError, { statusCode: 404 }) | ||||
| 	@ResponseSchema(RunnerIdsNotMatchingError, { statusCode: 406 }) | ||||
| 	@OpenAPI({ description: "Update the runner whose id you provided. <br> Please remember that ids can't be changed." }) | ||||
| @@ -82,12 +82,12 @@ export class DonorController { | ||||
| 		} | ||||
|  | ||||
| 		await this.donorRepository.save(await runner.updateRunner(oldRunner)); | ||||
| 		return new ResponseRunner(await this.donorRepository.findOne({ id: id }, { relations: ['scans', 'group'] })); | ||||
| 		return new ResponseDonor(await this.donorRepository.findOne({ id: id }, { relations: ['scans', 'group'] })); | ||||
| 	} | ||||
|  | ||||
| 	@Delete('/:id') | ||||
| 	@Authorized("DONOR:DELETE") | ||||
| 	@ResponseSchema(ResponseRunner) | ||||
| 	@ResponseSchema(ResponseDonor) | ||||
| 	@ResponseSchema(ResponseEmpty, { statusCode: 204 }) | ||||
| 	@OnUndefined(204) | ||||
| 	@OpenAPI({ description: 'Delete the runner whose id you provided. <br> If no runner with this id exists it will just return 204(no content).' }) | ||||
| @@ -101,6 +101,6 @@ export class DonorController { | ||||
| 		} | ||||
|  | ||||
| 		await this.donorRepository.delete(runner); | ||||
| 		return new ResponseRunner(responseRunner); | ||||
| 		return new ResponseDonor(responseRunner); | ||||
| 	} | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user