Add change password for pembida
This commit is contained in:
@@ -7,6 +7,8 @@ use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\User;
|
||||
use DB;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class UserController extends Controller
|
||||
@@ -53,4 +55,91 @@ class UserController extends Controller
|
||||
|
||||
return response()->json($user_update);
|
||||
}
|
||||
|
||||
public function changePassword(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'current_password' => 'required',
|
||||
'new_password' => 'required|string|min:8',
|
||||
'confirm_new_password' => 'required|string|min:8',
|
||||
], [
|
||||
'current_password.required' => ['status' => '1', 'message' => 'Sila isi kata laluan asal.'],
|
||||
'new_password.required' => ['status' => '2', 'message' => 'Sila isi kata laluan baharu.'],
|
||||
'new_password.min' => [
|
||||
'string' => [
|
||||
'status' => 3,
|
||||
'message' => 'Kata laluan baharu mestilah melebihi 8 karakter.',
|
||||
]
|
||||
],
|
||||
'confirm_new_password.required' => ['status' => '4', 'message' => 'Sila isi pengesahan kata laluan baharu.'],
|
||||
'confirm_new_password.min' => [
|
||||
'string' => [
|
||||
'status' => 5,
|
||||
'message' => 'Pengesahan kata laluan baharu mestilah melebihi 8 karakter.',
|
||||
]
|
||||
],
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
$all_errors = [
|
||||
'success' => false,
|
||||
'message' => $validator->errors()
|
||||
];
|
||||
return response($all_errors, 201);
|
||||
}
|
||||
|
||||
if (!(Hash::check($request->get('current_password'), Auth::user()->password))) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => [
|
||||
'current_password' => [
|
||||
0 => [
|
||||
'status' => 9,
|
||||
'message' => 'Kata laluan asal salah.'
|
||||
]
|
||||
]
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
if (strcmp($request->get('current_password'), $request->get('new_password')) == 0) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => [
|
||||
'current_password' => [
|
||||
0 => [
|
||||
'status' => 8,
|
||||
'message' => 'Kata laluan baharu tidak boleh sama dengan kata laluan asal.'
|
||||
]
|
||||
]
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
if (strcmp($request->get('new_password'), $request->get('confirm_new_password')) != 0) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => [
|
||||
'current_password' => [
|
||||
0 => [
|
||||
'status' => 12,
|
||||
'message' => 'Kata laluan baharu tidak sama dengan pengesahan kata laluan baharu.'
|
||||
]
|
||||
]
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
$validated_password = $validator->validated();
|
||||
|
||||
$user = Auth::user();
|
||||
$user->password = bcrypt($validated_password['new_password']);
|
||||
$user->save();
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'status' => 55,
|
||||
'message' => 'Kata laluan berjaya diubah'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user