Changes to make possible implement api endpoint

Update documentation
Start implementing getSystems route
Code to route getSystems
Controller to board import
Change return
Increase coverage

Signed-off-by: Vitor Mattos <vitor@php.rio>
This commit is contained in:
Vitor Mattos
2021-07-16 00:44:45 -03:00
committed by Julius Härtl
parent 39a927de18
commit 4138953208
15 changed files with 511 additions and 354 deletions

View File

@@ -24,18 +24,26 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Service\BoardImportService;
use OCA\Files\Controller\ApiController;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
class BoardImportApiController extends ApiController {
/** @var BoardImportService */
private $boardImportService;
/** @var string */
private $userId;
public function __construct(
BoardImportService $boardImportService
$appName,
IRequest $request,
BoardImportService $boardImportService,
$userId
) {
parent::__construct($appName, $request);
$this->boardImportService = $boardImportService;
$this->userId = $userId;
}
/**
@@ -44,7 +52,23 @@ class BoardImportApiController extends ApiController {
* @NoCSRFRequired
*/
public function import($system, $config, $data) {
$board = $this->boardImportService->import($system, $config, $data);
return new DataResponse($board, Http::STATUS_OK);
$this->boardImportService->setSystem($system);
$config = json_decode(json_encode($config));
$config->owner = $this->userId;
$this->boardImportService->setConfigInstance($config);
$this->boardImportService->setData(json_decode(json_encode($data)));
$this->boardImportService->validate();
$this->boardImportService->import();
return new DataResponse($this->boardImportService->getBoard(), Http::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*/
public function getAllowedSystems() {
$allowedSystems = $this->boardImportService->getAllowedImportSystems();
return new DataResponse($allowedSystems, Http::STATUS_OK);
}
}