<?php

namespace App\Http\Controllers;

use App\Http\Requests\ContactRequest;
use App\Models\Contact;
use App\Models\Customer;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;

class ContactController extends Controller
{
    public function index(): void {}

    public function create(Request $request): View
    {
        return view('contacts.create', [
            'customers'    => Customer::all(),
            'fromCustomer' => $request->get('customer'),
        ]);
    }

    public function store(ContactRequest $request): RedirectResponse
    {
        $contact = Contact::create($request->validated());

        return redirect()->route('customers.show', [$contact->customer, 'contacts'])->with('status', 'Contact created successfully');
    }

    public function show(int $id): void {}

    public function edit(int $id): void {}

    public function update(Request $request, int $id): void {}

    public function requestDestroy(Request $request): RedirectResponse
    {
        $contact = Contact::find($request->get('contact'));
        $contact->delete();

        return redirect()->route('customers.show', [$contact->customer->id, 'contacts'])->with('status', 'Contact deleted successfully');
    }

    public function destroy(int $id): void {}
}