task priority, task expand

This commit is contained in:
Kavalar 2023-10-09 23:57:01 +03:00
parent aae845aee7
commit 4b56b11831
4 changed files with 49 additions and 3 deletions

View File

@ -102,7 +102,9 @@ class ProjectTask extends ActiveRecord
return [ return [
'id', 'id',
'project_id', 'project_id',
//'project.name', 'project_name' => function () {
return $this->project->name ?? null;
},
'title', 'title',
'created_at', 'created_at',
'updated_at', 'updated_at',
@ -133,7 +135,21 @@ class ProjectTask extends ActiveRecord
return Comment::find()->where(['entity_id' => $this->id, 'entity_type' => 2, 'status' => Comment::STATUS_ACTIVE])->count(); return Comment::find()->where(['entity_id' => $this->id, 'entity_type' => 2, 'status' => Comment::STATUS_ACTIVE])->count();
}, },
'taskUsers', 'taskUsers',
];
}
/**
* @return string[]
*/
public function extraFields(): array
{
return [
'timers', 'timers',
'column' => function () {
return [
'column_title' => $this->column->title ?? null
];
}
]; ];
} }

View File

@ -29,13 +29,13 @@ class TaskService
public static function getTaskListByProject($project_id): array public static function getTaskListByProject($project_id): array
{ {
return ProjectTask::find()->where(['project_id' => $project_id])->all(); return ProjectTask::find()->where(['project_id' => $project_id])->orderBy('priority DESC')->all();
} }
public static function getTaskListByUser($user_id): array public static function getTaskListByUser($user_id): array
{ {
$taskIdList = ProjectTaskUser::find()->where(['user_id' => $user_id])->select('task_id')->column(); $taskIdList = ProjectTaskUser::find()->where(['user_id' => $user_id])->select('task_id')->column();
return ProjectTask::find()->where([ 'IN', 'id', $taskIdList])->orWhere(['user_id' => $user_id])->all(); return ProjectTask::find()->where([ 'IN', 'id', $taskIdList])->orWhere(['user_id' => $user_id])->orderBy('priority DESC')->all();
} }
public static function updateTask($task_params): ?ProjectTask public static function updateTask($task_params): ?ProjectTask

View File

@ -137,6 +137,15 @@ class TaskController extends ApiController
* type="integer", * type="integer",
* ) * )
* ), * ),
* @OA\Parameter(
* name="expand",
* in="query",
* example="column,timers",
* description="В этом параметре по необходимости передаются поля, которые нужно добавить в ответ сервера, сейчас доступно только поля <b>column</b>, <b>timers</b>",
* @OA\Schema(
* type="string",
* )
* ),
* @OA\Response( * @OA\Response(
* response=200, * response=200,
* description="Возвращает массив объектов Задач", * description="Возвращает массив объектов Задач",
@ -184,6 +193,15 @@ class TaskController extends ApiController
* type="integer", * type="integer",
* ) * )
* ), * ),
* @OA\Parameter(
* name="expand",
* in="query",
* example="column,timers",
* description="В этом параметре по необходимости передаются поля, которые нужно добавить в ответ сервера, сейчас доступно только поля <b>column</b>, <b>timers</b>",
* @OA\Schema(
* type="string",
* )
* ),
* @OA\Response( * @OA\Response(
* response=200, * response=200,
* description="Возвращает массив объектов Задач", * description="Возвращает массив объектов Задач",
@ -233,6 +251,15 @@ class TaskController extends ApiController
* type="integer", * type="integer",
* ) * )
* ), * ),
* @OA\Parameter(
* name="expand",
* in="query",
* example="column,timers",
* description="В этом параметре по необходимости передаются поля, которые нужно добавить в ответ сервера, сейчас доступно только поля <b>column</b>, <b>timers</b>",
* @OA\Schema(
* type="string",
* )
* ),
* @OA\Response( * @OA\Response(
* response=200, * response=200,
* description="Возвращает объект Задачи", * description="Возвращает объект Задачи",

View File

@ -119,6 +119,9 @@ class Project extends \common\models\Project
]; ];
} }
/**
* @return string[]
*/
public function extraFields(): array public function extraFields(): array
{ {
return ['columns',]; return ['columns',];