From 5c620a1fc4a4ed23d6d726183b26f67b83a0e711 Mon Sep 17 00:00:00 2001
From: melvinkj <melvinkentj@gmail.com>
Date: Mon, 9 Oct 2023 10:04:00 +0700
Subject: [PATCH] feat: delete wishlist

---
 src/Controllers/WishlistController.php |  1 -
 src/Core/Application.php               |  1 +
 src/Models/Wishlists.php               | 12 ++++++++++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/Controllers/WishlistController.php b/src/Controllers/WishlistController.php
index e5bc4b9..fda919c 100644
--- a/src/Controllers/WishlistController.php
+++ b/src/Controllers/WishlistController.php
@@ -45,7 +45,6 @@ class WishlistController extends Controller
     $userId = Request::getUser()->user_id;
 
     $wishlists = Wishlists::where(["user_id" => $userId]);
-    print_r($wishlists);
     $dormIds = array_reduce(
       $wishlists,
       function ($carry, $wishlist) {
diff --git a/src/Core/Application.php b/src/Core/Application.php
index f969a30..2d72126 100644
--- a/src/Core/Application.php
+++ b/src/Core/Application.php
@@ -48,6 +48,7 @@ class Application
 
     $this->router->methods(["GET", "POST"], "/dorms/create", [AdminOnly::class], DormController::class, 'create');
     $this->router->methods(["GET", "POST"], "/dorms/{dormId}", [AuthRequired::class], DormController::class, 'view');
+    $this->router->delete("/dorms/{dormId}", [AuthRequired::class], DormController::class, 'delete');
     $this->router->methods(["GET", "POST"], "/dorms/{dormId}/media", [AdminOnly::class], DormController::class, 'media');
     $this->router->methods(["GET", "POST"], "/dorms/{dormId}/edit", [AdminOnly::class], DormController::class, 'edit');
     $this->router->methods(["GET", "POST"], "/dorms/{dormId}/reviews", [AuthRequired::class], ReviewController::class, 'getAllByDormId');
diff --git a/src/Models/Wishlists.php b/src/Models/Wishlists.php
index 76c90da..655e2cb 100644
--- a/src/Models/Wishlists.php
+++ b/src/Models/Wishlists.php
@@ -9,4 +9,16 @@ class Wishlists extends BaseModel
   public string $created_at;
   protected static string $table = 'wishlists';
   protected static $primaryKey = ['user_id', 'dorm_id'];
+
+  public function delete()
+  {
+    $sql = "DELETE FROM " . static::$table . " WHERE user_id = :user_id AND dorm_id = :dorm_id";
+
+    $stmt = self::$db->prepare($sql);
+
+    $stmt->bindValue(":user_id", $this->user_id);
+    $stmt->bindValue(":dorm_id", $this->dorm_id);
+
+    $stmt->execute();
+  }
 }
-- 
GitLab