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;
    }
  };
}]);