Exemplo n.º 1
0
 public function createUserSkill(UserService $user, $user_id)
 {
     $retrieve = ['skill_id', 'rate'];
     try {
         $input = Request::only($retrieve);
         $validation = $user->validateUserSkill($input);
         if (!$validation->fails()) {
             if ($user->checkUserSkillArchive($user_id, $input['skill_id'])) {
                 $restored_skill = $user->restoreUserSkill($user_id, $input['skill_id']);
                 if ($restored_skill) {
                     $skill = $user->updateUserSkill($user_id, $restored_skill['id'], $input);
                 }
             } else {
                 if ($user->checkUserSkill($user_id, $input['skill_id'])) {
                     $skill = $user->getUserSkill($user_id, $input['skill_id']);
                 } else {
                     $skill = $user->createUserSkill($user_id, $input['skill_id'], $input['rate']);
                 }
             }
         } else {
             return $this->json_response->error(['validation_message' => $validation->messages()]);
         }
         if (!empty($skill)) {
             return $this->json_response->success($skill);
         }
         return $this->json_response->error();
     } catch (Exception $e) {
         return $this->json_response->error(['error' => $e->getMessage()]);
     }
 }