sketch our two new RPCs for trimming history

pull/1/head
ansuz 5 years ago
parent 15ca855f22
commit ff40538ee7

@ -933,6 +933,16 @@ var removeOwnedChannel = function (Env, channelId, unsafeKey, cb) {
}); });
}; };
var removeOwnedChannelHistory = function (Env, channelId, unsafeKey, hash, cb) {
// XXX validate that the user sending the request owns the channel in question
// proceed to call Env.msgStore.trimChannel(channelId, hash, cb) if ok
// otherwise reject with INSUFFICIENT_PERMISSIONS
// XXX if trimChannel calls back without an error
// you must also clear the channel's index from historyKeeper cache
cb("E_NOT_IMPLEMENTED");
};
/* Users should be able to clear their own pin log with an authenticated RPC /* Users should be able to clear their own pin log with an authenticated RPC
*/ */
var removePins = function (Env, safeKey, cb) { var removePins = function (Env, safeKey, cb) {
@ -949,6 +959,11 @@ var removePins = function (Env, safeKey, cb) {
}); });
}; };
var trimPins = function (Env, safeKey, cb) {
// XXX trim to latest pin checkpoint
cb("NOT_IMPLEMENTED");
};
/* /*
We assume that the server is secured against MitM attacks We assume that the server is secured against MitM attacks
via HTTPS, and that malicious actors do not have code execution via HTTPS, and that malicious actors do not have code execution
@ -1313,9 +1328,11 @@ var isAuthenticatedCall = function (call) {
'OWNED_UPLOAD_COMPLETE', 'OWNED_UPLOAD_COMPLETE',
'UPLOAD_CANCEL', 'UPLOAD_CANCEL',
'EXPIRE_SESSION', 'EXPIRE_SESSION',
'TRIM_OWNED_CHANNEL_HISTORY',
'CLEAR_OWNED_CHANNEL', 'CLEAR_OWNED_CHANNEL',
'REMOVE_OWNED_CHANNEL', 'REMOVE_OWNED_CHANNEL',
'REMOVE_PINS', 'REMOVE_PINS',
'TRIM_PINS',
'WRITE_LOGIN_BLOCK', 'WRITE_LOGIN_BLOCK',
'REMOVE_LOGIN_BLOCK', 'REMOVE_LOGIN_BLOCK',
'ADMIN', 'ADMIN',
@ -1635,11 +1652,21 @@ RPC.create = function (
if (e) { return void Respond(e); } if (e) { return void Respond(e); }
Respond(void 0, "OK"); Respond(void 0, "OK");
}); });
case 'TRIM_OWNED_CHANNEL_HISTORY':
return void removeOwnedChannelHistory(Env, msg[1], publicKey, msg[2], function (e) {
if (e) { return void Respond(e); }
Respond(void 0, 'OK');
});
case 'REMOVE_PINS': case 'REMOVE_PINS':
return void removePins(Env, safeKey, function (e) { return void removePins(Env, safeKey, function (e) {
if (e) { return void Respond(e); } if (e) { return void Respond(e); }
Respond(void 0, "OK"); Respond(void 0, "OK");
}); });
case 'TRIM_PINS':
return void trimPins(Env, safeKey, function (e) {
if (e) { return void Respond(e); }
Respond(void 0, "OK");
});
case 'UPLOAD': case 'UPLOAD':
return void Env.blobStore.upload(safeKey, msg[1], function (e, len) { return void Env.blobStore.upload(safeKey, msg[1], function (e, len) {
WARN(e, len); WARN(e, len);

Loading…
Cancel
Save