Add User system
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
// controllers/UserController.php
|
||||
|
||||
require_once __DIR__ . '/../models/User.php';
|
||||
|
||||
class UserController {
|
||||
private $db;
|
||||
private $userModel;
|
||||
|
||||
public function __construct($db) {
|
||||
$this->db = $db;
|
||||
$this->userModel = new User($this->db);
|
||||
}
|
||||
|
||||
// --- INTERCEPTE L'INSCRIPTION ---
|
||||
public function register($data) {
|
||||
// Validation basique des données reçues
|
||||
if (empty($data['username']) || empty($data['email']) || empty($data['password'])) {
|
||||
http_response_code(400);
|
||||
echo json_encode(["success" => false, "message" => "Données incomplètes. Pseudo, email et mot de passe requis."]);
|
||||
return;
|
||||
}
|
||||
|
||||
// Appel du model pour l'insertion
|
||||
$result = $this->userModel->register($data['username'], $data['email'], $data['password']);
|
||||
|
||||
if ($result['success']) {
|
||||
http_response_code(201); // 201 Created
|
||||
} else {
|
||||
http_response_code(400); // 400 Bad Request
|
||||
}
|
||||
|
||||
echo json_encode($result);
|
||||
}
|
||||
|
||||
// --- INTERCEPTE LA CONNEXION ---
|
||||
public function login($data) {
|
||||
if (empty($data['email']) || empty($data['password'])) {
|
||||
http_response_code(400);
|
||||
echo json_encode(["success" => false, "message" => "Email et mot de passe requis."]);
|
||||
return;
|
||||
}
|
||||
|
||||
$result = $this->userModel->login($data['email'], $data['password']);
|
||||
|
||||
if ($result['success']) {
|
||||
http_response_code(200); // 200 OK
|
||||
// TODO: Plus tard, on générera un token (JWT) ici pour sécuriser les sessions de l'API
|
||||
} else {
|
||||
http_response_code(401); // 401 Unauthorized
|
||||
}
|
||||
|
||||
echo json_encode($result);
|
||||
}
|
||||
|
||||
// --- INTERCEPTE LA LIAISON DE COMPTES ---
|
||||
public function link($data) {
|
||||
// Sécurité temporaire : On demande l'ID de l'utilisateur actuel et le code du partenaire
|
||||
if (empty($data['user_id']) || empty($data['partner_code'])) {
|
||||
http_response_code(400);
|
||||
echo json_encode(["success" => false, "message" => "ID utilisateur et code partenaire requis."]);
|
||||
return;
|
||||
}
|
||||
|
||||
$result = $this->userModel->linkPartner($data['user_id'], $data['partner_code']);
|
||||
|
||||
if ($result['success']) {
|
||||
http_response_code(200);
|
||||
} else {
|
||||
http_response_code(400);
|
||||
}
|
||||
|
||||
echo json_encode($result);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user