all(), [ 'password' => 'required', 'newPassword' => [ 'required', 'min:8', 'regex:/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\x])(?=.*[!$#%@]).*$/', 'confirmed' ], ], [ 'required' => 'The :attribute field is required', 'same' => 'The :attribute must contain the same password', 'min' => 'The :attribute field must be 8 characters minimum', 'regex' => 'The :attribute field must contain at least 1 uppercase letter and symbol and also a number', 'confirmed' => 'Password does not match' ]); $validationMessage = $this->validationError($validator); if ($validationMessage) { return response()->json(['status' => 400, 'message' => $validationMessage]); } $user = User::find(auth()->guard('users')->user()->id); if (Hash::check($request->password, $user->password)) { $updatePassword = User::where('id', auth()->guard('users')->user()->id)->update([ 'password' => bcrypt($request->newPassword) ]); Session::flush(); \Auth::guard('users')->logout(); return response()->json(['status' => 200, 'message' => 'Password Updated Successfully']); } return response()->json(['status' => 400, 'message' => 'Could not update password']); } public function changePinAPI(Request $request) { $validator = Validator::make($request->all(), [ 'current_pin' => 'required|min:4|max:4', 'new_pin' => [ 'required', 'min:4','max:4','confirmed' ], ], [ 'required' => 'The :attribute field is required', 'min' => 'The :attribute must contain only 4 digits', 'max' => 'The :attribute must contain only 4 digits', 'confirmed' => 'The confirmed pin does not match' ]); $validationMessage = $this->validationError($validator); if ($validationMessage) { return response()->json(['status' => 400, 'message' => $validationMessage]); } $user = User::find($request->user()->id); if($user->pin == $request->current_pin){ $updatePassword = User::where('id', $request->user()->id)->update([ 'pin' => $request->new_pin ]); if ($updatePassword) { return response()->json(['status' => 200, 'message' => 'Pin Updated Successfully']); } } return response()->json(['status' => 400, 'message' => 'Could not update pin'],400); } public function validationError($validator) { if ($validator->fails()) { $errors = $validator->errors(); $messages = ''; foreach ($errors->all() as $message) { $messages .= $message . '
'; } return $messages; } } }