Fix Movie list

This commit is contained in:
2026-07-11 11:05:47 +02:00
parent d8aa88a8fb
commit b44a5a39e1
3 changed files with 70 additions and 73 deletions
+22 -29
View File
@@ -1,49 +1,42 @@
<?php
// controllers/MovieController.php
require_once __DIR__ . '/../models/Movie.php';
class MovieController {
private $db;
private $movieModel;
public function __construct($db) {
$this->db = $db;
$this->movieModel = new Movie($this->db);
$this->movieModel = new Movie($db);
}
// INTERCEPTE L'AJOUT
public function addMovie($data) {
if (empty($data['user_id']) || empty($data['tmdb_id']) || empty($data['title'])) {
public function add($data) {
// Validation basique
if (!isset($data['tmdb_id'], $data['title'])) {
http_response_code(400);
echo json_encode(["success" => false, "message" => "Données incomplètes (user_id, tmdb_id, title requis)."]);
echo json_encode(["error" => "Données manquantes"]);
return;
}
$mediaType = $data['media_type'] ?? 'film';
$isCommon = isset($data['is_common']) ? (bool)$data['is_common'] : false;
$posterPath = $data['poster_path'] ?? null;
$result = $this->movieModel->add($data['user_id'], $data['tmdb_id'], $data['title'], $posterPath, $mediaType, $isCommon);
http_response_code($result['success'] ? 201 : 400);
echo json_encode($result);
$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]);
}
// INTERCEPTE LA RECUPERATION DES LISTES
public function getLists($data) {
if (empty($data['user_id'])) {
http_response_code(400);
echo json_encode(["success" => false, "message" => "ID utilisateur requis."]);
return;
}
// On a besoin du partner_id pour choper sa liste, s'il n'est pas envoyé on le met à null
$partnerId = $data['partner_id'] ?? null;
$result = $this->movieModel->getLists($data['user_id'], $partnerId);
http_response_code(200);
echo json_encode($result);
// On récupère les listes. Si tu veux le partner_id, tu peux soit l'extraire
// via le user_id dans le modèle, soit l'envoyer dans le $data si besoin.
$lists = $this->movieModel->getLists($data['user_id']);
echo json_encode(["success" => true, "lists" => $lists]);
}
}