You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cryptpad/www/examples/pin/main.js

104 lines
3.1 KiB
JavaScript

require.config({ paths: { 'json.sortify': '/bower_components/json.sortify/dist/JSON.sortify' } });
define([
'/common/cryptpad-common.js',
'/common/pinpad.js',
'/bower_components/jquery/dist/jquery.min.js',
], function (Cryptpad, Pinpad) {
var $ = window.jQuery;
var APP = window.APP = {
Cryptpad: Cryptpad,
};
var then = function (call) {
call.getFileSize('26f014b2ab959418605ea37a6785f317', function (e, msg) {
if (e) {
if (e === 'ENOENT') { return; }
return void console.error(e);
}
console.error("EXPECTED ENOENT");
console.log(msg);
});
call.getFileSize('pewpew', function (e, msg) {
if (e) {
if (e === 'INVALID_CHAN') { return; }
return void console.error(e);
}
console.log(msg);
});
var list = Cryptpad.getUserChannelList();
if (list.length) {
call.getFileSize(list[0], function (e, msg) {
if (e) {
return void console.error(e);
}
console.log(msg);
});
}
call.getServerHash(function (e, hash) {
if (e) { return void console.error(e); }
console.log("the server believes your user hash is [%s]", hash);
});
};
var synchronize = function (call) {
var localHash = call.localChannelsHash();
var serverHash;
call.getFileListSize(function (e, bytes) {
if (e) { return void console.error(e); }
console.log("%s total bytes used", bytes);
});
call.getServerHash(function (e, hash) {
if (e) { return void console.error(e); }
serverHash = hash;
if (serverHash === localHash) {
return console.log("all your pads are pinned. There is nothing to do");
}
call.reset(function (e, response) {
if (e) { return console.error(e); }
var list = call.uniqueChannelList();
var left = list.length;
// now start pinning...
list.forEach(function (channel) {
call.pin(channel, function (e, hash) {
left--;
if (!e) {
console.log('pinned channel [%s]. new hash is [%s]', channel, hash);
} else {
console.error(e);
}
if (left === 0) {
console.log('done pinning');
}
});
});
});
/*
console.log(JSON.stringify({
local: localHash,
remote: serverHash,
}, null, 2));*/
});
};
$(function () {
Cryptpad.ready(function (err, env) {
Pinpad.create(function (e, call) {
if (e) { return void console.error(e); }
// then(call);
synchronize(call);
});
});
});
});