add resume request
This commit is contained in:
parent
df05e0421c
commit
44cfe842d5
@ -2,14 +2,11 @@
|
||||
|
||||
namespace common\models;
|
||||
|
||||
use common\classes\Debug;
|
||||
use Exception;
|
||||
use phpDocumentor\Reflection\Types\This;
|
||||
use Yii;
|
||||
use yii\behaviors\TimestampBehavior;
|
||||
use yii\db\ActiveQuery;
|
||||
use yii\db\Expression;
|
||||
use yii\filters\AccessControl;
|
||||
use yii\helpers\ArrayHelper;
|
||||
|
||||
/**
|
||||
@ -45,6 +42,7 @@ use yii\helpers\ArrayHelper;
|
||||
*
|
||||
* @property FieldsValue[] $fieldsValues
|
||||
* @property ProjectUser[] $projectUsers
|
||||
* @property CardSkill[] $skillValues
|
||||
* @property ResumeTemplate $resumeTemplate
|
||||
* @property Position $position
|
||||
* @property Status $status0
|
||||
@ -246,6 +244,13 @@ class UserCard extends \yii\db\ActiveRecord
|
||||
return $this->hasMany(CardSkill::class, ['card_id' => 'id'])->with('skill');
|
||||
}
|
||||
|
||||
public function getSkillsName()
|
||||
{
|
||||
return $this->getSkillValues()
|
||||
->leftJoin('skill', 'card_skill.skill_id = skill.id')
|
||||
->select('skill.name')->column();
|
||||
}
|
||||
|
||||
public static function getNameSkills()
|
||||
{
|
||||
return ArrayHelper::map(Skill::find()->all(), 'id', 'name');
|
||||
|
45
frontend/modules/api/controllers/ResumeController.php
Normal file
45
frontend/modules/api/controllers/ResumeController.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace frontend\modules\api\controllers;
|
||||
|
||||
use frontend\modules\api\models\resume\Resume;
|
||||
use Yii;
|
||||
|
||||
class ResumeController extends ApiController
|
||||
{
|
||||
|
||||
/**
|
||||
* @OA\Get(path="/resume",
|
||||
* summary="Резюме пользователя",
|
||||
* description="Получение резюме пользователя",
|
||||
* security={
|
||||
* {"bearerAuth": {}}
|
||||
* },
|
||||
* tags={"Resume"},
|
||||
* @OA\Parameter(
|
||||
* name="userId",
|
||||
* description="Метод для получение резюме",
|
||||
* in="query",
|
||||
* required=false,
|
||||
* @OA\Schema(
|
||||
* type="integer",
|
||||
* )
|
||||
* ),
|
||||
* @OA\Response(
|
||||
* response=200,
|
||||
* description="Возвращает объект Резюме",
|
||||
* @OA\MediaType(
|
||||
* mediaType="application/json",
|
||||
* @OA\Schema(ref="#/components/schemas/Resume"),
|
||||
* ),
|
||||
* ),
|
||||
* )
|
||||
*
|
||||
* @param int|null $userId
|
||||
* @return Resume|null
|
||||
*/
|
||||
public function actionIndex(int $userId = null): ?Resume
|
||||
{
|
||||
return Resume::findOne($userId ?? Yii::$app->user->identity->id);
|
||||
}
|
||||
}
|
54
frontend/modules/api/models/resume/Resume.php
Normal file
54
frontend/modules/api/models/resume/Resume.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace frontend\modules\api\models\resume;
|
||||
|
||||
use yii\helpers\ArrayHelper;
|
||||
|
||||
/**
|
||||
*
|
||||
* @OA\Schema(
|
||||
* schema="Resume",
|
||||
* @OA\Property(
|
||||
* property="stack",
|
||||
* type="array",
|
||||
* @OA\Items(
|
||||
* type="string",
|
||||
* ),
|
||||
* example="[Yii2,Vue]",
|
||||
* description="Основной стек"
|
||||
* ),
|
||||
* @OA\Property(
|
||||
* property="resume",
|
||||
* type="string",
|
||||
* example="Резюме",
|
||||
* description="Тело резюме в HTML разметке"
|
||||
* ),
|
||||
*)
|
||||
*
|
||||
* @OA\Schema(
|
||||
* schema="ResumeExample",
|
||||
* type="array",
|
||||
* @OA\Items(
|
||||
* ref="#/components/schemas/Resume",
|
||||
* ),
|
||||
*)
|
||||
*/
|
||||
class Resume extends \common\models\User
|
||||
{
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function fields(): array
|
||||
{
|
||||
return [
|
||||
'stack' => function() {
|
||||
return $this->userCard->getSkillsName();
|
||||
|
||||
},
|
||||
'resume' => function () {
|
||||
return $this->userCard->vc_text;
|
||||
},
|
||||
];
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user