diff --git a/app/Http/Controllers/Auth/ConfirmPasswordController.php b/app/Http/Controllers/Auth/ConfirmPasswordController.php index 138c1f0..3a149fb 100644 --- a/app/Http/Controllers/Auth/ConfirmPasswordController.php +++ b/app/Http/Controllers/Auth/ConfirmPasswordController.php @@ -26,7 +26,7 @@ class ConfirmPasswordController extends Controller * * @var string */ - protected $redirectTo = RouteServiceProvider::HOME; + protected $redirectTo = RouteServiceProvider::PROFILE; /** * Create a new controller instance. diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 18a0d08..bb89461 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -26,7 +26,7 @@ class LoginController extends Controller * * @var string */ - protected $redirectTo = RouteServiceProvider::HOME; + protected $redirectTo = RouteServiceProvider::PROFILE; /** * Create a new controller instance. diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index ed1a5e0..4e79e9e 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -29,7 +29,7 @@ class RegisterController extends Controller * * @var string */ - protected $redirectTo = RouteServiceProvider::HOME; + protected $redirectTo = RouteServiceProvider::PROFILE; /** * Create a new controller instance. diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php index b1726a3..1ba95bb 100644 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -26,5 +26,5 @@ class ResetPasswordController extends Controller * * @var string */ - protected $redirectTo = RouteServiceProvider::HOME; + protected $redirectTo = RouteServiceProvider::PROFILE; } diff --git a/app/Http/Controllers/Auth/VerificationController.php b/app/Http/Controllers/Auth/VerificationController.php index 5e749af..2988616 100644 --- a/app/Http/Controllers/Auth/VerificationController.php +++ b/app/Http/Controllers/Auth/VerificationController.php @@ -26,7 +26,7 @@ class VerificationController extends Controller * * @var string */ - protected $redirectTo = RouteServiceProvider::HOME; + protected $redirectTo = RouteServiceProvider::PROFILE; /** * Create a new controller instance. diff --git a/app/Http/Controllers/BeerListController.php b/app/Http/Controllers/BeerListController.php index d9d3205..916b907 100644 --- a/app/Http/Controllers/BeerListController.php +++ b/app/Http/Controllers/BeerListController.php @@ -2,9 +2,35 @@ namespace App\Http\Controllers; +use App\Models\BeerList; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class BeerListController extends Controller { - // + public function show(BeerList $list) + { + + return view('list.show', compact('list')); + } + + public function create() + { + return view('list.create'); + } + + public function store(Request $request) + { + $this->validate($request, [ + 'title' => 'required', + ]); + + $list = new BeerList; + $list->title = $request->title; + $list->user_id = auth()->user()->id; + + $list->save(); + + return redirect('/profile'); + } } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php deleted file mode 100644 index 7cbc2c3..0000000 --- a/app/Http/Controllers/HomeController.php +++ /dev/null @@ -1,28 +0,0 @@ -middleware('auth'); - } - - /** - * Show the application dashboard. - * - * @return \Illuminate\Contracts\Support\Renderable - */ - public function index() - { - return view('home'); - } -} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php new file mode 100644 index 0000000..90f8527 --- /dev/null +++ b/app/Http/Controllers/UserController.php @@ -0,0 +1,19 @@ +middleware('auth'); + } + + public function index(User $user) + { + return view('profile', compact('user')); + } +} diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php index 362b48b..c821de6 100644 --- a/app/Http/Middleware/RedirectIfAuthenticated.php +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -23,7 +23,7 @@ class RedirectIfAuthenticated foreach ($guards as $guard) { if (Auth::guard($guard)->check()) { - return redirect(RouteServiceProvider::HOME); + return redirect(RouteServiceProvider::PROFILE); } } diff --git a/app/Models/BeerList.php b/app/Models/BeerList.php index b5c7f25..b23f90d 100644 --- a/app/Models/BeerList.php +++ b/app/Models/BeerList.php @@ -9,9 +9,14 @@ class BeerList extends Model { use HasFactory; + protected $fillable = [ + 'title', + 'user_id' + ]; + public function user() { - return $this->belongsTo(User::class); + return $this->belongsTo(User::class, 'user_id'); } public function beer() diff --git a/app/Models/User.php b/app/Models/User.php index d41a119..1224328 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -42,7 +42,7 @@ class User extends Authenticatable 'email_verified_at' => 'datetime', ]; - public function list() + public function lists() { return $this->hasMany(BeerList::class); } diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index 3bd3c81..a63cd35 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -17,7 +17,7 @@ class RouteServiceProvider extends ServiceProvider * * @var string */ - public const HOME = '/home'; + public const PROFILE = '/profile'; /** * The controller namespace for the application. diff --git a/database/migrations/2021_09_04_200247_create_beer_lists_table.php b/database/migrations/2021_09_04_200247_create_beer_lists_table.php index 9b4229f..1d6d7b9 100644 --- a/database/migrations/2021_09_04_200247_create_beer_lists_table.php +++ b/database/migrations/2021_09_04_200247_create_beer_lists_table.php @@ -14,7 +14,8 @@ class CreateBeerListsTable extends Migration public function up() { Schema::create('beer_lists', function (Blueprint $table) { - $table->unsignedBigInteger('id'); + $table->id(); + $table->string('title')->nullable(); $table->integer('user_id'); $table->timestamps(); }); diff --git a/database/migrations/2021_09_04_202514_list_beers_pivot_table.php b/database/migrations/2021_09_04_202514_list_beers_pivot_table.php new file mode 100644 index 0000000..a6b2fb0 --- /dev/null +++ b/database/migrations/2021_09_04_202514_list_beers_pivot_table.php @@ -0,0 +1,32 @@ +unsignedBigInteger('id'); + $table->unsignedBigInteger('beer_id'); + $table->unsignedBigInteger('list_id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('list_beers_pivot'); + } +} diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php deleted file mode 100644 index 1f34466..0000000 --- a/resources/views/home.blade.php +++ /dev/null @@ -1,23 +0,0 @@ -@extends('layouts.app') - -@section('content') -
-
-
-
-
{{ __('Dashboard') }}
- -
- @if (session('status')) - - @endif - - {{ __('You are logged in!') }} -
-
-
-
-
-@endsection diff --git a/resources/views/list/create.blade.php b/resources/views/list/create.blade.php new file mode 100644 index 0000000..fd62521 --- /dev/null +++ b/resources/views/list/create.blade.php @@ -0,0 +1,20 @@ +@extends('layouts.app') + +@section('content') + Add list +
+ @csrf + + + @if ($errors->has('title')) + + {{ $errors->first('title') }} + + @endif + +
+@endsection diff --git a/resources/views/list/show.blade.php b/resources/views/list/show.blade.php new file mode 100644 index 0000000..3ab24de --- /dev/null +++ b/resources/views/list/show.blade.php @@ -0,0 +1,6 @@ +@extends('layouts.app') + +@section('content') + {{ $list->title }} + +@endsection diff --git a/resources/views/profile.blade.php b/resources/views/profile.blade.php new file mode 100644 index 0000000..66f341b --- /dev/null +++ b/resources/views/profile.blade.php @@ -0,0 +1,15 @@ +@extends('layouts.app') + +@section('content') +
+ Profile +
+ + Add Beer list + + @foreach (Auth::user()->lists as $list) + + {{ $list->title }} + + @endforeach +@endsection diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index b1905c9..9d1986e 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -25,7 +25,7 @@ @if (Route::has('login'))