70 lines
2.2 KiB
PHP
70 lines
2.2 KiB
PHP
<?php
|
|
|
|
// controllers/MovieController.php
|
|
|
|
require_once __DIR__ . '/../models/Movie.php';
|
|
|
|
class MovieController {
|
|
private $movieModel;
|
|
|
|
public function __construct($db) {
|
|
$this->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]);
|
|
}
|
|
} |