51 lines
1.5 KiB
JavaScript
51 lines
1.5 KiB
JavaScript
'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(window.apiPrefix + '/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);
|
|
});
|