. */ namespace App\Http\Controllers\Admin\Account; use App\Account; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Libraries\FlexisipRedisConnector; class DeviceController extends Controller { public function index(int $accountId) { $connector = new FlexisipRedisConnector; $account = Account::findOrFail($accountId); return view( 'admin.account.device.index', [ 'account' => $account, 'devices' => $connector->getDevices($account->identifier) ] ); } public function delete(int $accountId, string $uuid) { $connector = new FlexisipRedisConnector; $account = Account::findOrFail($accountId); $device = $connector->getDevices($account->identifier) ->where('uuid', $uuid)->first(); if (!$device) abort(404); return view( 'admin.account.device.delete', [ 'account' => $account, 'device' => $device ] ); } public function destroy(Request $request, int $accountId) { $connector = new FlexisipRedisConnector; $account = Account::findOrFail($accountId); if ($connector->deleteDevice($account->identifier, $request->get('uuid'))) { return redirect()->route('admin.account.show', $account); } return redirect()->route('admin.account.device.delete', [$account, $request->get('uuid')])->withErrors(['Device cannot be deleted']); } }