mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-25 00:02:41 +01:00
2022a70e16
Summary: Ref T4749. Ref T3265. Ref T4909. Several goals here: - Move user destruction to the CLI to limit the power of rogue admins. - Start consolidating all "destroy named object" scripts into a single UI, to make it easier to know how to destroy things. - Structure object destruction so we can do a better and more automatic job of cleaning up transactions, edges, search indexes, etc. - Log when we destroy objects so there's a record if data goes missing. Test Plan: Used `bin/remove destroy` to destroy several users. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T3265, T4749, T4909 Differential Revision: https://secure.phabricator.com/D8940
21 lines
583 B
PHP
Executable file
21 lines
583 B
PHP
Executable file
#!/usr/bin/env php
|
|
<?php
|
|
|
|
$root = dirname(dirname(dirname(__FILE__)));
|
|
require_once $root.'/scripts/__init_script__.php';
|
|
|
|
$args = new PhutilArgumentParser($argv);
|
|
$args->setTagline('remove objects');
|
|
$args->setSynopsis(<<<EOSYNOPSIS
|
|
**remove** __command__ [__options__]
|
|
Administrative tool for destroying objects permanently.
|
|
|
|
EOSYNOPSIS
|
|
);
|
|
$args->parseStandardArguments();
|
|
|
|
$workflows = id(new PhutilSymbolLoader())
|
|
->setAncestorClass('PhabricatorSystemRemoveWorkflow')
|
|
->loadObjects();
|
|
$workflows[] = new PhutilHelpArgumentWorkflow();
|
|
$args->parseWorkflows($workflows);
|