47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { IsInt, IsNotEmpty, IsPositive } from "class-validator";
 | |
| import { Donation } from '../entities/Donation';
 | |
| import { ResponseObjectType } from '../enums/ResponseObjectType';
 | |
| import { IResponse } from './IResponse';
 | |
| import { ResponseDonor } from './ResponseDonor';
 | |
| 
 | |
| /**
 | |
|  * Defines the donation response.
 | |
| */
 | |
| export class ResponseDonation implements IResponse {
 | |
| 
 | |
|     /**
 | |
|     * The responseType.
 | |
|     * This contains the type of class/entity this response contains.
 | |
|     */
 | |
|     responseType: ResponseObjectType = ResponseObjectType.DONATION;
 | |
| 
 | |
|     /**
 | |
|      * 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 ResponseDonation 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;
 | |
|     }
 | |
| }
 |