Files
backend/src/models/Runner.ts
2020-12-01 19:27:36 +01:00

33 lines
837 B
TypeScript

import { Entity, Column, OneToMany, ManyToOne } from "typeorm";
import { IsNotEmpty,} from "class-validator";
import { Participant } from "./Participant";
import { RunnerGroup } from "./RunnerGroup";
import { DistanceDonation } from "./DistanceDonation";
import { RunnerCard } from "./RunnerCard";
/**
* Defines a runner.
*/
@Entity()
export class Runner extends Participant {
/**
* The runner's associated group.
*/
@Column()
@IsNotEmpty()
@ManyToOne(() => RunnerGroup, group => group.runners)
group: RunnerGroup;
/**
* Used to link runners to donations.
*/
@OneToMany(() => DistanceDonation, distanceDonation => distanceDonation.runner)
distanceDonations: DistanceDonation[];
/**
* Used to link runners to cards.
*/
@OneToMany(() => RunnerCard, card => card.runner)
cards: RunnerCard[];
}