70 lines
1.7 KiB
PHP
70 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace frontend\modules\api\controllers;
|
|
|
|
use common\services\TemplateService;
|
|
use yii\web\NotFoundHttpException;
|
|
|
|
class TemplateController extends ApiController
|
|
{
|
|
|
|
public function verbs(): array
|
|
{
|
|
return [
|
|
'get-template-list' => ['get'],
|
|
'get-template-fields' => ['get'],
|
|
'get-template' => ['get'],
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @throws NotFoundHttpException
|
|
*/
|
|
public function actionGetTemplateList($document_type = null): array
|
|
{
|
|
$templateList = TemplateService::getTemplateList($document_type);
|
|
|
|
if (empty($templateList)) {
|
|
throw new NotFoundHttpException('No templates found');
|
|
}
|
|
|
|
return $templateList;
|
|
}
|
|
|
|
/**
|
|
* @throws NotFoundHttpException
|
|
*/
|
|
public function actionGetTemplateFields($template_id): array
|
|
{
|
|
if (empty($template_id) or !is_numeric($template_id)) {
|
|
throw new NotFoundHttpException('Incorrect template ID');
|
|
}
|
|
|
|
$templateWithFields = TemplateService::getTemplateWithFields($template_id);
|
|
|
|
if (empty($templateWithFields)) {
|
|
throw new NotFoundHttpException('No template found');
|
|
}
|
|
|
|
return $templateWithFields;
|
|
}
|
|
|
|
/**
|
|
* @throws NotFoundHttpException
|
|
*/
|
|
public function actionGetTemplate($template_id): array
|
|
{
|
|
if (empty($template_id) or !is_numeric($template_id)) {
|
|
throw new NotFoundHttpException('Incorrect template ID');
|
|
}
|
|
|
|
$template = TemplateService::getTemplate($template_id);
|
|
|
|
if (empty($template)) {
|
|
throw new NotFoundHttpException('No template found');
|
|
}
|
|
|
|
return $template;
|
|
}
|
|
}
|