merge dev to main #208
@ -52,7 +52,7 @@ export class RunnerOrganizationController {
|
|||||||
@OnUndefined(RunnerOrganizationNotFoundError)
|
@OnUndefined(RunnerOrganizationNotFoundError)
|
||||||
@OpenAPI({ description: 'Lists all information about the organization whose id got provided.' })
|
@OpenAPI({ description: 'Lists all information about the organization whose id got provided.' })
|
||||||
async getOne(@Param('id') id: number) {
|
async getOne(@Param('id') id: number) {
|
||||||
let runnerOrg = await this.runnerOrganizationRepository.findOne({ id: id }, { relations: ['contact', 'teams'] });
|
let runnerOrg = await this.runnerOrganizationRepository.findOne({ id: id }, { relations: ['contact', 'teams', 'runners', 'runners.scans', 'runners.scans.track'] });
|
||||||
if (!runnerOrg) { throw new RunnerOrganizationNotFoundError(); }
|
if (!runnerOrg) { throw new RunnerOrganizationNotFoundError(); }
|
||||||
return new ResponseRunnerOrganization(runnerOrg);
|
return new ResponseRunnerOrganization(runnerOrg);
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ export class RunnerTeamController {
|
|||||||
@OnUndefined(RunnerTeamNotFoundError)
|
@OnUndefined(RunnerTeamNotFoundError)
|
||||||
@OpenAPI({ description: 'Lists all information about the team whose id got provided.' })
|
@OpenAPI({ description: 'Lists all information about the team whose id got provided.' })
|
||||||
async getOne(@Param('id') id: number) {
|
async getOne(@Param('id') id: number) {
|
||||||
let runnerTeam = await this.runnerTeamRepository.findOne({ id: id }, { relations: ['parentGroup', 'contact'] });
|
let runnerTeam = await this.runnerTeamRepository.findOne({ id: id }, { relations: ['parentGroup', 'contact', 'runners', 'runners.scans', 'runners.scans.track'] });
|
||||||
if (!runnerTeam) { throw new RunnerTeamNotFoundError(); }
|
if (!runnerTeam) { throw new RunnerTeamNotFoundError(); }
|
||||||
return new ResponseRunnerTeam(runnerTeam);
|
return new ResponseRunnerTeam(runnerTeam);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IsInt, IsNotEmpty, IsObject, IsOptional, IsString } from "class-validator";
|
import { IsInt, IsNotEmpty, IsNumber, IsObject, IsOptional, IsString } from "class-validator";
|
||||||
import { RunnerGroup } from '../entities/RunnerGroup';
|
import { RunnerGroup } from '../entities/RunnerGroup';
|
||||||
import { ResponseObjectType } from '../enums/ResponseObjectType';
|
import { ResponseObjectType } from '../enums/ResponseObjectType';
|
||||||
import { IResponse } from './IResponse';
|
import { IResponse } from './IResponse';
|
||||||
@ -36,6 +36,10 @@ export abstract class ResponseRunnerGroup implements IResponse {
|
|||||||
@IsOptional()
|
@IsOptional()
|
||||||
contact?: ResponseGroupContact;
|
contact?: ResponseGroupContact;
|
||||||
|
|
||||||
|
@IsOptional()
|
||||||
|
@IsNumber()
|
||||||
|
total_distance: number
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a ResponseRunnerGroup object from a runnerGroup.
|
* Creates a ResponseRunnerGroup object from a runnerGroup.
|
||||||
* @param group The runnerGroup the response shall be build for.
|
* @param group The runnerGroup the response shall be build for.
|
||||||
@ -44,5 +48,7 @@ export abstract class ResponseRunnerGroup implements IResponse {
|
|||||||
this.id = group.id;
|
this.id = group.id;
|
||||||
this.name = group.name;
|
this.name = group.name;
|
||||||
if (group.contact) { this.contact = group.contact.toResponse(); };
|
if (group.contact) { this.contact = group.contact.toResponse(); };
|
||||||
|
console.log(group.runners)
|
||||||
|
if (group.runners) { this.total_distance = group.runners.reduce((p, c) => p + c.distance, 0) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user