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 { ScanStationHasScansError, ScanStationIdsNotMatchingError, ScanStationNotFoundError } from '../errors/ScanStationErrors';
 | 
			
		||||
import { TrackNotFoundError } from '../errors/TrackErrors';
 | 
			
		||||
import { CreateScanStation } from '../models/actions/create/CreateScanStation';
 | 
			
		||||
@@ -26,9 +26,16 @@ export class ScanStationController {
 | 
			
		||||
	@Authorized("STATION:GET")
 | 
			
		||||
	@ResponseSchema(ResponseScanStation, { isArray: true })
 | 
			
		||||
	@OpenAPI({ description: 'Lists all stations. <br> This includes their associated tracks.' })
 | 
			
		||||
	async getAll() {
 | 
			
		||||
	async getAll(@QueryParam("page", { required: false }) page: number, @QueryParam("page_size", { required: false }) page_size: number = 100) {
 | 
			
		||||
		let responseStations: ResponseScanStation[] = new Array<ResponseScanStation>();
 | 
			
		||||
		const stations = await this.stationRepository.find({ relations: ['track'] });
 | 
			
		||||
		let stations: Array<ScanStation>;
 | 
			
		||||
 | 
			
		||||
		if (page) {
 | 
			
		||||
			stations = await this.stationRepository.find({ relations: ['track'], skip: page * page_size, take: page_size });
 | 
			
		||||
		} else {
 | 
			
		||||
			stations = await this.stationRepository.find({ relations: ['track'] });
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		stations.forEach(station => {
 | 
			
		||||
			responseStations.push(station.toResponse());
 | 
			
		||||
		});
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user