Name
sn_entitlement.SubscriptionEntitlementsService
Description
Provides information about subscriptions
Script
var SubscriptionEntitlementsService = Class.create();
SubscriptionEntitlementsService.prototype = {
initialize: function() {
},
/**
* Return information about all active subscriptions
* @return {array} an array of SubscriptionEntitlementData
*/
getActiveSubscriptions: function() {
return this._decorateWithURL(new LicenseDetailDaoV1().getLicenseDetailsByAllActive());
},
/**
* Return information about active subscriptions which contain specified app bundles
* @param {array} appBundles names of app bundles
* @return {array} an array of SubscriptionEntitlementData
*/
getSubscriptionsWithAppBundles: function(appBundles) {
if (this._shouldUseNewSchema())
return this._decorateWithURL(new SubscriptionEntitlementDao().getSubcriptionEntitlementsByContainsAppBundles(appBundles), "subscription_entitlement");
else
return this._decorateWithURL(new LicenseDetailDaoV1().getLicenseDetailsByContainsAppBundles(appBundles), "license_details");
},
_decorateWithURL: function(subscriptions, entitlementTableName) {
subscriptions.forEach(record => record.details_url = entitlementTableName + '?sys_id=' + record.id);
},
_shouldUseNewSchema: function() {
const surfRouting = gs.getProperty('glide.entitlement.surf.routing', true).toLowerCase() === 'true';
const emsDataAvailable = gs.getProperty('glide.entitlement.ems.data.available', false).toLowerCase() === 'true';
return !surfRouting && emsDataAvailable;
},
type: 'SubscriptionEntitlementsService'
};
Sys ID
27188a5a53f9e110abeaddeeff7b12a4