File: /home/aliazzsr/api.crm.vqode.com/components/actions/BodyFormAction.php
<?php
namespace app\components\actions;
use app\components\BaseBodyForm;
use app\models\messages\ErrorMessage;
use app\models\messages\SuccessMessage;
use yii\base\Action;
class BodyFormAction extends Action
{
/** @var string $formClass BaseBodyForm class */
public $formClass = null;
public function run()
{
$formClass = $this->formClass;
try {
/** @var BaseBodyForm $model */
$model = new $formClass();
if ($model->process()) {
return new SuccessMessage();
}
} catch (\Throwable $e) {
return new ErrorMessage([
'code' => 500,
'message' => $e->getMessage(), //'Internal Server Error',
]);
}
\Yii::$app->response->setStatusCode($model->httpCode);
return $model->getErrors();
}
}