@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
at recaptime-dev/main 40 lines 1.0 kB view raw
1<?php 2 3final class DiffusionRepositoryIdentityDestructionEngineExtension 4 extends PhabricatorDestructionEngineExtension { 5 6 const EXTENSIONKEY = 'repository-identities'; 7 8 public function getExtensionName() { 9 return pht('Repository Identities'); 10 } 11 12 public function didDestroyObject( 13 PhabricatorDestructionEngine $engine, 14 $object) { 15 16 // When users or email addresses are destroyed, queue a task to update 17 // any repository identities that are associated with them. See T13444. 18 19 $related_phids = array(); 20 $email_addresses = array(); 21 22 if ($object instanceof PhabricatorUser) { 23 $related_phids[] = $object->getPHID(); 24 } 25 26 if ($object instanceof PhabricatorUserEmail) { 27 $email_addresses[] = $object->getAddress(); 28 } 29 30 if ($related_phids || $email_addresses) { 31 PhabricatorWorker::scheduleTask( 32 'PhabricatorRepositoryIdentityChangeWorker', 33 array( 34 'relatedPHIDs' => $related_phids, 35 'emailAddresses' => $email_addresses, 36 )); 37 } 38 } 39 40}