From a7b06b3e0b8fbda8a4f3ff129d8ef2229499591b Mon Sep 17 00:00:00 2001 From: Roardom Date: Sun, 8 Jan 2023 04:47:55 -0600 Subject: [PATCH] refactor: move internal requests to form requests --- .../Controllers/Staff/InternalController.php | 44 +++---------------- .../Requests/Staff/StoreInternalRequest.php | 39 ++++++++++++++++ .../Requests/Staff/UpdateInternalRequest.php | 39 ++++++++++++++++ app/Models/Internal.php | 8 ++-- 4 files changed, 88 insertions(+), 42 deletions(-) create mode 100644 app/Http/Requests/Staff/StoreInternalRequest.php create mode 100644 app/Http/Requests/Staff/UpdateInternalRequest.php diff --git a/app/Http/Controllers/Staff/InternalController.php b/app/Http/Controllers/Staff/InternalController.php index de65ed876..ecac03224 100644 --- a/app/Http/Controllers/Staff/InternalController.php +++ b/app/Http/Controllers/Staff/InternalController.php @@ -14,8 +14,9 @@ namespace App\Http\Controllers\Staff; use App\Http\Controllers\Controller; +use App\Http\Requests\Staff\StoreInternalRequest; +use App\Http\Requests\Staff\UpdateInternalRequest; use App\Models\Internal; -use Illuminate\Http\Request; /** * @see \Tests\Feature\Http\Controllers\Staff\GroupControllerTest @@ -45,26 +46,9 @@ class InternalController extends Controller /** * Save a group change. */ - public function update(Request $request, int $id): \Illuminate\Http\RedirectResponse + public function update(UpdateInternalRequest $request, int $id): \Illuminate\Http\RedirectResponse { - $internal = Internal::findOrFail($id); - - $internal->name = $request->input('name'); - $internal->icon = $request->input('icon'); - $internal->effect = $request->input('effect'); - - $v = \validator($internal->toArray(), [ - 'name' => 'required', - 'icon' => 'required', - 'effect' => 'required', - ]); - - if ($v->fails()) { - return \to_route('staff.internals.index') - ->withErrors($v->errors()); - } - - $internal->save(); + Internal::where('id', '=', $id)->update($request->validated()); return \to_route('staff.internals.index') ->withSuccess('Internal Group Was Updated Successfully!'); @@ -81,25 +65,9 @@ class InternalController extends Controller /** * Store A New Internal Group. */ - public function store(Request $request): \Illuminate\Http\RedirectResponse + public function store(StoreInternalRequest $request): \Illuminate\Http\RedirectResponse { - $internal = new Internal(); - $internal->name = $request->input('name'); - $internal->icon = $request->input('icon'); - $internal->effect = $request->input('effect'); - - $v = \validator($internal->toArray(), [ - 'name' => 'required|unique:internals', - 'icon', - 'effect', - ]); - - if ($v->fails()) { - return \to_route('staff.internals.index') - ->withErrors($v->errors()); - } - - $internal->save(); + Internal::create($request->validated()); return \to_route('staff.internals.index') ->withSuccess('New Internal Group added!'); diff --git a/app/Http/Requests/Staff/StoreInternalRequest.php b/app/Http/Requests/Staff/StoreInternalRequest.php new file mode 100644 index 000000000..e62bff52e --- /dev/null +++ b/app/Http/Requests/Staff/StoreInternalRequest.php @@ -0,0 +1,39 @@ + + * @license https://www.gnu.org/licenses/agpl-3.0.en.html/ GNU Affero General Public License v3.0 + */ + +namespace App\Http\Requests\Staff; + +use Illuminate\Foundation\Http\FormRequest; + +class StoreInternalRequest extends FormRequest +{ + /** + * Determine if the user is authorized to make this request. + */ + public function authorize(): bool + { + return true; + } + + /** + * Get the validation rules that apply to the request. + */ + public function rules(): array + { + return [ + 'name' => 'required', + 'icon' => 'required', + 'effect' => 'required', + ]; + } +} diff --git a/app/Http/Requests/Staff/UpdateInternalRequest.php b/app/Http/Requests/Staff/UpdateInternalRequest.php new file mode 100644 index 000000000..79655c799 --- /dev/null +++ b/app/Http/Requests/Staff/UpdateInternalRequest.php @@ -0,0 +1,39 @@ + + * @license https://www.gnu.org/licenses/agpl-3.0.en.html/ GNU Affero General Public License v3.0 + */ + +namespace App\Http\Requests\Staff; + +use Illuminate\Foundation\Http\FormRequest; + +class UpdateInternalRequest extends FormRequest +{ + /** + * Determine if the user is authorized to make this request. + */ + public function authorize(): bool + { + return true; + } + + /** + * Get the validation rules that apply to the request. + */ + public function rules(): array + { + return [ + 'name' => 'required', + 'icon' => 'required', + 'effect' => 'required', + ]; + } +} diff --git a/app/Models/Internal.php b/app/Models/Internal.php index b07dae04b..e72d14d48 100644 --- a/app/Models/Internal.php +++ b/app/Models/Internal.php @@ -23,11 +23,11 @@ class Internal extends Model use Auditable; /** - * The Attributes That Aren't Mass Assignable. - * - * @var array + * The attributes that aren't mass assignable. + * + * @var string[] */ - protected $guarded = ['id']; + protected $guarded = ['id', 'created_at', 'updated_at']; /** * Indicates If The Model Should Be Timestamped.