1
0
Files
TaskBoard/backend/app/class/enity/class_project.php
Falknat 9421f891d6 Рефакторинг
Убрал лишнее , то что пока не используется.
2026-01-14 11:42:33 +07:00

84 lines
2.3 KiB
PHP

<?php
class Project extends BaseEntity {
protected $db_name = 'project';
// Получение всех проектов
public function getAll() {
return Database::select($this->db_name, [
'id',
'id_order',
'name',
'id_ready'
], [
'ORDER' => ['id_order' => 'ASC']
]);
}
// Получение одного проекта
public static function get($id) {
return Database::get('project', [
'id',
'id_order',
'name',
'id_ready'
], ['id' => $id]);
}
// Получение id_ready (ID колонки "Готово") по ID проекта
public static function getReadyColumnId($project_id) {
$project = Database::get('project', ['id_ready'], ['id' => $project_id]);
return $project ? (int)$project['id_ready'] : null;
}
// Получение колонок проекта
public static function getColumns($project_id) {
return Database::select('columns', [
'id',
'name_columns',
'color',
'id_order'
], [
'id_project' => $project_id,
'ORDER' => ['id_order' => 'ASC']
]);
}
// Получение отделов проекта
public static function getDepartments($project_id) {
return Database::select('departments', [
'id',
'name_departments',
'color'
], [
'id_project' => $project_id
]);
}
// Получение всех данных проекта (проект + колонки + отделы + метки)
public static function getProjectData($project_id) {
$project = self::get($project_id);
if (!$project) {
return null;
}
// Получаем метки (глобальные)
$labels = Database::select('labels', [
'id',
'name_labels',
'icon',
'color'
]);
return [
'project' => $project,
'columns' => self::getColumns($project_id),
'departments' => self::getDepartments($project_id),
'labels' => $labels
];
}
}
?>