getNotifications(); return $this->response->setJSON($notifications); } // Marquer une notification comme lue public function markAsRead(int $id) { $Notification = new Notification(); $Notification->markAsRead($id); return $this->response->setJSON(['status' => 'success']); } // Créer une nouvelle notification public function createNotification(string $message, string $group, ?int $store_id, ?string $link) { $Notification = new Notification(); $data = [ 'message' => $message, 'is_read' => 0, 'forgroup' => $group, 'store_id' => $store_id, 'link' => $link, 'created_at' => date('Y-m-d H:i:s') ]; $Notification->insertNotification($data); } // Marquer toutes les notifications comme lues pour l'utilisateur connecté public function markAllAsRead() { $Notification = new Notification(); $session = session(); $users = $session->get('user'); // Mettre à jour toutes les notifications non lues pour ce store et ce groupe $builder = $Notification->builder(); $builder->where('store_id', $users['store_id']) ->groupStart() ->where('forgroup', $users['group_name']) ->orWhere('forgroup', strtolower('TOUS')) ->groupEnd() ->where('is_read', 0) ->set(['is_read' => 1]) ->update(); return $this->response->setJSON(['status' => 'success']); } }