File: /var/www/api.ayokah.co.uk/app/Http/Controllers/ContactController.php
<?php
namespace App\Http\Controllers;
use App\Models\Contact;
use App\Mail\ContactMail;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
use App\Notifications\ContactNotification;
use Illuminate\Support\Facades\Notification;
class ContactController extends Controller
{
public function index()
{
$contacts = Contact::all();
return view("contact.index", compact("ontacts"));
}
public function store(Request $request)
{
try {
$contact = Contact::create($request->all());
Mail::to($contact->email)->send(new ContactMail($contact));
$adminMail = env('APP_EMAIL');
Notification::route('mail', $adminMail)->notify(new ContactNotification($contact));
return response()->json([
'status' => 'success',
'message' => 'We’ve received your message – Ayokah will get back to you soon!'
], 201);
} catch (\Throwable $th) {
Log::info('Unable to save contact ' . $th->getMessage());
return response()->json(['message' => $th->getMessage()], 500);
}
}
}