Name
sn_dependentclient.AppPluginMapDao
Description
No description available
Script
var AppPluginMapDao = Class.create();
AppPluginMapDao.prototype = {
initialize: function () {
},
upsertAppPluginMap: function (pluginId, sourceAppId) {
var gr = new GlideRecord("sn_dependentclient_app_plugin_map");
gr.addQuery("plugin_id", pluginId);
gr.addQuery("application.source_app_id", sourceAppId);
gr.setWorkflow(false);
gr.query();
if (!gr.next()) {
var app = new PluginDependentApplicationDao().getApplication(sourceAppId);
if (app && app.sysId) {
gr.initialize();
gr.application = app.sysId;
gr.plugin_id = pluginId;
gr.current = true;
gr.insert();
}
} else {
gr.current = true;
gr.update();
}
},
markCurrentFalse: function (pluginList) {
var gr = new GlideRecord("sn_dependentclient_app_plugin_map");
gr.setWorkflow(false);
var grOR = gr.addQuery("plugin_id", pluginList[0]);
for(var i =1; i< pluginList.length; i++) {
grOR.addOrCondition("plugin_id", pluginList[i]);
}
gr.query();
gr.setValue('current', false);
gr.updateMultiple();
},
getMappedAppsList : function(pluginList) {
var result = [];
var gr = new GlideRecord("sn_dependentclient_app_plugin_map");
gr.setWorkflow(false);
gr.addQuery("plugin_id", "IN", pluginList);
gr.query();
while(gr.next())
if(!gs.nil(gr.application.toString()))
result.push(gr.application.toString());
return result;
},
//delete app-plugin mapping which doesn't exist anymore
deleteInvalidEntries: function () {
gs.debug("Deleting Invalid Mappings");
var gr = new GlideRecord("sn_dependentclient_app_plugin_map");
gr.addQuery("current", false);
gr.setWorkflow(false);
gr.deleteMultiple();
},
/*input: {
"pluginId1": ["sourceAppId1", "sourceAppId1"],
"pluginId2": ["sourceAppId3", "sourceAppId1"],
}*/
upsertMultiplePluginAppMapping: function (pluginAppMap) {
for (var plugin in pluginAppMap) {
var sourceAppIdList = pluginAppMap[plugin];
for (var i = 0; i < sourceAppIdList.length; i++) {
this.upsertAppPluginMap(plugin, sourceAppIdList[i]);
}
}
},
type: 'AppPluginMapDao'
};
Sys ID
bad57e14c750030089413952f097636f