From a6222a80251168153dd82b69a9eb65be87aaf3a8 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 1 Dec 2020 19:20:27 +0100 Subject: [PATCH] Added relations for runners ref #11 --- src/models/Runner.ts | 7 +++++-- src/models/RunnerGroup.ts | 9 ++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/models/Runner.ts b/src/models/Runner.ts index 21af21a..49ce643 100644 --- a/src/models/Runner.ts +++ b/src/models/Runner.ts @@ -1,4 +1,4 @@ -import { Entity, Column, OneToMany } from "typeorm"; +import { Entity, Column, OneToMany, ManyToOne } from "typeorm"; import { IsNotEmpty,} from "class-validator"; import { Participant } from "./Participant"; import { RunnerGroup } from "./RunnerGroup"; @@ -14,9 +14,12 @@ export class Runner extends Participant { */ @Column() @IsNotEmpty() - //TODO:Relation + @ManyToOne(() => RunnerGroup, group => group.runners) group: RunnerGroup; + /** + * Used to link runners to donations. + */ @OneToMany(() => DistanceDonation, distanceDonation => distanceDonation.runner) distanceDonations: DistanceDonation[]; } diff --git a/src/models/RunnerGroup.ts b/src/models/RunnerGroup.ts index 08ea35d..d619e2f 100644 --- a/src/models/RunnerGroup.ts +++ b/src/models/RunnerGroup.ts @@ -1,4 +1,4 @@ -import { PrimaryGeneratedColumn, Column } from "typeorm"; +import { PrimaryGeneratedColumn, Column, OneToMany } from "typeorm"; import { IsInt, IsNotEmpty, @@ -6,6 +6,7 @@ import { IsString, } from "class-validator"; import { GroupContact } from "./GroupContact"; +import { Runner } from "./Runner"; /** * Defines the runnerGroup interface. @@ -35,4 +36,10 @@ export abstract class RunnerGroup { @IsOptional() //TODO: Relationship contact?: GroupContact; + + /** + * Used to link runners to a runner group. + */ + @OneToMany(() => Runner, runner => runner.group) + runners: Runner[]; } \ No newline at end of file