1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-24 15:52:41 +01:00
phorge-phorge/src/applications/transactions/exception/PhabricatorApplicationTransactionValidationException.php

44 lines
925 B
PHP
Raw Normal View History

<?php
final class PhabricatorApplicationTransactionValidationException
extends Exception {
private $errors;
public function __construct(array $errors) {
assert_instances_of(
$errors,
'PhabricatorApplicationTransactionValidationError');
$this->errors = $errors;
$message = array();
$message[] = 'Validation errors:';
foreach ($this->errors as $error) {
$message[] = ' - '.$error->getMessage();
}
parent::__construct(implode("\n", $message));
}
public function getErrors() {
return $this->errors;
}
public function getErrorMessages() {
return mpull($this->errors, 'getMessage');
}
public function getShortMessage($type) {
foreach ($this->errors as $error) {
if ($error->getType() === $type) {
if ($error->getShortMessage() !== null) {
return $error->getShortMessage();
}
}
}
return null;
}
}