PATH:
home
/
rwabteecom
/
project_11
/
app
/
Services
/
Role
/
Editing: RoleServices.php
<?php namespace App\Services\Role; use App\Interfaces\ServiceInterface; use App\Models\Role; use DB; use Exception; use Illuminate\Support\Collection; use Str; class RoleServices implements ServiceInterface { public function index($active = false): Collection { return Role::query()->get(); } public function findOrFail($id, $active = false) { return Role::query()->findOrFail($id); } public function findWithoutFail($id, $active = false) { return Role::query()->find($id); } public function store($request): void { DB::transaction(function () use ($request) { $role = Role::query()->create([ "title" => $request->title, "name" => Str::random(10), "guard_name" => "admin" ]); $role->syncPermissions($request->permissions); }); } public function update($id, $request): void { DB::transaction(function () use ($request, $id) { $role = $this->findOrFail($id); if ($role->id == 1) { throw new Exception(__("Cannot Update This Role")); } $role->update([ "title" => $request->title, "name" => Str::random(10), "guard_name" => "admin" ]); $role->refresh(); $role->syncPermissions($request->permissions); }); } public function destroy($id): void { DB::transaction(function () use ($id) { $role = $this->findOrFail($id); if ($role->id == 1) { throw new Exception(__("Cannot Delete This Role")); } $role->delete(); }); } }
SAVE
CANCEL