<?php

$method = $_SERVER['REQUEST_METHOD'];

if ($method === 'POST') {
    $data = RestApi::getInput();
    $action = $data['action'] ?? null;

    // Получение конфигурации приложения
    if ($action === 'get_config') {
        RestApi::response(['success' => true, 'data' => [
            'COLUMN_DONE_ID' => COLUMN_DONE_ID
        ]]);
    }

    // Авторизация
    if ($action === 'auth_login') {
        $account = new Account();
        $result = $account->create_session(
            $data['username'] ?? null,
            $data['password'] ?? null
        );
        RestApi::response($result);
    }

    // Проверка сессии
    if ($action === 'check_session') {
        $account = new Account();
        $keycookies = $data['keycookies'] ?? $_COOKIE['session'] ?? null;
        $result = $account->check_session($keycookies);
        RestApi::response($result);
    }

    // Выход (удаление всех сессий)
    if ($action === 'logout') {
        $account = new Account();
        $keycookies = $data['keycookies'] ?? $_COOKIE['session'] ?? null;
        $result = $account->logout($keycookies);
        RestApi::response($result);
    }

    // Создание пользователя
    if ($action === 'create_user') {
        $account = new Account();
        $account->name = $data['name'] ?? null;
        $account->username = $data['username'] ?? null;
        $account->password = $data['password'] ?? null;
        $account->id_department = $data['id_department'] ?? null;
        $account->avatar_url = $data['avatar_url'] ?? null;
        $account->telegram = $data['telegram'] ?? null;

        $result = $account->create();
        RestApi::response($result);
    }

    // Проверяем, что метод не пустой
    if (!$action) {
        RestApi::response(['success' => false, 'error' => 'Укажите метод'], 400);
    }
}

if ($method === 'GET') {
    // Получение всех пользователей
    $account = new Account();
    $users = $account->getAll();
    
    RestApi::response(['success' => true, 'data' => $users]);
}


?>
