A5.php/routes/web.php
2025-03-24 23:45:54 -04:00

48 lines
1.6 KiB
PHP

<?php
use App\Http\Controllers\AuthenticationController;
use App\Http\Controllers\DashboardController;
use App\Models\Inventory;
use Illuminate\Support\Facades\Route;
use Illuminate\Http\Request;
Route::controller(AuthenticationController::class)->group(function() {
Route::get("/logout", "logout")->name("logout")->middleware("auth");
Route::get("/", "displayLogin")->name("login")->middleware("guest");
Route::get("/register", "displayRegister")->name("register")->middleware("guest");
Route::post("/login", "authenticate")->middleware("guest");
Route::post("/register", "register")->middleware("guest");
});
Route::controller(DashboardController::class)->group(function() {
Route::get("/dashboard", "displayPage")->name("home")->middleware("auth");
});
Route::post("/tokens/create", function (Request $request) {
$token_name = $request->input("token_name");
if (!$token_name || $token_name == "") {
return redirect()->back()->with('failed', 'Name is required to create a token.');
}
$token = $request->user()->createToken($token_name);
return redirect()->back()->with('token', $token->plainTextToken);
});
Route::post("/inventory/add", function (Request $request) {
$validated = $request->validate([
'name' => 'required|string|max:255',
'desc' => 'nullable|string',
'cost' => 'required|numeric|min:0',
]);
$item = new Inventory();
$item->name = $validated["name"];
$item->description = $validated["desc"];
$item->cost = $validated["cost"];
$item->save();
return redirect()->back()->with('status', 'Success!');
});