migrant-web/app/Http/Controllers/Employer/AnnouncementController.php
2026-05-20 13:26:43 +05:30

48 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers\Employer;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Inertia\Inertia;
use App\Models\Announcement;
class AnnouncementController extends Controller
{
public function index(Request $request)
{
$dbAnnouncements = Announcement::latest()->get();
$announcements = $dbAnnouncements->map(function ($ann) {
return [
'id' => $ann->id,
'title' => $ann->title,
'content' => $ann->body,
'audience' => in_array($ann->type, ['Shortlisted', 'Selected Candidates']) ? $ann->type : 'Selected Candidates',
'created_at' => $ann->created_at->diffForHumans(),
];
})->toArray();
return Inertia::render('Employer/Announcements', [
'initialAnnouncements' => $announcements,
]);
}
public function store(Request $request)
{
$request->validate([
'title' => 'required|string|max:255',
'content' => 'required|string',
'audience' => 'required|string|in:Shortlisted,Selected Candidates',
]);
Announcement::create([
'title' => $request->title,
'body' => $request->content,
'type' => $request->audience,
]);
return back()->with('success', 'Announcement posted successfully.');
}
}