Add Remove & Mark watched movie
This commit is contained in:
@@ -119,6 +119,20 @@ switch ($route) {
|
|||||||
} else { http_response_code(405); }
|
} else { http_response_code(405); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'remove-movie':
|
||||||
|
if ($method === 'POST') {
|
||||||
|
$data['user_id'] = getAuthenticatedUserId($jwt_secret);
|
||||||
|
$movieController->remove($data);
|
||||||
|
} else { http_response_code(405); }
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'mark-watched':
|
||||||
|
if ($method === 'POST') {
|
||||||
|
$data['user_id'] = getAuthenticatedUserId($jwt_secret);
|
||||||
|
$movieController->markWatched($data);
|
||||||
|
} else { http_response_code(405); }
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
http_response_code(404);
|
http_response_code(404);
|
||||||
echo json_encode(["error" => "Route /" . $route . " non trouvée"]);
|
echo json_encode(["error" => "Route /" . $route . " non trouvée"]);
|
||||||
|
|||||||
+21
-4
@@ -33,7 +33,7 @@ class Movie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function share($movieId, $userId) {
|
public function share($movieId, $userId) {
|
||||||
$stmt = $this->db->prepare("UPDATE movies SET is_common = 1 WHERE id = ? AND user_id = ?");
|
$stmt = $this->db->prepare("UPDATE movies SET is_common = 1 WHERE id = ? AND user_id = ?");
|
||||||
@@ -56,10 +56,27 @@ class Movie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 3. Commune
|
// 3. Commune
|
||||||
$stmt = $this->db->prepare("SELECT * FROM movies WHERE is_common = 1 ORDER BY added_at DESC");
|
$stmt = $this->db->prepare("
|
||||||
$stmt->execute();
|
SELECT *
|
||||||
$common = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
FROM movies
|
||||||
|
WHERE is_common = 1
|
||||||
|
GROUP BY tmdb_id
|
||||||
|
ORDER BY added_at DESC
|
||||||
|
");
|
||||||
|
$stmt->execute();
|
||||||
|
$common = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
return ["perso" => $perso, "partner" => $partner, "common" => $common];
|
return ["perso" => $perso, "partner" => $partner, "common" => $common];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function remove($movieId, $userId) {
|
||||||
|
$stmt = $this->db->prepare("DELETE FROM movies WHERE id = ? AND user_id = ?");
|
||||||
|
return $stmt->execute([$movieId, $userId]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function markWatched($movieId, $userId) {
|
||||||
|
// Si tu n'as pas de colonne 'watched', ajoute-la en BDD : ALTER TABLE movies ADD COLUMN watched BOOLEAN DEFAULT 0;
|
||||||
|
$stmt = $this->db->prepare("UPDATE movies SET watched = 1 WHERE id = ? AND user_id = ?");
|
||||||
|
return $stmt->execute([$movieId, $userId]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user