public function updateOrFail($class, $modelId, Request $request, $returnModelInstance = false, array $rules = array()) { $requestData = $request->all(); $updateRules = count($rules) > 0 ? $rules : (isset($this->updateRules) ? $this->updateRules : array()); $validator = $this->validator($requestData, $updateRules); if ($validator->fails()) { return responseJsonUnprocessableEntity(['message' => $this->contentCannotBeParsedMsg, 'errors' => shrinkValidationErrors($validator->errors()->getMessages())]); } if (method_exists($this, 'update')) { $modelInstance = $this->update($request, $modelId); } else { $modelInstance = $class::find($modelId); foreach ($requestData as $key => $value) { $modelInstance->{$key} = $value; } $modelInstance->save(); } if ($modelInstance instanceof ExecutionError) { $response = ['message' => $modelInstance->message]; if ($returnModelInstance === true) { $response['data'] = $modelInstance->data->toArray(); } return responseJsonForbidden($response); } $response = ['message' => $this->updateSuccessMsg]; if ($returnModelInstance === true) { $response['data'] = $modelInstance->toArray(); } return responseJsonOk($response); }
/** * Display the password reset view for the given token. * * @param string $token * @return \Illuminate\Http\Response */ public function getConfirm($token = null) { if (is_null($token)) { return responseJsonNotFound(['message' => trans(Confirmation::NULL_TOKEN), 'errors' => trans(Confirmation::NULL_TOKEN)]); } $credentials = ['token' => $token]; $response = Confirmation::confirm($credentials, function ($user) { $this->confirmAccount($user); }); switch ($response) { case Confirmation::ACCOUNT_CONFIRMATION: return responseJsonOk(['message' => trans($response), 'data' => null]); default: return responseJsonUnprocessableEntity(['message' => trans($response), 'errors' => ['email' => trans($response)]]); } }