'use strict'; var serviceId = 'features'; angular.module('app').factory(serviceId, ['config', '$http', '$q', features]); function features(config, $http, $q) { //set the defaults var currentFeatures = []; var service = { getCurrentFeatures: getCurrentFeatures }; return service; //get the user details function getCurrentFeatures(orgId) { if (currentFeatures.length > 0) { return $q.resolve(currentFeatures); } if (orgId) { //is the data in cache var url = config.orgAdminRemoteServiceUrl + orgId + '/organisationfeatures' + '?cache=' + Date.now(); //no - so get from server var request = $http({ method: "get", url: url }); return (request.then(function (response) { currentFeatures = response.data; return response.data; })); } return $q.resolve([]); } }