REFACTORING: move content update and create logic into separate interactions

This commit is contained in:
Michal Kváček
2016-10-17 02:52:30 +02:00
parent 6ec692bd1c
commit eabbf48ee0
13 changed files with 271 additions and 141 deletions
+32
View File
@@ -0,0 +1,32 @@
<?php
namespace App\Cms\Handlers\Interactions;
use App\CMS\Contracts\Interaction as InteractionContract;
use App\CMS\Exceptions\Validation\ValidationFailedException;
use App\Http\Requests\Request;
use Illuminate\Support\Facades\Validator;
class Interaction {
/**
* Handle interaction with application
*
* @param Request $request
* @param InteractionContract $interaction
*
* @param array $parameters
*
* @return mixed
* @throws ValidationFailedException
*/
public static function handle(Request $request, InteractionContract $interaction, ...$parameters) {
$validationRules = $interaction->getValidationRules($parameters);
$validator = Validator::make($request->all(), $validationRules);
if ($validator->fails()) {
throw new ValidationFailedException($validator);
}
return $interaction->handle($request, $parameters);
}
}