Files
Hickmeister 88dd00551f
Deploy HickLab3D Dashboard / Deploy to production (push) Failing after 19s
Migrate HickLab3D dashboard and add production auto deployment
2026-10-10 18:51:23 +01:00

47 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Printer;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;
class PrinterController extends Controller
{
public function index(Request $request): View
{
$printers = Printer::where('userId', $request->user()->id)
->with(['telemetry' => fn ($query) => $query->orderByDesc('recordedAt')->limit(1)])
->orderBy('printerName')->get();
return view('printers.index', compact('printers'));
}
public function create(): View
{
return view('printers.create');
}
public function store(Request $request): RedirectResponse
{
$data = $request->validate([
'printerName' => ['required', 'string', 'max:255'],
'printerIp' => ['required', 'ip'],
'serialNumber' => ['required', 'string', 'max:255', 'unique:bambuPrinters,serialNumber'],
'mqttPassword' => ['required', 'string', 'max:255'],
]);
Printer::create([...$data, 'userId' => $request->user()->id]);
return redirect()->route('printers.index')->with('status', 'Printer added.');
}
public function destroy(Request $request, Printer $printer): RedirectResponse
{
abort_unless($printer->userId === $request->user()->id, 404);
$printer->delete();
return redirect()->route('printers.index')->with('status', 'Printer removed.');
}
}