From defb2479f8006592deb6af7f0f85699eafc27359 Mon Sep 17 00:00:00 2001 From: Ikram Khizer Date: Wed, 11 Oct 2023 12:33:22 +0500 Subject: [PATCH] Solution by Ikram Khizer --- database/seeders/DatabaseSeeder.php | 2 +- routes/api.php | 4 +++- routes/web.php | 30 +++++++++++++++++++++-------- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 57b73b54d..6f2ee28fa 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -13,6 +13,6 @@ class DatabaseSeeder extends Seeder */ public function run() { - // \App\Models\User::factory(10)->create(); + \App\Models\User::factory(10)->create(); } } diff --git a/routes/api.php b/routes/api.php index 39ecc07c6..fefce2301 100644 --- a/routes/api.php +++ b/routes/api.php @@ -2,6 +2,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; +use App\Http\Controllers\Api\V1\TaskController; /* |-------------------------------------------------------------------------- @@ -18,10 +19,11 @@ return $request->user(); }); -Route::group(['middleware' => 'auth:sanctum'], function() { +Route::group(['middleware' => 'auth:sanctum', 'prefix' => 'v1'], function() { // Task 12: Manage tasks with endpoint /api/v1/tasks/*****. // Keep in mind that prefix should be /api/v1. // Add ONE line to assign 5 resource routes to TaskController // Put one code line here below + Route::resource('/tasks', TaskController::class); }); diff --git a/routes/web.php b/routes/web.php index 15508ce8d..1b34372a6 100644 --- a/routes/web.php +++ b/routes/web.php @@ -2,6 +2,13 @@ use Illuminate\Support\Facades\Route; +use App\Http\Controllers\HomeController; +use App\Http\Controllers\UserController; +use App\Http\Controllers\TaskController; + +use App\Http\Controllers\Admin\DashboardController; +use App\Http\Controllers\Admin\StatsController; + /* |-------------------------------------------------------------------------- | Web Routes @@ -15,32 +22,33 @@ // Task 1: point the main "/" URL to the HomeController method "index" // Put one code line here below - +Route::get('/', [HomeController::class, 'index']); // Task 2: point the GET URL "/user/[name]" to the UserController method "show" // It doesn't use Route Model Binding, it expects $name as a parameter // Put one code line here below - +Route::get('/user/{name}', [UserController::class, 'show']); // Task 3: point the GET URL "/about" to the view // resources/views/pages/about.blade.php - without any controller // Also, assign the route name "about" // Put one code line here below - +Route::view('/about', 'pages.about')->name('about'); // Task 4: redirect the GET URL "log-in" to a URL "login" // Put one code line here below - +Route::redirect('/log-in', '/login'); // Task 5: group the following route sentences below in Route::group() // Assign middleware "auth" // Put one Route Group code line here below - +Route::group(['middleware'=>'auth'], function () { // Tasks inside that Authenticated group: // Task 6: /app group within a group // Add another group for routes with prefix "app" // Put one Route Group code line here below + Route::group(['prefix'=>'app'], function () { // Tasks inside that /app group: @@ -48,34 +56,40 @@ // Task 7: point URL /app/dashboard to a "Single Action" DashboardController // Assign the route name "dashboard" // Put one Route Group code line here below + Route::get('/dashboard', DashboardController::class)->name('dashboard'); // Task 8: Manage tasks with URL /app/tasks/***. // Add ONE line to assign 7 resource routes to TaskController // Put one code line here below - + Route::resource('/tasks', TaskController::class); + }); // End of the /app Route Group - // Task 9: /admin group within a group // Add a group for routes with URL prefix "admin" // Assign middleware called "is_admin" to them // Put one Route Group code line here below + Route::group(['prefix' => 'admin', 'middleware' => 'is_admin'], function() { + // Tasks inside that /admin group: // Task 10: point URL /admin/dashboard to a "Single Action" Admin/DashboardController // Put one code line here below + Route::get('/dashboard', DashboardController::class); // Task 11: point URL /admin/stats to a "Single Action" Admin/StatsController // Put one code line here below + Route::get('/stats', StatsController::class); - + }); // End of the /admin Route Group +}); // End of the main Authenticated Route Group // One more task is in routes/api.php