From fdd0b1ed07970c8dbcb961c2510807def2652c4f Mon Sep 17 00:00:00 2001 From: Ghostie Date: Fri, 23 Aug 2024 13:08:40 -0500 Subject: [PATCH] added a follower controller, migration, and model --- app/Http/Controllers/FollowerController.php | 10 +++++++ app/Models/Follower.php | 11 +++++++ ...24_08_23_180423_create_followers_table.php | 29 +++++++++++++++++++ routes/web.php | 5 ++++ 4 files changed, 55 insertions(+) create mode 100644 app/Http/Controllers/FollowerController.php create mode 100644 app/Models/Follower.php create mode 100644 database/migrations/2024_08_23_180423_create_followers_table.php diff --git a/app/Http/Controllers/FollowerController.php b/app/Http/Controllers/FollowerController.php new file mode 100644 index 0000000..fa35ca2 --- /dev/null +++ b/app/Http/Controllers/FollowerController.php @@ -0,0 +1,10 @@ +id(); + $table->foreignId('user_id')->constrained()->onDelete('cascade'); + $table->foreignId('follower_id')->constrained("users")->onDelete('cascade'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('followers'); + } +}; diff --git a/routes/web.php b/routes/web.php index 80fed26..3d417d1 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,6 +1,7 @@ name("images.store"); // likes Route::post("/posts/{post}/likes", [LikeController::class, "store"])->name("posts.likes.store"); Route::delete("/posts/{post}/likes", [LikeController::class, "destroy"])->name("posts.likes.destroy"); + +// follow/unfollow +Route::post("/{user:username}/follow", [FollowerController::class, "store"])->name("users.follow"); +Route::delete("/{user:username}/unfollow", [FollowerController::class, "destroy"])->name("users.unfollow");