movieModel = new Movie($db); } public function add($data) { // Validation basique if (!isset($data['tmdb_id'], $data['title'])) { http_response_code(400); echo json_encode(["error" => "Données manquantes"]); return; } $res = $this->movieModel->add($data['user_id'], $data['tmdb_id'], $data['title'], $data['poster_path'] ?? null, $data['media_type'] ?? 'film'); echo json_encode(["success" => $res]); } public function share($data) { if (!isset($data['movie_id'])) { http_response_code(400); echo json_encode(["error" => "ID du film manquant"]); return; } $res = $this->movieModel->share($data['movie_id'], $data['user_id']); echo json_encode(["success" => $res]); } public function getLists($data) { // 1. On récupère le vrai partenaire via le modèle (qui a accès à la BDD) $realPartnerId = $this->movieModel->getRealPartnerId($data['user_id']); // 2. On récupère les listes avec le vrai ID $lists = $this->movieModel->getLists($data['user_id'], $realPartnerId); // 3. On renvoie le JSON echo json_encode([ "success" => true, "partner_id" => $realPartnerId, "lists" => $lists ]); } public function remove($data) { if (!isset($data['movie_id'])) { http_response_code(400); echo json_encode(["error" => "ID du film manquant"]); return; } $res = $this->movieModel->remove($data['movie_id'], $data['user_id']); echo json_encode(["success" => $res]); } public function markWatched($data) { if (!isset($data['movie_id'])) { http_response_code(400); echo json_encode(["error" => "ID du film manquant"]); return; } $res = $this->movieModel->markWatched($data['movie_id'], $data['user_id']); echo json_encode(["success" => $res]); } }