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/html/app/Livewire/Auth/SetNewPassword.php
<?php

namespace App\Livewire\Auth;

use Livewire\Component;
use App\Services\ApiEndpoints;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Session;

class SetNewPassword extends Component
{
    public $password;
    public $reset_code;
    public $device_name;
    public $showPassword = false;

    protected $rules = [
        'reset_code' => 'required|numeric|exists:otp_verifications,otp|digits:6',
        'password' => 'required|valid_password',
        'device_name' => 'required|string',
    ];

    public function mount()
    {
        $this->device_name = Session::get('device_name');

    }

    public function togglePassword()
    {
        $this->showPassword = !$this->showPassword;
    }

    public function setNewPassword()
    {
        try {
            $this->validate();
            $email = session('user_email');
            $response = Http::post(ApiEndpoints::newPassword(), [
                'email' => $email,
                'token' => $this->reset_code,
                'password' => $this->password,
                'device_name' => $this->device_name,
            ]);
            if ($response->successful()) {
                $info = $response->json(['message']);
                Session::flush();     
                Session::flash('success', $info);
                return redirect()->to('/login');
            } else {
                $info = $response->json(['message']);
                $this->addError('password', $info);
            }
        } catch (\Throwable $th) {
            $info = $th->getMessage();
            $this->addError('password', $info);
            Log::error($th->getMessage());
        }
    }
    
    public function render()
    {
        
        return view('livewire.auth.set-new-password');
    }
}