Implemented scans get including the response classes

ref #67
This commit is contained in:
Nicolai Ort 2021-01-03 19:26:06 +01:00
parent 2cad2ac2e9
commit f9889bea3d
1 changed files with 6 additions and 4 deletions

View File

@ -2,9 +2,10 @@ import { Authorized, Get, JsonController } from 'routing-controllers';
import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
import { getConnectionManager, Repository } from 'typeorm';
import { Scan } from '../models/entities/Scan';
import { ResponseDonor } from '../models/responses/ResponseDonor';
import { ResponseScan } from '../models/responses/ResponseScan';
import { ResponseTrackScan } from '../models/responses/ResponseTrackScan';
@JsonController('/donors')
@JsonController('/scans')
@OpenAPI({ security: [{ "AuthToken": [] }, { "RefreshTokenCookie": [] }] })
export class ScanController {
private scanRepository: Repository<Scan>;
@ -18,13 +19,14 @@ export class ScanController {
@Get()
@Authorized("SCAN:GET")
@ResponseSchema(ResponseDonor, { isArray: true })
@ResponseSchema(ResponseScan, { isArray: true })
@ResponseSchema(ResponseTrackScan, { isArray: true })
@OpenAPI({ description: 'Lists all runners from all teams/orgs. <br> This includes the runner\'s group and distance ran.' })
async getAll() {
let responseScans: ResponseScan[] = new Array<ResponseScan>();
const scans = await this.scanRepository.find();
scans.forEach(scan => {
responseScans.push(new ResponseScan(scan));
responseScans.push(scan.toResponse());
});
return responseScans;
}