38 lines
888 B
TypeScript
38 lines
888 B
TypeScript
import { IsInt, IsNotEmpty, IsPositive } from "class-validator";
|
|
import { Donation } from '../entities/Donation';
|
|
import { ResponseDonor } from './ResponseDonor';
|
|
|
|
/**
|
|
* Defines the donation response interface.
|
|
*/
|
|
export abstract class IResponseDonation {
|
|
/**
|
|
* The donation's id.
|
|
*/
|
|
@IsInt()
|
|
@IsPositive()
|
|
id: number;
|
|
|
|
/**
|
|
* The donation's donor.
|
|
*/
|
|
@IsNotEmpty()
|
|
donor: ResponseDonor;
|
|
|
|
/**
|
|
* The donation's amount in the smalles unit of your currency (default: euro cent).
|
|
*/
|
|
@IsInt()
|
|
amount: number;
|
|
|
|
/**
|
|
* Creates a IResponseDonation object from a scan.
|
|
* @param donation The donation the response shall be build for.
|
|
*/
|
|
public constructor(donation: Donation) {
|
|
this.id = donation.id;
|
|
this.donor = donation.donor.toResponse();
|
|
this.amount = donation.amount;
|
|
}
|
|
}
|