51 lines
1.6 KiB
PHP
51 lines
1.6 KiB
PHP
<?php
|
|
|
|
$method = $_SERVER['REQUEST_METHOD'];
|
|
|
|
if ($method === 'POST') {
|
|
$data = RestApi::getInput();
|
|
$action = $data['action'] ?? null;
|
|
|
|
// Получение данных проекта (проект + колонки + отделы)
|
|
if ($action === 'get_project_data') {
|
|
$project_id = $data['id_project'] ?? null;
|
|
$result = Project::getProjectData($project_id);
|
|
if ($result) {
|
|
RestApi::response(['success' => true, 'data' => $result]);
|
|
} else {
|
|
RestApi::response(['success' => false, 'errors' => ['project' => 'Проект не найден']], 404);
|
|
}
|
|
}
|
|
|
|
// Метод не указан
|
|
if (!$action) {
|
|
RestApi::response(['success' => false, 'error' => 'Укажите метод'], 400);
|
|
}
|
|
}
|
|
|
|
if ($method === 'GET') {
|
|
// Получение всех проектов
|
|
// ?active=ID — дополнительно вернуть данные активного проекта
|
|
$project = new Project();
|
|
$projects = $project->getAll();
|
|
|
|
$active_id = $_GET['active'] ?? null;
|
|
|
|
if ($active_id) {
|
|
// Возвращаем список проектов + данные активного
|
|
$activeData = Project::getProjectData((int)$active_id);
|
|
RestApi::response([
|
|
'success' => true,
|
|
'data' => [
|
|
'projects' => $projects,
|
|
'active' => $activeData
|
|
]
|
|
]);
|
|
} else {
|
|
// Только список проектов
|
|
RestApi::response(['success' => true, 'data' => $projects]);
|
|
}
|
|
}
|
|
|
|
?>
|