Correct a parameter order swap in "diffusion.historyquery" for Mercurial
[phabricator.git] / src / applications / packages / xaction / package / PhabricatorPackagesPackageKeyTransaction.php
blob6029b8f4aff14672ad278237e820a2417ee06c27
1 <?php
3 final class PhabricatorPackagesPackageKeyTransaction
4 extends PhabricatorPackagesPackageTransactionType {
6 const TRANSACTIONTYPE = 'packages.package.key';
8 public function generateOldValue($object) {
9 return $object->getPackageKey();
12 public function applyInternalEffects($object, $value) {
13 $object->setPackageKey($value);
16 public function validateTransactions($object, array $xactions) {
17 $errors = array();
19 if ($this->isEmptyTextTransaction($object->getName(), $xactions)) {
20 $errors[] = $this->newRequiredError(
21 pht(
22 'Each package provided by a publisher must have a '.
23 'unique package key.'));
24 return $errors;
27 if (!$this->isNewObject()) {
28 foreach ($xactions as $xaction) {
29 $errors[] = $this->newInvalidError(
30 pht('Once a package is created, its key can not be changed.'),
31 $xaction);
35 foreach ($xactions as $xaction) {
36 $value = $xaction->getNewValue();
37 try {
38 PhabricatorPackagesPackage::assertValidPackageKey($value);
39 } catch (Exception $ex) {
40 $errors[] = $this->newInvalidError($ex->getMessage(), $xaction);
44 return $errors;