From 6cbcb9f358510a6b6366b1d7b3aa6c14ea1aa3f9 Mon Sep 17 00:00:00 2001 From: Chaim Lando Date: Wed, 5 Sep 2018 18:07:19 +0300 Subject: [PATCH] feat(engine-details): get details for one node --- app/docker/services/nodeService.js | 59 ++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 20 deletions(-) diff --git a/app/docker/services/nodeService.js b/app/docker/services/nodeService.js index 706f26647..91dacb6d2 100644 --- a/app/docker/services/nodeService.js +++ b/app/docker/services/nodeService.js @@ -1,24 +1,43 @@ -angular.module('portainer.docker') -.factory('NodeService', ['$q', 'Node', function NodeServiceFactory($q, Node) { - 'use strict'; - var service = {}; +angular.module('portainer.docker').factory('NodeService', [ + '$q', 'Node', + function NodeServiceFactory($q, Node) { + 'use strict'; + var service = {}; - service.nodes = function() { - var deferred = $q.defer(); + service.nodes = nodes; + service.node = node; - Node.query({}).$promise - .then(function success(data) { - var nodes = data.map(function (item) { - return new NodeViewModel(item); - }); - deferred.resolve(nodes); - }) - .catch(function error(err) { - deferred.reject({ msg: 'Unable to retrieve nodes', err: err }); - }); + function node(id) { + var deferred = $q.defer(); + Node.get({ id: id }) + .$promise.then(function onNodeLoaded(rawNode) { + var node = new NodeViewModel(rawNode); + return deferred.resolve(node); + }) + .catch(function onFailed(err) { + deferred.reject({ msg: 'Unable to retrieve node', err: err }); + }); - return deferred.promise; - }; + return deferred.promise; + } - return service; -}]); + function nodes() { + var deferred = $q.defer(); + + Node.query({}) + .$promise.then(function success(data) { + var nodes = data.map(function(item) { + return new NodeViewModel(item); + }); + deferred.resolve(nodes); + }) + .catch(function error(err) { + deferred.reject({ msg: 'Unable to retrieve nodes', err: err }); + }); + + return deferred.promise; + } + + return service; + } +]);