Implemented the second round of the toResponse normalisationf for all classes
ref #67
This commit is contained in:
parent
58156e0d61
commit
2cad2ac2e9
@ -80,4 +80,11 @@ export class Address {
|
|||||||
*/
|
*/
|
||||||
@OneToMany(() => IAddressUser, addressUser => addressUser.address, { nullable: true })
|
@OneToMany(() => IAddressUser, addressUser => addressUser.address, { nullable: true })
|
||||||
addressUsers: IAddressUser[];
|
addressUsers: IAddressUser[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public toResponse() {
|
||||||
|
return new Error("NotImplemented");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,4 +39,11 @@ export class DistanceDonation extends Donation {
|
|||||||
}
|
}
|
||||||
return calculatedAmount;
|
return calculatedAmount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public toResponse() {
|
||||||
|
return new Error("NotImplemented");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,4 +32,11 @@ export abstract class Donation {
|
|||||||
* The exact implementation may differ for each type of donation.
|
* The exact implementation may differ for each type of donation.
|
||||||
*/
|
*/
|
||||||
abstract amount: number;
|
abstract amount: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public toResponse() {
|
||||||
|
return new Error("NotImplemented");
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,5 +1,6 @@
|
|||||||
import { IsBoolean } from "class-validator";
|
import { IsBoolean } from "class-validator";
|
||||||
import { ChildEntity, Column, OneToMany } from "typeorm";
|
import { ChildEntity, Column, OneToMany } from "typeorm";
|
||||||
|
import { ResponseDonor } from '../responses/ResponseDonor';
|
||||||
import { Donation } from './Donation';
|
import { Donation } from './Donation';
|
||||||
import { Participant } from "./Participant";
|
import { Participant } from "./Participant";
|
||||||
|
|
||||||
@ -22,4 +23,11 @@ export class Donor extends Participant {
|
|||||||
*/
|
*/
|
||||||
@OneToMany(() => Donation, donation => donation.donor, { nullable: true })
|
@OneToMany(() => Donation, donation => donation.donor, { nullable: true })
|
||||||
donations: Donation[];
|
donations: Donation[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public toResponse(): ResponseDonor {
|
||||||
|
return new ResponseDonor(this);
|
||||||
|
}
|
||||||
}
|
}
|
@ -16,4 +16,11 @@ export class FixedDonation extends Donation {
|
|||||||
@IsInt()
|
@IsInt()
|
||||||
@IsPositive()
|
@IsPositive()
|
||||||
amount: number;
|
amount: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public toResponse() {
|
||||||
|
return new Error("NotImplemented");
|
||||||
|
}
|
||||||
}
|
}
|
@ -81,4 +81,11 @@ export class GroupContact implements IAddressUser {
|
|||||||
*/
|
*/
|
||||||
@OneToMany(() => RunnerGroup, group => group.contact, { nullable: true })
|
@OneToMany(() => RunnerGroup, group => group.contact, { nullable: true })
|
||||||
groups: RunnerGroup[];
|
groups: RunnerGroup[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public toResponse() {
|
||||||
|
return new Error("NotImplemented");
|
||||||
|
}
|
||||||
}
|
}
|
@ -12,4 +12,9 @@ export abstract class IAddressUser {
|
|||||||
|
|
||||||
@ManyToOne(() => Address, address => address.addressUsers, { nullable: true })
|
@ManyToOne(() => Address, address => address.addressUsers, { nullable: true })
|
||||||
address?: Address
|
address?: Address
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public abstract toResponse();
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ import {
|
|||||||
} from "class-validator";
|
} from "class-validator";
|
||||||
import { Column, Entity, ManyToOne, PrimaryGeneratedColumn, TableInheritance } from "typeorm";
|
import { Column, Entity, ManyToOne, PrimaryGeneratedColumn, TableInheritance } from "typeorm";
|
||||||
import { config } from '../../config';
|
import { config } from '../../config';
|
||||||
|
import { ResponseParticipant } from '../responses/ResponseParticipant';
|
||||||
import { Address } from "./Address";
|
import { Address } from "./Address";
|
||||||
import { IAddressUser } from './IAddressUser';
|
import { IAddressUser } from './IAddressUser';
|
||||||
|
|
||||||
@ -74,4 +75,9 @@ export abstract class Participant implements IAddressUser {
|
|||||||
@IsOptional()
|
@IsOptional()
|
||||||
@IsEmail()
|
@IsEmail()
|
||||||
email?: string;
|
email?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public abstract toResponse(): ResponseParticipant;
|
||||||
}
|
}
|
@ -6,6 +6,7 @@ import {
|
|||||||
import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
|
import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
|
||||||
import { PermissionAction } from '../enums/PermissionAction';
|
import { PermissionAction } from '../enums/PermissionAction';
|
||||||
import { PermissionTarget } from '../enums/PermissionTargets';
|
import { PermissionTarget } from '../enums/PermissionTargets';
|
||||||
|
import { ResponsePermission } from '../responses/ResponsePermission';
|
||||||
import { Principal } from './Principal';
|
import { Principal } from './Principal';
|
||||||
/**
|
/**
|
||||||
* Defines the Permission entity.
|
* Defines the Permission entity.
|
||||||
@ -51,4 +52,11 @@ export class Permission {
|
|||||||
public toString(): string {
|
public toString(): string {
|
||||||
return this.target + ":" + this.action;
|
return this.target + ":" + this.action;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public toResponse(): ResponsePermission {
|
||||||
|
return new ResponsePermission(this);
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,5 +1,6 @@
|
|||||||
import { IsInt, IsNotEmpty } from "class-validator";
|
import { IsInt, IsNotEmpty } from "class-validator";
|
||||||
import { ChildEntity, ManyToOne, OneToMany } from "typeorm";
|
import { ChildEntity, ManyToOne, OneToMany } from "typeorm";
|
||||||
|
import { ResponseRunner } from '../responses/ResponseRunner';
|
||||||
import { DistanceDonation } from "./DistanceDonation";
|
import { DistanceDonation } from "./DistanceDonation";
|
||||||
import { Participant } from "./Participant";
|
import { Participant } from "./Participant";
|
||||||
import { RunnerCard } from "./RunnerCard";
|
import { RunnerCard } from "./RunnerCard";
|
||||||
@ -66,4 +67,11 @@ export class Runner extends Participant {
|
|||||||
public get distanceDonationAmount(): number {
|
public get distanceDonationAmount(): number {
|
||||||
return this.distanceDonations.reduce((sum, current) => sum + current.amountPerDistance, 0) * this.distance;
|
return this.distanceDonations.reduce((sum, current) => sum + current.amountPerDistance, 0) * this.distance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public toResponse(): ResponseRunner {
|
||||||
|
return new ResponseRunner(this);
|
||||||
|
}
|
||||||
}
|
}
|
@ -57,4 +57,11 @@ export class RunnerCard {
|
|||||||
*/
|
*/
|
||||||
@OneToMany(() => TrackScan, scan => scan.track, { nullable: true })
|
@OneToMany(() => TrackScan, scan => scan.track, { nullable: true })
|
||||||
scans: TrackScan[];
|
scans: TrackScan[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public toResponse() {
|
||||||
|
return new Error("NotImplemented");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import {
|
|||||||
IsString
|
IsString
|
||||||
} from "class-validator";
|
} from "class-validator";
|
||||||
import { Column, Entity, ManyToOne, OneToMany, PrimaryGeneratedColumn, TableInheritance } from "typeorm";
|
import { Column, Entity, ManyToOne, OneToMany, PrimaryGeneratedColumn, TableInheritance } from "typeorm";
|
||||||
|
import { ResponseRunnerGroup } from '../responses/ResponseRunnerGroup';
|
||||||
import { GroupContact } from "./GroupContact";
|
import { GroupContact } from "./GroupContact";
|
||||||
import { Runner } from "./Runner";
|
import { Runner } from "./Runner";
|
||||||
|
|
||||||
@ -60,4 +61,9 @@ export abstract class RunnerGroup {
|
|||||||
public get distanceDonationAmount(): number {
|
public get distanceDonationAmount(): number {
|
||||||
return this.runners.reduce((sum, current) => sum + current.distanceDonationAmount, 0);
|
return this.runners.reduce((sum, current) => sum + current.distanceDonationAmount, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turns this entity into it's response class.
|
||||||
|
*/
|
||||||
|
public abstract toResponse(): ResponseRunnerGroup;
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user