diff --git a/rest/index.php b/rest/index.php index 24a377a3e3fa4b1d31b2ae5077266faa9b198f07..7044ce7833271654e67deea19ccc81ae0655d5f6 100755 --- a/rest/index.php +++ b/rest/index.php @@ -126,6 +126,7 @@ $app->post('/doctypes/secondLevel', \Doctype\controllers\SecondLevelController:: $app->get('/doctypes/secondLevel/{id}', \Doctype\controllers\SecondLevelController::class . ':getById'); $app->put('/doctypes/secondLevel/{id}', \Doctype\controllers\SecondLevelController::class . ':update'); $app->delete('/doctypes/secondLevel/{id}', \Doctype\controllers\SecondLevelController::class . ':delete'); +$app->get('/doctypes/types', \Doctype\controllers\DoctypeController::class . ':get'); $app->post('/doctypes/types', \Doctype\controllers\DoctypeController::class . ':create'); $app->get('/doctypes/types/{id}', \Doctype\controllers\DoctypeController::class . ':getById'); $app->put('/doctypes/types/{id}', \Doctype\controllers\DoctypeController::class . ':update'); diff --git a/src/app/doctype/controllers/DoctypeController.php b/src/app/doctype/controllers/DoctypeController.php index 8f2070f61cd9fd31ae268607b68cea1685bd678a..23b7c37203d866082791e9f16836f1e3c2285767 100644 --- a/src/app/doctype/controllers/DoctypeController.php +++ b/src/app/doctype/controllers/DoctypeController.php @@ -27,12 +27,17 @@ use Resource\models\ResModel; class DoctypeController { - public function getById(Request $request, Response $response, $aArgs) + public function get(Request $request, Response $response) + { + $doctypes = DoctypeModel::get(); + + return $response->withJson(['doctypes' => $doctypes]); + } + + public function getById(Request $request, Response $response, array $aArgs) { if (!Validator::intVal()->validate($aArgs['id']) || !Validator::notEmpty()->validate($aArgs['id'])) { - return $response - ->withStatus(500) - ->withJson(['errors' => 'wrong format for id']); + return $response->withStatus(500)->withJson(['errors' => 'wrong format for id']); } $obj['doctype'] = DoctypeModel::getById(['id' => $aArgs['id']]); @@ -44,7 +49,7 @@ class DoctypeController $obj['doctype']['enabled'] = false; } } - + $doctypeExt = DoctypeExtModel::getById(['id' => $obj['doctype']['type_id']]); $template = TemplateDoctypeModel::getById(["id" => $obj['doctype']['type_id']]); diff --git a/src/app/doctype/models/DoctypeModelAbstract.php b/src/app/doctype/models/DoctypeModelAbstract.php index f45b3156584f4d39dff799964970f8151fb29e20..f686dac496f1679a23c08cc133b519e17581962c 100644 --- a/src/app/doctype/models/DoctypeModelAbstract.php +++ b/src/app/doctype/models/DoctypeModelAbstract.php @@ -32,7 +32,7 @@ class DoctypeModelAbstract return $firstLevel; } - public static function getById(array $aArgs = []) + public static function getById(array $aArgs) { ValidatorModel::notEmpty($aArgs, ['id']); ValidatorModel::intVal($aArgs, ['id']); @@ -50,9 +50,7 @@ class DoctypeModelAbstract return []; } - $aReturn = $aReturn[0]; - - return $aReturn; + return $aReturn[0]; } public static function create(array $aArgs) diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php index be33b7c0f9a61d54863914e5ba6dca107de3dc67..51b34a439c829a62c33ce9ab2ec65d81a7f518f8 100755 --- a/src/app/resource/controllers/ResController.php +++ b/src/app/resource/controllers/ResController.php @@ -67,6 +67,18 @@ class ResController return $response->withStatus(400)->withJson(['errors' => 'Bad Request']); } + $mandatoryColumns = ['type_id']; + foreach ($data['data'] as $value) { + foreach ($mandatoryColumns as $columnKey => $column) { + if ($column == $value['column']) { + unset($mandatoryColumns[$columnKey]); + } + } + } + if (!empty($mandatoryColumns)) { + return $response->withStatus(400)->withJson(['errors' => 'Data array needs column(s) [' . implode(', ', $mandatoryColumns) . ']']); + } + $resId = StoreController::storeResource($data); if (empty($resId) || !empty($resId['errors'])) {