allow expert admins to get and clear cached channel indices
parent
b4adf65dc8
commit
488ec93ece
|
@ -175,6 +175,24 @@ var restoreArchivedDocument = function (Env, Server, cb) {
|
|||
cb("NOT_IMPLEMENTED");
|
||||
};
|
||||
|
||||
// CryptPad_AsyncStore.rpc.send('ADMIN', ['CLEAR_CHANNEL_INDEX', documentID], console.log)
|
||||
var clearChannelIndex = function (Env, Server, cb, data) {
|
||||
var id = Array.isArray(data) && data[1];
|
||||
if (typeof(id) !== 'string' || id.length < 32) { return void cb("EINVAL"); }
|
||||
delete Env.channel_cache[id];
|
||||
cb();
|
||||
};
|
||||
|
||||
// CryptPad_AsyncStore.rpc.send('ADMIN', ['GET_CHANNEL_INDEX', documentID], console.log)
|
||||
var getChannelIndex = function (Env, Server, cb, data) {
|
||||
var id = Array.isArray(data) && data[1];
|
||||
if (typeof(id) !== 'string' || id.length < 32) { return void cb("EINVAL"); }
|
||||
|
||||
var index = Util.find(Env, ['channel_cache', id]);
|
||||
if (!index) { return void cb("ENOENT"); }
|
||||
cb(void 0, index);
|
||||
};
|
||||
|
||||
// CryptPad_AsyncStore.rpc.send('ADMIN', [ 'ADMIN_DECREE', ['RESTRICT_REGISTRATION', [true]]], console.log)
|
||||
var adminDecree = function (Env, Server, cb, data, unsafeKey) {
|
||||
var value = data[1];
|
||||
|
@ -269,6 +287,9 @@ var commands = {
|
|||
ARCHIVE_DOCUMENT: archiveDocument,
|
||||
RESTORE_ARCHIVED_DOCUMENT: restoreArchivedDocument,
|
||||
|
||||
CLEAR_CHANNEL_INDEX: clearChannelIndex,
|
||||
GET_CHANNEL_INDEX: getChannelIndex,
|
||||
|
||||
ADMIN_DECREE: adminDecree,
|
||||
INSTANCE_STATUS: instanceStatus,
|
||||
GET_LIMITS: getLimits,
|
||||
|
|
Loading…
Reference in New Issue