first intial
Some checks failed
CI Pipeline / Lint & Test Frontend (push) Has been cancelled
CI Pipeline / Test Backend (push) Has been cancelled

This commit is contained in:
2025-09-16 22:59:46 +08:00
parent 64b5af061a
commit 6e7a8c784b
133 changed files with 31858 additions and 16 deletions

View File

@@ -0,0 +1,37 @@
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\V1\CategoryController;
use App\Http\Controllers\Api\V1\MaterialController;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::middleware(['auth:sanctum'])->get('/user', function (Request $request) {
return $request->user();
});
Route::middleware(['auth:sanctum', 'role:admin'])->group(function () {
Route::get('/admin', function () {
return response()->json(['message' => 'Welcome Admin!']);
});
});
// Public Content Routes
Route::apiResource('categories', CategoryController::class)->only(['index', 'show']);
Route::apiResource('materials', MaterialController::class)->only(['index', 'show']);
// Admin Content Management Routes
Route::middleware(['auth:sanctum', 'role:admin'])->group(function () {
Route::apiResource('categories', CategoryController::class)->except(['index', 'show']);
Route::apiResource('materials', MaterialController::class)->except(['index', 'show']);
});