diff --git a/lib/commands/channel.js b/lib/commands/channel.js index f50894016..318911bd8 100644 --- a/lib/commands/channel.js +++ b/lib/commands/channel.js @@ -93,7 +93,15 @@ Channel.removeOwnedChannel = function (Env, safeKey, channelId, cb) { }); }; -Channel.removeOwnedChannelHistory = function (Env, channelId, unsafeKey, hash, cb) { // XXX UNSAFE +Channel.trimHistory = function (Env, safeKey, data, cb) { + if (!(data && typeof(data.channel) === 'string' && typeof(data.hash) === 'string' && data.hash.length === 64)) { + return void cb('INVALID_ARGS'); + } + + var channelId = data.channel; + var unsafeKey = Util.unescapeKeyCharacters(safeKey); + var hash = data.hash; + nThen(function (w) { Metadata.getMetadata(Env, channelId, w(function (err, metadata) { if (err) { return void cb(err); } diff --git a/lib/commands/core.js b/lib/commands/core.js index 3e98d10dd..cbcf291bb 100644 --- a/lib/commands/core.js +++ b/lib/commands/core.js @@ -70,7 +70,7 @@ Core.expireSession = function (Sessions, safeKey) { Core.expireSessionAsync = function (Env, safeKey, cb) { setTimeout(function () { - Core.expireSession(Sessions, safeKey); + Core.expireSession(Env.Sessions, safeKey); cb(void 0, 'OK'); }); }; diff --git a/lib/rpc.js b/lib/rpc.js index d541a2550..11a9bb06f 100644 --- a/lib/rpc.js +++ b/lib/rpc.js @@ -118,6 +118,7 @@ const AUTHENTICATED_USER_TARGETED = { UNPIN: Pinning.unpinChannel, CLEAR_OWNED_CHANNEL: Channel.clearOwnedChannel, REMOVE_OWNED_CHANNEL: Channel.removeOwnedChannel, + TRIM_HISTORY: Channel.trimHistory, UPLOAD_STATUS: Upload.status, UPLOAD: Upload.upload, UPLOAD_COMPLETE: Upload.complete, @@ -166,11 +167,6 @@ var handleAuthenticatedMessage = function (Env, map) { switch (msg[0]) { case 'COOKIE': return void Respond(void 0); - case 'TRIM_OWNED_CHANNEL_HISTORY': - return void Channel.removeOwnedChannelHistory(Env, msg[1], publicKey, msg[2], function (e) { // XXX USER_TARGETED_DOUBLE - if (e) { return void Respond(e); } - Respond(void 0, 'OK'); - }); case 'WRITE_LOGIN_BLOCK': return void Block.writeLoginBlock(Env, msg[1], function (e) { // XXX SPECIAL if (e) { @@ -196,8 +192,6 @@ var handleAuthenticatedMessage = function (Env, map) { Respond(void 0, result); }); default: - console.log(msg); - throw new Error("OOPS"); return void Respond('UNSUPPORTED_RPC_CALL', msg); } };