Skip to content
Snippets Groups Projects
Select Git revision
  • 8fd8a9ffd4bdd7dec269099ed2e2b780988424ab
  • master default protected
  • chrome-manifest-v3
  • feature/migrate-cordova-13
  • feat/improve-network-scan
  • feat/force-migration-check
  • develop
  • feature/encrypted_comment
  • feature/android_api_19
  • gitlab_migration_1
  • rml8
  • v1.7.15-rc1
  • v1.7.14
  • v1.7.13
  • v1.7.12
  • v1.7.11
  • v1.7.10
  • v1.7.9
  • v1.7.8
  • v1.7.7
  • v1.7.6
  • v1.7.5
  • v1.7.4
  • v1.7.3
  • v1.7.2
  • v1.7.1
  • v1.7.0
  • v1.7.0-rc2
  • v1.7.0-rc1
  • v1.6.12
  • v1.6.11
31 results

peer-controllers.js

Blame
  • peer-controllers.js 1.23 KiB
    
    function PeerController($scope, $rootScope, $ionicSlideBoxDelegate, $ionicModal, BMA, $controller) {
      'ngInject';
    
      $scope.$on('$ionicView.enter', function(e, $state) {
        if (!$rootScope.memberUidsByPubkeys) {
          BMA.wot.member.uids()
          .then(function(uids){
            $rootScope.memberUidsByPubkeys = uids;
            $scope.showPeer($state.stateParams.server);
          });
        }
        else {
          $scope.showPeer($state.stateParams.server);
        }
      });
    
      $scope.showPeer = function(server) {
        $scope.node = BMA.instance(server);
        // Get the peers
        $scope.node.network.peers()
          .then(function(json){
            $scope.loaded = true;
            var peers = json.peers.map(function(p) {
              var peer = new Peer(p);
              peer.online = p.status == 'UP';
              peer.blockNumber = peer.block.replace(/-.+$/, '');
              peer.dns = peer.getDns();
              peer.uid = $rootScope.memberUidsByPubkeys[peer.pubkey];
              return peer;
            });
            $scope.peers = _.sortBy(peers, function(p) {
              var score = 1;
              score += 10000 * (p.online ? 1 : 0);
              score += 1000  * (p.hasMainConsensusBlock ? 1 : 0);
              score += 100   * (p.uid ? 1 : 0);
              return -score;
            });
          });
      };
    }