/
v.bolshakov
/
AIEcosystem-Testing
Обзор
Документация
Войти
/
v.bolshakov
/
AIEcosystem-Testing
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
api/controllers/TaskController.php
70 строк
2 KB
Developer
Initial commit
03 авг 2026, 17:43
03 авг 2026, 17:43
7433917
Код
Авторство
О чём код?
<?php namespace api\controllers; use api\components\ApiException; use api\controllers\base\BaseController; use common\filter\TaskFilter; use common\models\Task; use common\search\TaskSearch; use Yii; use yii\helpers\ArrayHelper; use yii\helpers\UnsetArrayValue; /** * Работа с моделью Task * @see Task * * @author Dmitry E. Semenov <sde.tomsk@gmail.com> * @copyright Self (c) 2024 */ class TaskController extends BaseController { /** * {@inheritDoc} */ public function actions() { return ArrayHelper::merge(parent::actions(), [ 'index' => new UnsetArrayValue(), ]); } /** * @SWG\Get(path="/task", * tags = {"user"}, * summary = "Get user Task List", * produces = {"application/json", "application/xml"}, * @SWG\Parameter(in = "header", name = "hub-key", required = true, type = "string", description = "User Hub ID"), * @SWG\Parameter(in = "query", name = "page", type = "integer", description = "Page index"), * @SWG\Parameter(in = "query", name = "per-page", type = "integer", description = "Page size"), * @SWG\Parameter(in = "query", name = "sort", type = "string", description = "Multiple sort"), * @SWG\Response(response = 200, description = "OK"), * @SWG\Response(response = 422, description = "Unprocessable entity"), * @SWG\Response(response = 500, description = "Internal Server Error") * ) */ public function actionIndex() { $requestParams = Yii::$app->getRequest()->getBodyParams(); if (empty($requestParams)) { $requestParams = Yii::$app->getRequest()->getQueryParams(); } $searchModel = new TaskSearch(); $filter = new TaskFilter(); $filter->setSearchModel($searchModel); $filter->load($requestParams, ''); $filter->execute(); if ($filter->hasErrors()) { $message = implode(', ', $filter->getErrorSummary(false)); $exception = new ApiException(422, $message); $exception->errors = $filter->errors; throw $exception; } return $searchModel->search(Yii::$app->request->queryParams); } }