Name
global.LiveFeedFavorite
Description
Live Feed Favorites Service
Script
var LiveFeedFavorite = Class.create();
LiveFeedFavorite.prototype = {
LIVE_FAVORITE: "live_favorite",
DOCUMENT: "document",
TABLE: "table",
USER: "user",
initialize: function() {
this.util = new LiveFeedUtil();
},
getSessionProfile: function() {
return this.util.getSessionProfile();
},
getFavorite: function(table, sys_id) {
if(!sys_id)
return;
var gr = new GlideRecord(this.LIVE_FAVORITE);
gr.addQuery(this.TABLE, table);
gr.addQuery(this.DOCUMENT, sys_id);
gr.addQuery(this.USER, this.getSessionProfile());
gr.query();
if(gr.next())
return gr;
},
favorite: function(table, sys_id) {
var fav = this.getFavorite(table, sys_id);
if(fav)
return false;
var gr = new GlideRecord(table);
if(!gr.get(sys_id))
return false;
var domain = gr.getValue(this.util.SYS_DOMAIN);
fav = new GlideRecord(this.LIVE_FAVORITE);
fav.initialize();
fav.user = this.getSessionProfile();
fav.table = table;
fav.document = sys_id;
fav.sys_domain = domain;
fav.insert();
return true;
},
unfavorite: function(table, sys_id) {
var fav = this.getFavorite(table, sys_id);
if(fav) {
fav.deleteRecord();
return true;
}
return false;
},
deleteFavorites: function(table, sys_id) {
var fav = new GlideRecord(this.LIVE_FAVORITE);
fav.addQuery(this.TABLE, table);
fav.addQuery(this.DOCUMENT, sys_id);
fav.query();
while(fav.next())
fav.deleteRecord();
},
type: 'LiveFeedFavorite'
}
Sys ID
35f6fb98372121009a80a0ffbe41f111