Importsources: REST API
This commit is contained in:
parent
75268479ca
commit
3054755e87
|
@ -2,14 +2,47 @@
|
|||
|
||||
namespace Icinga\Module\Director\Controllers;
|
||||
|
||||
use Icinga\Module\Director\DirectorObject\Automation\ImportExport;
|
||||
use Icinga\Module\Director\Web\Table\ImportsourceTable;
|
||||
use Icinga\Module\Director\Web\Controller\ActionController;
|
||||
use Icinga\Module\Director\Web\Tabs\ImportTabs;
|
||||
|
||||
class ImportsourcesController extends ActionController
|
||||
{
|
||||
protected $isApified = true;
|
||||
|
||||
protected function sendUnsupportedMethod()
|
||||
{
|
||||
$method = strtoupper($this->getRequest()->getMethod()) ;
|
||||
$response = $this->getResponse();
|
||||
$this->sendJsonError($response, sprintf(
|
||||
'Method %s is not supported',
|
||||
$method
|
||||
), 422); // TODO: check response code
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws \Icinga\Exception\ConfigurationError
|
||||
* @throws \Icinga\Exception\Http\HttpNotFoundException
|
||||
*/
|
||||
public function indexAction()
|
||||
{
|
||||
if ($this->getRequest()->isApiRequest()) {
|
||||
switch (strtolower($this->getRequest()->getMethod())) {
|
||||
case 'get':
|
||||
throw new \RuntimeException('sdaf');
|
||||
break;
|
||||
case 'post':
|
||||
$this->import($this->getRequest()->getRawBody());
|
||||
break;
|
||||
// TODO: put / replace all?
|
||||
default:
|
||||
$this->sendUnsupportedMethod();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->addTitle($this->translate('Import source'))
|
||||
->setAutoRefreshInterval(10)
|
||||
->addAddLink(
|
||||
|
@ -19,4 +52,15 @@ class ImportsourcesController extends ActionController
|
|||
|
||||
(new ImportsourceTable($this->db()))->renderTo($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws \Icinga\Exception\ConfigurationError
|
||||
*/
|
||||
protected function sendExport()
|
||||
{
|
||||
$this->sendJson(
|
||||
$this->getResponse(),
|
||||
(new ImportExport($this->db()))->serializeAllImportSources()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue