ref #205
This commit is contained in:
		@@ -1,6 +1,6 @@
 | 
			
		||||
import { Authorized, Body, Delete, Get, JsonController, OnUndefined, Param, Post, Put, QueryParam } from 'routing-controllers';
 | 
			
		||||
import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
 | 
			
		||||
import { getConnectionManager, Repository } from 'typeorm';
 | 
			
		||||
import { Repository, getConnectionManager } from 'typeorm';
 | 
			
		||||
import { TrackHasScanStationsError, TrackIdsNotMatchingError, TrackLapTimeCantBeNegativeError, TrackNotFoundError } from "../errors/TrackErrors";
 | 
			
		||||
import { CreateTrack } from '../models/actions/create/CreateTrack';
 | 
			
		||||
import { UpdateTrack } from '../models/actions/update/UpdateTrack';
 | 
			
		||||
@@ -25,9 +25,17 @@ export class TrackController {
 | 
			
		||||
	@Authorized("TRACK:GET")
 | 
			
		||||
	@ResponseSchema(ResponseTrack, { isArray: true })
 | 
			
		||||
	@OpenAPI({ description: 'Lists all tracks.' })
 | 
			
		||||
	async getAll() {
 | 
			
		||||
	async getAll(@QueryParam("page", { required: false }) page: number, @QueryParam("page_size", { required: false }) page_size: number = 100) {
 | 
			
		||||
		let responseTracks: ResponseTrack[] = new Array<ResponseTrack>();
 | 
			
		||||
		const tracks = await this.trackRepository.find();
 | 
			
		||||
		let tracks: Array<Track>;
 | 
			
		||||
 | 
			
		||||
		if (page) {
 | 
			
		||||
			tracks = await this.trackRepository.find({ skip: page * page_size, take: page_size });
 | 
			
		||||
		}
 | 
			
		||||
		else {
 | 
			
		||||
			tracks = await this.trackRepository.find();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		tracks.forEach(track => {
 | 
			
		||||
			responseTracks.push(new ResponseTrack(track));
 | 
			
		||||
		});
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user