angular.module('portainer.helpers') .factory('InfoHelper', [function InfoHelperFactory() { 'use strict'; return { determineEndpointMode: function(info) { var mode = { provider: '', role: '' }; if (_.startsWith(info.ServerVersion, 'swarm')) { mode.provider = "DOCKER_SWARM"; if (info.SystemStatus[0][1] === 'primary') { mode.role = "PRIMARY"; } else { mode.role = "REPLICA"; } } else { if (!info.Swarm || _.isEmpty(info.Swarm.NodeID)) { mode.provider = "DOCKER_STANDALONE"; } else { mode.provider = "DOCKER_SWARM_MODE"; if (info.Swarm.ControlAvailable) { mode.role = "MANAGER"; } else { mode.role = "WORKER"; } } } return mode; } }; }]);