/** * Once Maximum No of Attempt is Reach Block the Code */ public function blockCode($pin) { return Code::findByPin($pin)->tooManyCodeAttempts()->update(array('blocked' => true)); }
public function activateFirstLink(Request $request) { $activateFirstLinkRequest = new ActivateFirstLinkRequest(); $validator = Validator::make($request->all(), $activateFirstLinkRequest->rules(), $activateFirstLinkRequest->messages()); if ($validator->fails()) { return response()->json(['success' => false, 'errors' => $validator->errors()->toArray()], 400); } if ($this->captchaCheck() == false) { $errors = $validator->errors()->add('captchaerror', 'Captcha Expired Refresh Page!'); return response()->json(['success' => false, 'errors' => $errors], 200); } $pin = $request->pin; $secret = $request->secret; $link = $request->link; $code = Code::where('pin', $pin)->first(); $link = Link::findByLink($link); if ($link->active == true) { $errors = $validator->errors()->add('linkerror', 'Your Link is Already Active'); return response()->json(['success' => false, 'errors' => $errors], 200); } if ($code->used == true) { $errors = $validator->errors()->add('linkerror', 'Your Code is Already Used!'); return response()->json(['success' => false, 'errors' => $errors], 200); } if ($code->attempts > 4) { $code->blocked = true; $code->save(); } if ($code->blocked === true) { $errors = $validator->errors()->add('CodeError', 'Maximum Tries Reach! Code is Blocked!'); return response()->json(['success' => false, 'errors' => $errors], 423); } try { $validcode = Code::findByPin($pin)->secret($secret)->firstOrFail(); } catch (ModelNotFoundException $e) { $code = Code::findByPin($pin); $code->attempts = $code->attempts + 1; $code->save(); $attempts = $code->attempts; $errorMessage = 5 - $attempts . ' More Attempt Until Code is Blocked!'; $errors = $validator->errors()->add('CodeError', $errorMessage); return response()->json(['success' => false, 'errors' => $errors], 400); } // $code here inherent call above // $link is modified already to object not string link // Both $code and $link are Object Already $code->used = true; $link->code()->save($code); $link->active = true; $link->sp_link_id = $link->activeSponsor($link->sp_link_id); $link->save(); return response()->json(['success' => true, 'url' => 'FirstLink'], 201); }