Files
watchgether-api/controllers/MovieController.php
T
2026-07-12 16:21:33 +02:00

53 lines
1.7 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 ignore le partner_id du token (qui est périmé).
// On va chercher l'ID du partenaire actuel dans la base de données.
$stmt = $this->db->prepare("SELECT partner_id FROM users WHERE id = ?");
$stmt->execute([$data['user_id']]);
$realPartnerId = $stmt->fetchColumn() ?: null;
// 2. On appelle le modèle avec la VRAIE valeur
$lists = $this->movieModel->getLists($data['user_id'], $realPartnerId);
// 3. On renvoie le tout
echo json_encode([
"success" => true,
"partner_id" => $realPartnerId, // Pour que ton JS sache aussi qui c'est
"lists" => $lists
]);
}
}