messages.js•1.51 kB
'use strict';
angular.module('insight.messages').controller('VerifyMessageController',
function($scope, $http) {
$scope.message = {
address: '',
signature: '',
message: ''
};
$scope.verification = {
status: 'unverified', // ready|loading|verified|error
result: null,
error: null,
address: ''
};
$scope.verifiable = function() {
return ($scope.message.address
&& $scope.message.signature
&& $scope.message.message);
};
$scope.verify = function() {
$scope.verification.status = 'loading';
$scope.verification.address = $scope.message.address;
$http.post('/api/messages/verify', $scope.message)
.success(function(data, status, headers, config) {
if(typeof(data.result) != 'boolean') {
// API returned 200 but result was not true or false
$scope.verification.status = 'error';
$scope.verification.error = null;
return;
}
$scope.verification.status = 'verified';
$scope.verification.result = data.result;
})
.error(function(data, status, headers, config) {
$scope.verification.status = 'error';
$scope.verification.error = data;
});
};
// Hide the verify status message on form change
var unverify = function() {
$scope.verification.status = 'unverified';
};
$scope.$watch('message.address', unverify);
$scope.$watch('message.signature', unverify);
$scope.$watch('message.message', unverify);
});