mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-03 02:18:24 +01:00
4bba3fd4c1
Summary: Ref T9979. Convert all DestructionEngine behaviors to extensions. Test Plan: {F1033244} Destroyed an object, verifying: - Herald transcripts were destroyed; - edges were destroyed; - flags were destroyed; - tokens were destroyed; - transactions were destroyed; - worker tasks were cancelled. Reviewers: chad Reviewed By: chad Maniphest Tasks: T9979 Differential Revision: https://secure.phabricator.com/D14832
31 lines
658 B
PHP
31 lines
658 B
PHP
<?php
|
|
|
|
final class PhabricatorTokenDestructionEngineExtension
|
|
extends PhabricatorDestructionEngineExtension {
|
|
|
|
const EXTENSIONKEY = 'tokens';
|
|
|
|
public function getExtensionName() {
|
|
return pht('Tokens');
|
|
}
|
|
|
|
public function canDestroyObject(
|
|
PhabricatorDestructionEngine $engine,
|
|
$object) {
|
|
return ($object instanceof PhabricatorTokenReceiverInterface);
|
|
}
|
|
|
|
public function destroyObject(
|
|
PhabricatorDestructionEngine $engine,
|
|
$object) {
|
|
|
|
$tokens = id(new PhabricatorTokenGiven())->loadAllWhere(
|
|
'objectPHID = %s',
|
|
$object->getPHID());
|
|
|
|
foreach ($tokens as $token) {
|
|
$token->delete();
|
|
}
|
|
}
|
|
|
|
}
|