parent
8079769881
commit
b89f7ac1b4
36
src/models/responses/ResponseSelfServiceDonation.ts
Normal file
36
src/models/responses/ResponseSelfServiceDonation.ts
Normal file
@ -0,0 +1,36 @@
|
||||
import { IsInt, IsNotEmpty, IsPositive } from 'class-validator';
|
||||
import { DistanceDonation } from '../entities/DistanceDonation';
|
||||
|
||||
/**
|
||||
* Defines the runner selfservice donation response.
|
||||
* Why? B/C runner's are not allowed to view all information available to admin users.
|
||||
*/
|
||||
export class ResponseSelfServiceDonation {
|
||||
/**
|
||||
* The donation's donor.
|
||||
*/
|
||||
@IsNotEmpty()
|
||||
donor: string;
|
||||
|
||||
/**
|
||||
* The donation's amount in the smalles unit of your currency (default: euro cent).
|
||||
*/
|
||||
@IsInt()
|
||||
amount: number;
|
||||
|
||||
/**
|
||||
* The donation's amount donated per distance.
|
||||
* The amount the donor set to be donated per kilometer that the runner ran.
|
||||
*/
|
||||
@IsInt()
|
||||
@IsPositive()
|
||||
amountPerDistance: number;
|
||||
|
||||
public constructor(donation: DistanceDonation) {
|
||||
if (!donation.donor.middlename) { this.donor = donation.donor.firstname + " " + donation.donor.lastname; }
|
||||
else { this.donor = donation.donor.firstname + " " + donation.donor.middlename + " " + donation.donor.lastname; }
|
||||
|
||||
this.amountPerDistance = donation.amountPerDistance;
|
||||
this.amount = donation.amount;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user