<?php
/**
 * Auth API Endpoint
 * GET: Return session data (check if admin is logged in)
 * POST with action=logout: Logout
 * POST without action: Login with username/password
 */

require_once __DIR__ . '/../includes/Auth.php';

header('Content-Type: application/json; charset=utf-8');

$method = $_SERVER['REQUEST_METHOD'];

if ($method === 'GET') {
    // Return current session info
    $session = Auth::getSession();
    if ($session) {
        echo json_encode($session);
    } else {
        echo json_encode(['user' => null]);
    }
    exit;
}

if ($method === 'POST') {
    // Check for logout action
    $input = json_decode(file_get_contents('php://input'), true);
    $action = $input['action'] ?? '';

    if ($action === 'logout') {
        Auth::logout();
        echo json_encode(['success' => true, 'message' => 'تم تسجيل الخروج بنجاح']);
        exit;
    }

    // Login
    $username = $input['username'] ?? '';
    $password = $input['password'] ?? '';

    if (empty($username) || empty($password)) {
        http_response_code(400);
        echo json_encode(['error' => 'يرجى إدخال اسم المستخدم وكلمة المرور']);
        exit;
    }

    $success = Auth::login($username, $password);
    if ($success) {
        echo json_encode([
            'success' => true,
            'user' => Auth::getSession()['user'],
        ]);
    } else {
        http_response_code(401);
        echo json_encode(['error' => 'اسم المستخدم أو كلمة المرور غير صحيحة']);
    }
    exit;
}

http_response_code(405);
echo json_encode(['error' => 'طريقة الطلب غير مدعومة']);