ref #205
This commit is contained in:
parent
0fa663a341
commit
f60025b6de
@ -1,6 +1,6 @@
|
|||||||
import { Authorized, Body, Delete, Get, JsonController, OnUndefined, Param, Post, Put, QueryParam } from 'routing-controllers';
|
import { Authorized, Body, Delete, Get, JsonController, OnUndefined, Param, Post, Put, QueryParam } from 'routing-controllers';
|
||||||
import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
|
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 { ScanStationHasScansError, ScanStationIdsNotMatchingError, ScanStationNotFoundError } from '../errors/ScanStationErrors';
|
||||||
import { TrackNotFoundError } from '../errors/TrackErrors';
|
import { TrackNotFoundError } from '../errors/TrackErrors';
|
||||||
import { CreateScanStation } from '../models/actions/create/CreateScanStation';
|
import { CreateScanStation } from '../models/actions/create/CreateScanStation';
|
||||||
@ -26,9 +26,16 @@ export class ScanStationController {
|
|||||||
@Authorized("STATION:GET")
|
@Authorized("STATION:GET")
|
||||||
@ResponseSchema(ResponseScanStation, { isArray: true })
|
@ResponseSchema(ResponseScanStation, { isArray: true })
|
||||||
@OpenAPI({ description: 'Lists all stations. <br> This includes their associated tracks.' })
|
@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>();
|
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 => {
|
stations.forEach(station => {
|
||||||
responseStations.push(station.toResponse());
|
responseStations.push(station.toResponse());
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user