resumeService = $resumeService; parent::__construct($id, $module, $config); } /** * @OA\Get(path="/resume", * summary="Резюме пользователя", * description="Получение резюме пользователя", * security={ * {"bearerAuth": {}} * }, * tags={"Resume"}, * @OA\Parameter( * name="userId", * description="Метод для получение резюме. userId - обязателен, в случае его отсудствия будет возвращено резюме текущего пользователя", * 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); } /** * * @OA\Put(path="/resume/edit-skills", * summary="Изменить скилы", * description="Метод полностью удалит старые скилы и используя переданые id скилов запишет новые", * security={ * {"bearerAuth": {}} * }, * tags={"Resume"}, * * @OA\RequestBody( * @OA\MediaType( * mediaType="json", * @OA\Schema( * required={"UserCard"}, * @OA\Property( * property="UserCard", * type="object", * @OA\Property( * property="skill", * type="array", * @OA\Items( * type="integer", * example={1,2,3,4} * ), * ), * ), * ), * ), * ), * @OA\Response( * response=200, * description="Возвращает сообщение об успехе", * ), * ) * ) * * @return array|ChangeResumeForm * @throws BadRequestHttpException */ public function actionEditSkills() { return $this->resumeService->editSkills(Yii::$app->request->post(), Yii::$app->user->identity->getId()); } /** * * @OA\Put(path="/resume/edit-text", * summary="Изменить резюме", * description="Метод для изменения текста резюме", * security={ * {"bearerAuth": {}} * }, * tags={"Resume"}, * * @OA\RequestBody( * @OA\MediaType( * mediaType="application/x-www-form-urlencoded", * @OA\Schema( * required={"resume"}, * @OA\Property( * property="resume", * type="string", * description="Текст резюме", * ), * ), * ), * ), * @OA\Response( * response=200, * description="Возвращает сообщение об успехе", * ), * ) * ) * * @return array|ChangeResumeForm * @throws BadRequestHttpException */ public function actionEditText(): ChangeResumeForm|array { return $this->resumeService->editText(Yii::$app->request->post(), Yii::$app->user->identity->getId()); } }