Create route to get json schema to validate config

Fix visibility
Make compatible with php 7.2
Remove returing instance
Increase coverage
Reduce psalm info
Throw exception if system not defined
Increment coverage

Signed-off-by: Vitor Mattos <vitor@php.rio>
This commit is contained in:
Vitor Mattos
2021-07-17 08:34:44 -03:00
committed by Julius Härtl
parent 4138953208
commit e01e4cf1a7
10 changed files with 245 additions and 176 deletions

View File

@@ -36,10 +36,10 @@ class BoardImportApiController extends ApiController {
private $userId;
public function __construct(
$appName,
string $appName,
IRequest $request,
BoardImportService $boardImportService,
$userId
string $userId
) {
parent::__construct($appName, $request);
$this->boardImportService = $boardImportService;
@@ -51,7 +51,7 @@ class BoardImportApiController extends ApiController {
* @CORS
* @NoCSRFRequired
*/
public function import($system, $config, $data) {
public function import(string $system, array $config, array $data): DataResponse {
$this->boardImportService->setSystem($system);
$config = json_decode(json_encode($config));
$config->owner = $this->userId;
@@ -67,8 +67,20 @@ class BoardImportApiController extends ApiController {
* @CORS
* @NoCSRFRequired
*/
public function getAllowedSystems() {
public function getAllowedSystems(): DataResponse {
$allowedSystems = $this->boardImportService->getAllowedImportSystems();
return new DataResponse($allowedSystems, Http::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*/
public function getConfigSchema(string $name): DataResponse {
$this->boardImportService->setSystem($name);
$this->boardImportService->validateSystem();
$jsonSchemaPath = json_decode(file_get_contents($this->boardImportService->getJsonSchemaPath()));
return new DataResponse($jsonSchemaPath, Http::STATUS_OK);
}
}