Get the list of unread notifications of the user

This commit is contained in:
Pierre
2018-02-19 14:41:44 +01:00
parent b9406731a4
commit ecbccd1b9d
2 changed files with 103 additions and 1 deletions

View File

@ -9,7 +9,7 @@ class notificationsController {
/**
* Get the number of unread notifications of a user
* Count the number of unread notifications of a user
*
* @url POST notifications/count_unread
*/
@ -27,4 +27,56 @@ class notificationsController {
}
/**
* Get the list of unread notifications of a user
*
* @url POST notifications/get_list_unread
*/
public function get_list_unread(){
user_login_required();
//Get the list of unread notifications
$list = components()->notifications->list_unread(userID);
//Process the list of notifications
foreach($list as $num => $data){
$list[$num] = $this->notifToArray($data);
}
//Return the list of notifications
return $list;
}
/**
* Turn a notification entry into a standard API notification array
*
* Warning !!! The notification must be fully initialized
*
* @param Notification $notif The notification to process
* @return array The generated array
*/
private function notifToArray(Notification $notif) : array {
$array = array();
//Parse the notification
$array['id'] = $notif->get_id();
$array['time_create'] = $notif->get_time_create();
$array['seen'] = $notif->is_seen();
$array['from_user_id'] = $notif->get_from_user_id();
$array['dest_user_id'] = $notif->get_dest_user_id();
$array['on_elem_id'] = $notif->get_on_elem_id();
$array['on_elem_type'] = $notif->get_on_elem_type();
$array['type'] = $notif->get_type();
$array['event_visibility'] = $notif->get_event_visibility();
$array['from_container_id'] = $notif->get_from_container_id();
$array['from_container_type'] = $notif->get_from_container_type();
return $array;
}
}