Added address check for donors that want a receipt

ref #65
This commit is contained in:
Nicolai Ort 2021-01-02 18:28:22 +01:00
parent becc277123
commit 335d4e24da
2 changed files with 17 additions and 1 deletions

View File

@ -22,4 +22,15 @@ export class DonorIdsNotMatchingError extends NotAcceptableError {
@IsString()
message = "The ids don't match! \n And if you wanted to change a donor's id: This isn't allowed!"
}
/**
* Error to throw when a donor needs a receipt, but no address is associated with them.
*/
export class DonorReceiptAddressNeededError extends NotAcceptableError {
@IsString()
name = "DonorReceiptAddressNeededError"
@IsString()
message = "An address is needed to create a receipt for a donor. \n You didn't provide one."
}

View File

@ -1,4 +1,5 @@
import { IsBoolean, IsOptional } from 'class-validator';
import { DonorReceiptAddressNeededError } from '../../errors/DonorErrors';
import { Donor } from '../entities/Donor';
import { CreateParticipant } from './CreateParticipant';
@ -25,8 +26,12 @@ export class CreateDonor extends CreateParticipant {
newDonor.lastname = this.lastname;
newDonor.phone = this.phone;
newDonor.email = this.email;
newDonor.receiptNeeded = this.receiptNeeded;
newDonor.address = await this.getAddress();
newDonor.receiptNeeded = this.receiptNeeded;
if (this.receiptNeeded == true && this.email == "" && this.address == null) {
throw new DonorReceiptAddressNeededError()
}
return newDonor;
}