ComunicWeb/assets/js/components/notifications/interface.js

104 lines
2.1 KiB
JavaScript
Raw Normal View History

2018-02-19 08:39:00 +00:00
/**
* Notifications interface
*
* @author Pierre HUBERT
*/
ComunicWeb.components.notifications.interface = {
/**
* Get the number of unread notifications
*
* @param {function} callback
*/
getNbUnreads: function(callback){
//Perform API request
var apiURI = "notifications/count_unread";
var params = {};
//Perform the request
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
},
/**
* Get the number of unread news such as notifications or conversations
*
* @param {function} callback
*/
2020-04-10 09:17:10 +00:00
getAllUnread: function(callback){
//Perform API request
var apiURI = "notifications/count_all_news";
var params = {};
//Perform the request
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
2018-02-21 15:27:10 +00:00
},
2020-03-31 09:14:44 +00:00
// ASync version of previous request
2020-04-10 09:17:10 +00:00
asyncGetAllUnread: async function() {
2020-03-31 09:14:44 +00:00
return await new Promise((res, err) => {
2020-04-10 09:17:10 +00:00
this.getAllUnread((data) => {
2020-03-31 09:14:44 +00:00
if(data.error)
err(data.error);
else
res(data)
})
});
},
/**
* Get the list of unread notifications
*
* @param {function} callback
*/
get_list_unread: function(callback){
//Perform API request
var apiURI = "notifications/get_list_unread";
var params = {};
//Perform the request
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
},
2018-02-19 08:39:00 +00:00
/**
* Mark a notification as seen
*
* @param {number} id The ID of the notification to mark as seen
* @param {boolean} delete_similar Specify if the similar notifications
* associated to the user have to be delete too
* @param {function} callback (Optionnal)
*/
mark_seen: function(id, delete_similar, callback){
//Perform an API request
var apiURI = "notifications/mark_seen";
var params = {
notifID: id,
delete_similar: delete_similar
};
2018-02-20 13:38:43 +00:00
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
},
/**
* Delete all the notifications of the user
*
* @param {function} callback
*/
delete_all: function(callback){
//Perform an API request
var apiURI = "notifications/delete_all";
var params = {};
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
}
2018-02-19 08:39:00 +00:00
}