48 lines
1.4 KiB
PHP
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.');
|
|
}
|
|
}
|