Implemented deep address validation

ref #105
This commit is contained in:
2021-01-16 20:12:17 +01:00
parent f245840cde
commit 9dc9ce37d8
9 changed files with 83 additions and 2 deletions

View File

@@ -29,7 +29,7 @@ export class CreateDonor extends CreateParticipant {
newDonor.email = this.email;
newDonor.receiptNeeded = this.receiptNeeded;
newDonor.address = this.address;
Address.validate(newDonor.address);
if (this.receiptNeeded == true && Address.isValidAddress(newDonor.address) == false) {
throw new DonorReceiptAddressNeededError()
}

View File

@@ -62,6 +62,7 @@ export class CreateGroupContact {
contact.email = this.email;
contact.phone = this.phone;
contact.address = this.address;
return null;
Address.validate(contact.address);
return contact;
}
}

View File

@@ -3,6 +3,7 @@ import { getConnectionManager } from 'typeorm';
import { RunnerGroupNotFoundError } from '../../../errors/RunnerGroupErrors';
import { RunnerOrganisationWrongTypeError } from '../../../errors/RunnerOrganisationErrors';
import { RunnerTeamNeedsParentError } from '../../../errors/RunnerTeamErrors';
import { Address } from '../../entities/Address';
import { Runner } from '../../entities/Runner';
import { RunnerGroup } from '../../entities/RunnerGroup';
import { CreateParticipant } from './CreateParticipant';
@@ -31,6 +32,7 @@ export class CreateRunner extends CreateParticipant {
newRunner.email = this.email;
newRunner.group = await this.getGroup();
newRunner.address = this.address;
Address.validate(newRunner.address);
return newRunner;
}

View File

@@ -23,6 +23,7 @@ export class CreateRunnerOrganisation extends CreateRunnerGroup {
newRunnerOrganisation.name = this.name;
newRunnerOrganisation.contact = await this.getContact();
newRunnerOrganisation.address = this.address;
Address.validate(newRunnerOrganisation.address);
return newRunnerOrganisation;
}

View File

@@ -35,6 +35,7 @@ export class UpdateDonor extends CreateParticipant {
donor.email = this.email;
donor.receiptNeeded = this.receiptNeeded;
donor.address = this.address;
Address.validate(donor.address);
if (this.receiptNeeded == true && Address.isValidAddress(donor.address) == false) {
throw new DonorReceiptAddressNeededError()
}

View File

@@ -2,6 +2,7 @@ import { IsInt, IsPositive } from 'class-validator';
import { getConnectionManager } from 'typeorm';
import { RunnerGroupNotFoundError } from '../../../errors/RunnerGroupErrors';
import { RunnerTeamNeedsParentError } from '../../../errors/RunnerTeamErrors';
import { Address } from '../../entities/Address';
import { Runner } from '../../entities/Runner';
import { RunnerGroup } from '../../entities/RunnerGroup';
import { CreateParticipant } from '../create/CreateParticipant';
@@ -36,6 +37,7 @@ export class UpdateRunner extends CreateParticipant {
runner.email = this.email;
runner.group = await this.getGroup();
runner.address = this.address;
Address.validate(runner.address);
return runner;
}

View File

@@ -30,6 +30,7 @@ export class UpdateRunnerOrganisation extends CreateRunnerGroup {
organisation.name = this.name;
organisation.contact = await this.getContact();
organisation.address = this.address;
Address.validate(organisation.address);
return organisation;
}