47 lines
1.4 KiB
PHP
47 lines
1.4 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();
|
|
$service->save();
|
|
return back()->with('success', "Nouveau token d'API de " . $service->name . " : " . $service->bearer_token);
|
|
}
|
|
}
|