diff --git a/webui/src/app/core/providers.resource.js b/webui/src/app/core/providers.resource.js index 4754df5e2..e59ceeec7 100644 --- a/webui/src/app/core/providers.resource.js +++ b/webui/src/app/core/providers.resource.js @@ -12,34 +12,37 @@ angular function Providers($resource, $q) { const resourceProvider = $resource('../api/providers'); return { - get: function() { + get: function () { return $q((resolve, reject) => { - resourceProvider.get().$promise.then((rawProviders) => { - for (let providerName in rawProviders) { - if (rawProviders.hasOwnProperty(providerName)) { - if (!providerName.startsWith('$')) { - // BackEnds mapping - let bckends = rawProviders[providerName].backends; + resourceProvider.get() + .$promise + .then((rawProviders) => { + for (let providerName in rawProviders) { + if (rawProviders.hasOwnProperty(providerName)) { + if (!providerName.startsWith('$')) { + // BackEnds mapping + let bckends = rawProviders[providerName].backends || {}; + rawProviders[providerName].backends = Object.keys(bckends) + .map(key => { + const goodBackend = bckends[key]; + goodBackend.backendId = key; + return goodBackend; + }); - rawProviders[providerName].backends = Object.keys(bckends).map(key => { - const goodBackend = bckends[key]; - goodBackend.backendId = key; - return goodBackend; - }); - - // FrontEnds mapping - let frtends = rawProviders[providerName].frontends; - - rawProviders[providerName].frontends = Object.keys(frtends).map(key => { - const goodFrontend = frtends[key]; - goodFrontend.frontendId = key; - return goodFrontend; - }); + // FrontEnds mapping + let frtends = rawProviders[providerName].frontends || {}; + rawProviders[providerName].frontends = Object.keys(frtends) + .map(key => { + const goodFrontend = frtends[key]; + goodFrontend.frontendId = key; + return goodFrontend; + }); + } } } - } - resolve(rawProviders); - }).catch(reject); + resolve(rawProviders); + }) + .catch(reject); }); } };