1
0

Обновление бека+фронт

MVP версия - которая уже готова к работе
This commit is contained in:
2026-01-12 01:11:32 +07:00
parent a9c146b192
commit 456876f837
16 changed files with 894 additions and 75 deletions

112
backend/api/task.php Normal file
View File

@@ -0,0 +1,112 @@
<?php
$method = $_SERVER['REQUEST_METHOD'];
if ($method === 'POST') {
$data = RestApi::getInput();
$action = $data['action'] ?? null;
$task = new Task();
// Получение колонок
if ($action === 'get_columns') {
$result = $task->getColumns();
RestApi::response(['success' => true, 'data' => $result]);
}
// Получение департаментов
if ($action === 'get_departments') {
$result = $task->getDepartments();
RestApi::response(['success' => true, 'data' => $result]);
}
// Получение меток
if ($action === 'get_labels') {
$result = $task->getLabels();
RestApi::response(['success' => true, 'data' => $result]);
}
// Загрузка изображения
if ($action === 'upload_image') {
$task_id = $data['task_id'] ?? null;
$file_base64 = $data['file_data'] ?? null;
$file_name = $data['file_name'] ?? null;
$result = TaskImage::upload($task_id, $file_base64, $file_name);
RestApi::response($result);
}
// Удаление изображений (принимает file_names массив или file_name строку)
if ($action === 'delete_image') {
$task_id = $data['task_id'] ?? null;
$file_names = $data['file_names'] ?? $data['file_name'] ?? null;
$result = TaskImage::delete($task_id, $file_names);
RestApi::response($result);
}
// Изменение порядка и колонки задачи
if ($action === 'update_order') {
$id = $data['id'] ?? null;
$column_id = $data['column_id'] ?? null;
$to_index = $data['to_index'] ?? 0;
$result = Task::updateOrder($id, $column_id, $to_index);
RestApi::response($result);
}
// Обновление задачи
if ($action === 'update') {
$task->id = $data['id'] ?? null;
$task->id_department = $data['id_department'] ?? null;
$task->id_label = $data['id_label'] ?? null;
$task->id_account = $data['id_account'] ?? null;
$task->column_id = $data['column_id'] ?? null;
$task->order = $data['order'] ?? null;
$task->date = $data['date'] ?? null;
$task->title = $data['title'] ?? '';
$task->descript = $data['descript'] ?? '';
$task->descript_full = $data['descript_full'] ?? '';
$result = $task->update();
RestApi::response($result);
}
// Создание задачи
if ($action === 'create') {
$task->id_department = $data['id_department'] ?? null;
$task->id_label = $data['id_label'] ?? null;
$task->id_account = $data['id_account'] ?? null;
$task->column_id = $data['column_id'] ?? null;
$task->order = $data['order'] ?? 0;
$task->date = $data['date'] ?? null;
$task->title = $data['title'] ?? '';
$task->descript = $data['descript'] ?? '';
$task->descript_full = $data['descript_full'] ?? '';
$files = $data['files'] ?? [];
$result = $task->create($files);
RestApi::response($result);
}
// Удаление задачи
if ($action === 'delete') {
$id = $data['id'] ?? null;
$result = Task::delete($id);
RestApi::response($result);
}
// Метод не указан
if (!$action) {
RestApi::response(['success' => false, 'error' => 'Укажите метод'], 400);
}
}
if ($method === 'GET') {
// Получение всех задач
$task = new Task();
$tasks = $task->getAll();
RestApi::response(['success' => true, 'data' => $tasks]);
}
?>