33 lines
918 B
TypeScript
33 lines
918 B
TypeScript
import { IsBoolean } from "class-validator";
|
|
import { ChildEntity, Column, OneToMany } from "typeorm";
|
|
import { ResponseDonor } from '../responses/ResponseDonor';
|
|
import { Donation } from './Donation';
|
|
import { Participant } from "./Participant";
|
|
|
|
/**
|
|
* Defines the Donor entity.
|
|
*/
|
|
@ChildEntity()
|
|
export class Donor extends Participant {
|
|
/**
|
|
* Does this donor need a receipt?
|
|
* Will later be used to automaticly generate donation receipts.
|
|
*/
|
|
@Column()
|
|
@IsBoolean()
|
|
receiptNeeded: boolean = false;
|
|
|
|
/**
|
|
* Used to link the participant as the donor of a donation.
|
|
* Attention: Only runner's can be associated as a distanceDonations distance source.
|
|
*/
|
|
@OneToMany(() => Donation, donation => donation.donor, { nullable: true })
|
|
donations: Donation[];
|
|
|
|
/**
|
|
* Turns this entity into it's response class.
|
|
*/
|
|
public toResponse(): ResponseDonor {
|
|
return new ResponseDonor(this);
|
|
}
|
|
} |