Files
ProjectKP/KP-ASOY FIX (2)/KP-ASOY/app/Http/Controllers/NotificationController.php
T
2026-06-28 15:14:51 +07:00

56 lines
1.5 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
class NotificationController extends Controller
{
/**
* Mendapatkan URL API.
*/
protected function apiUrl($endpoint)
{
return rtrim(env('BACKEND_API_URL'), '/') . '/' . ltrim($endpoint, '/');
}
/**
* Mengambil daftar notifikasi dari Backend.
*/
public function getNotifications()
{
if (!session()->has('api_token')) {
return response()->json(['success' => false, 'message' => 'Unauthorized'], 401);
}
$response = Http::withToken(session('api_token'))
->get($this->apiUrl('/notifications'));
if ($response->successful()) {
return response()->json($response->json());
}
return response()->json(['success' => false, 'message' => 'Gagal memuat notifikasi'], 500);
}
/**
* Menandai semua notifikasi telah dibaca di Backend.
*/
public function markAsRead()
{
if (!session()->has('api_token')) {
return response()->json(['success' => false, 'message' => 'Unauthorized'], 401);
}
$response = Http::withToken(session('api_token'))
->post($this->apiUrl('/notifications/read'));
if ($response->successful()) {
return response()->json($response->json());
}
return response()->json(['success' => false, 'message' => 'Gagal menandai telah dibaca'], 500);
}
}