50 lines
1.5 KiB
PHP
50 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Http\Requests\ManageServiceRequest;
|
|
use App\Models\Brand;
|
|
use App\Models\Service;
|
|
|
|
class ServiceController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$services = Service::all();
|
|
return view('services.index', compact('services'));
|
|
}
|
|
|
|
public function manage(ManageServiceRequest $request, Service $service = null)
|
|
{
|
|
$brands = Brand::all();
|
|
$edit = $service ? true : false;
|
|
|
|
if ($request->isMethod('post')) {
|
|
if (!$service) {
|
|
$service = new Service($request->validated());
|
|
} else {
|
|
$service->fill($request->validated());
|
|
}
|
|
$brand = Brand::findOrFail($request->brand_id);
|
|
$service->brand()->associate($brand);
|
|
$service->save();
|
|
|
|
return redirect()->route('services')->with('success', $edit ? 'Modifications enregistrées !' : sprintf(
|
|
'Token du service : \'%s\'',
|
|
$service->bearer_token
|
|
));
|
|
}
|
|
|
|
return view('services.manage', compact('service', 'brands', 'edit'));
|
|
}
|
|
|
|
public function generateApiToken(Service $service)
|
|
{
|
|
$service->generateBearerToken();
|
|
$bearerPwd = $service->bearer_pwd;
|
|
$service->saveOrFail();
|
|
return back()
|
|
// phpcs:ignore Generic.Files.LineLength.TooLong
|
|
->with('success', "Nouveau token d'API de $service->name : '$service->bearer_token' et mot de passe '$bearerPwd'");
|
|
}
|
|
}
|