HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1017-azure #17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /mnt/data/ghayatcom/ghayatcom-api/app/Http/Controllers/Api/ChangePasswordController.php
<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Http\Requests\ChangePasswordRequest;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Mail;
use App\Mail\PasswordUpdated;
use Exception;
use Throwable;
use Illuminate\Database\QueryException;

class ChangePasswordController extends Controller
{
    /**
    * Handles the process of changing the account password.
    */
    public function changePassword(ChangePasswordRequest $request)
    {
        try {
            DB::beginTransaction();
            $user = $request->user();
            $user->password = Hash::make($request->new_password);
            $user->save();
            DB::commit();
            Mail::to($user->email)->queue(new PasswordUpdated($user));
            return self::sentResponse(200, [], __('digimed_validation.success_response.change_password'));
        } catch(Exception | Throwable | QueryException $e) {
            DB::rollBack();
            return self::sentResponse(500, [], $e->getMessage());
        }
    }
}