group(function (): void { Route::post('register', [AuthController::class, 'register']); Route::post('login', [AuthController::class, 'login']); Route::middleware('auth:sanctum')->group(function (): void { Route::post('logout', [AuthController::class, 'logout']); Route::get('me', [AuthController::class, 'me']); Route::patch('me', [AuthController::class, 'update']); Route::delete('me', [AuthController::class, 'destroy']); }); }); Route::middleware('auth:sanctum')->group(function (): void { Route::post('device-tokens', [DeviceTokenController::class, 'store']); Route::delete('device-tokens', [DeviceTokenController::class, 'destroy']); Route::get('test-notifs', [DeviceTokenController::class, 'notifs']); }); //Meals Route::middleware('auth:sanctum')->group(function (): void { Route::get('meal-posts/stats', [MealPostController::class, 'stats']); Route::get('meal-posts/calendar', [MealPostController::class, 'calendar']); Route::post('meal-posts/analyze-image', [MealImageAnalysisController::class, 'store']); Route::post('meal-posts/{mealPost}/like', [MealPostController::class, 'like'])->name('meal-posts.like'); Route::delete('meal-posts/{mealPost}/like', [MealPostController::class, 'unlike'])->name('meal-posts.unlike'); Route::apiResource('meal-posts', MealPostController::class)->except(['update']); Route::put('meal-posts/{mealPost}', [MealPostController::class, 'update'])->name('meal-posts.update'); Route::patch('meal-posts/{mealPost}', [MealPostController::class, 'update'])->name('meal-posts.patch'); });