fix default respone generation

This commit is contained in:
Dennis Eichhorn 2023-07-26 09:18:05 +00:00
parent 56271ecf8c
commit 15ce137448

View File

@ -43,10 +43,8 @@ use phpOMS\Localization\BaseStringL11n;
use phpOMS\Localization\ISO639x1Enum; use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Message\Http\HttpResponse; use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Message\NotificationLevel;
use phpOMS\Message\RequestAbstract; use phpOMS\Message\RequestAbstract;
use phpOMS\Message\ResponseAbstract; use phpOMS\Message\ResponseAbstract;
use phpOMS\Model\Message\FormValidation;
use phpOMS\Utils\Parser\Markdown\Markdown; use phpOMS\Utils\Parser\Markdown\Markdown;
/** /**
@ -96,8 +94,8 @@ final class ApiController extends Controller
public function apiTaskCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiTaskCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
if (!empty($val = $this->validateTaskCreate($request))) { if (!empty($val = $this->validateTaskCreate($request))) {
$response->data[$request->uri->__toString()] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400;
$response->header->status = RequestStatusCode::R_400; $this->createInvalidCreateResponse($request, $response, $val);
return; return;
} }
@ -112,14 +110,7 @@ final class ApiController extends Controller
$this->createTaskMedia($task, $request); $this->createTaskMedia($task, $request);
} }
$this->fillJsonResponse( $this->createStandardCreateResponse($request, $response, $task);
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulCreate'),
$task
);
} }
/** /**
@ -352,7 +343,7 @@ final class ApiController extends Controller
{ {
/** @var Task $task */ /** @var Task $task */
$task = TaskMapper::get()->where('id', (int) $request->getData('id'))->execute(); $task = TaskMapper::get()->where('id', (int) $request->getData('id'))->execute();
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Task', 'Task successfully returned.', $task); $this->createStandardReturnResponse($request, $response, $task);
} }
/** /**
@ -381,14 +372,7 @@ final class ApiController extends Controller
$this->app->eventManager->triggerSimilar($new->trigger, '', $new); $this->app->eventManager->triggerSimilar($new->trigger, '', $new);
} }
$this->fillJsonResponse( $this->createStandardUpdateResponse($request, $response, $new);
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulUpdate'),
$new
);
} }
/** /**
@ -453,8 +437,8 @@ final class ApiController extends Controller
public function apiTaskElementCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiTaskElementCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
if (!empty($val = $this->validateTaskElementCreate($request))) { if (!empty($val = $this->validateTaskElementCreate($request))) {
$response->data['task_element_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400;
$response->header->status = RequestStatusCode::R_400; $this->createInvalidCreateResponse($request, $response, $val);
return; return;
} }
@ -486,14 +470,7 @@ final class ApiController extends Controller
$this->app->eventManager->triggerSimilar($task->trigger, '', $task); $this->app->eventManager->triggerSimilar($task->trigger, '', $task);
} }
$this->fillJsonResponse( $this->createStandardCreateResponse($request, $response, $element);
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulCreate'),
$element
);
} }
/** /**
@ -678,7 +655,7 @@ final class ApiController extends Controller
{ {
/** @var TaskElement $task */ /** @var TaskElement $task */
$task = TaskElementMapper::get()->where('id', (int) $request->getData('id'))->execute(); $task = TaskElementMapper::get()->where('id', (int) $request->getData('id'))->execute();
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Task element', 'Task element successfully returned.', $task); $this->createStandardReturnResponse($request, $response, $task);
} }
/** /**
@ -721,14 +698,7 @@ final class ApiController extends Controller
} }
} }
$this->fillJsonResponse( $this->createStandardUpdateResponse($request, $response, $new);
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulUpdate'),
$new
);
} }
/** /**
@ -784,23 +754,15 @@ final class ApiController extends Controller
public function apiTaskAttributeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiTaskAttributeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
if (!empty($val = $this->validateTaskAttributeCreate($request))) { if (!empty($val = $this->validateTaskAttributeCreate($request))) {
$response->data['attribute_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400;
$response->header->status = RequestStatusCode::R_400; $this->createInvalidCreateResponse($request, $response, $val);
return; return;
} }
$attribute = $this->createTaskAttributeFromRequest($request); $attribute = $this->createTaskAttributeFromRequest($request);
$this->createModel($request->header->account, $attribute, TaskAttributeMapper::class, 'attribute', $request->getOrigin()); $this->createModel($request->header->account, $attribute, TaskAttributeMapper::class, 'attribute', $request->getOrigin());
$this->createStandardCreateResponse($request, $response, $attribute);
$this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulCreate'),
$attribute
);
} }
/** /**
@ -870,23 +832,15 @@ final class ApiController extends Controller
public function apiTaskAttributeTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiTaskAttributeTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
if (!empty($val = $this->validateTaskAttributeTypeL11nCreate($request))) { if (!empty($val = $this->validateTaskAttributeTypeL11nCreate($request))) {
$response->data['attr_type_l11n_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400;
$response->header->status = RequestStatusCode::R_400; $this->createInvalidCreateResponse($request, $response, $val);
return; return;
} }
$attrL11n = $this->createTaskAttributeTypeL11nFromRequest($request); $attrL11n = $this->createTaskAttributeTypeL11nFromRequest($request);
$this->createModel($request->header->account, $attrL11n, TaskAttributeTypeL11nMapper::class, 'attr_type_l11n', $request->getOrigin()); $this->createModel($request->header->account, $attrL11n, TaskAttributeTypeL11nMapper::class, 'attr_type_l11n', $request->getOrigin());
$this->createStandardCreateResponse($request, $response, $attrL11n);
$this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulCreate'),
$attrL11n
);
} }
/** /**
@ -947,23 +901,15 @@ final class ApiController extends Controller
public function apiTaskAttributeTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiTaskAttributeTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
if (!empty($val = $this->validateTaskAttributeTypeCreate($request))) { if (!empty($val = $this->validateTaskAttributeTypeCreate($request))) {
$response->data['attr_type_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400;
$response->header->status = RequestStatusCode::R_400; $this->createInvalidCreateResponse($request, $response, $val);
return; return;
} }
$attrType = $this->createTaskAttributeTypeFromRequest($request); $attrType = $this->createTaskAttributeTypeFromRequest($request);
$this->createModel($request->header->account, $attrType, TaskAttributeTypeMapper::class, 'attr_type', $request->getOrigin()); $this->createModel($request->header->account, $attrType, TaskAttributeTypeMapper::class, 'attr_type', $request->getOrigin());
$this->createStandardCreateResponse($request, $response, $attrType);
$this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulCreate'),
$attrType
);
} }
/** /**
@ -981,7 +927,7 @@ final class ApiController extends Controller
$attrType->setL11n($request->getDataString('title') ?? '', $request->getDataString('language') ?? ISO639x1Enum::_EN); $attrType->setL11n($request->getDataString('title') ?? '', $request->getDataString('language') ?? ISO639x1Enum::_EN);
$attrType->setFields($request->getDataInt('fields') ?? 0); $attrType->setFields($request->getDataInt('fields') ?? 0);
$attrType->custom = $request->getDataBool('custom') ?? false; $attrType->custom = $request->getDataBool('custom') ?? false;
$attrType->isRequired = (bool) ($request->getData('is_required') ?? false); $attrType->isRequired = $request->getDataBool('is_required') ?? false;
$attrType->validationPattern = $request->getDataString('validation_pattern') ?? ''; $attrType->validationPattern = $request->getDataString('validation_pattern') ?? '';
return $attrType; return $attrType;
@ -1024,8 +970,8 @@ final class ApiController extends Controller
public function apiTaskAttributeValueCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiTaskAttributeValueCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
if (!empty($val = $this->validateTaskAttributeValueCreate($request))) { if (!empty($val = $this->validateTaskAttributeValueCreate($request))) {
$response->data['attr_value_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400;
$response->header->status = RequestStatusCode::R_400; $this->createInvalidCreateResponse($request, $response, $val);
return; return;
} }
@ -1042,14 +988,7 @@ final class ApiController extends Controller
); );
} }
$this->fillJsonResponse( $this->createStandardCreateResponse($request, $response, $attrValue);
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulCreate'),
$attrValue
);
} }
/** /**
@ -1116,23 +1055,15 @@ final class ApiController extends Controller
public function apiTaskAttributeValueL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiTaskAttributeValueL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
if (!empty($val = $this->validateTaskAttributeValueL11nCreate($request))) { if (!empty($val = $this->validateTaskAttributeValueL11nCreate($request))) {
$response->data['attr_value_l11n_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400;
$response->header->status = RequestStatusCode::R_400; $this->createInvalidCreateResponse($request, $response, $val);
return; return;
} }
$attrL11n = $this->createTaskAttributeValueL11nFromRequest($request); $attrL11n = $this->createTaskAttributeValueL11nFromRequest($request);
$this->createModel($request->header->account, $attrL11n, TaskAttributeValueL11nMapper::class, 'attr_value_l11n', $request->getOrigin()); $this->createModel($request->header->account, $attrL11n, TaskAttributeValueL11nMapper::class, 'attr_value_l11n', $request->getOrigin());
$this->createStandardCreateResponse($request, $response, $attrL11n);
$this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulCreate'),
$attrL11n
);
} }
/** /**