session-open-group-server-l.../dialects/moderation/dialect.loki_moderation.js

39 lines
1.5 KiB
JavaScript

// global/general loki overlay setup/config
const overlay = require('../../lib.overlay');
const handlers = require('./dialect_moderation_handlers');
module.exports = (app, prefix) => {
// set cache based on dispatcher object
cache = app.dispatcher.cache;
const utilities = overlay.setup(cache, app.dispatcher);
utilities.cache = cache;
utilities.dispatcher = app.dispatcher;
handlers.setup(utilities);
// legacy
app.get(prefix + '/loki/v1/channel/:id/get_moderators', handlers.getChannelModeratorsHandler);
// new official
app.get(prefix + '/loki/v1/channels/:id/moderators', handlers.getChannelModeratorsHandler);
// backwards compatibility
app.get(prefix + '/loki/v1/channel/:id/deletes', handlers.getDeletesHandler);
// new official URL to keep it consistent
app.get(prefix + '/loki/v1/channels/:id/deletes', handlers.getDeletesHandler);
// user multi delete
app.delete(prefix + '/loki/v1/messages', handlers.deleteMultipleHandler);
app.delete(prefix + '/loki/v1/moderation/message/:id', handlers.modDeleteSingleHandler);
// single mod delete, deprecated
app.delete(prefix + '/loki/v1/moderation/messages', handlers.modDeleteMultipleHandler);
// create moderator
app.post(prefix + '/loki/v1/moderators/:id', handlers.addGlobalModerator);
// remove moderator
app.delete(prefix + '/loki/v1/moderators/:id', handlers.removeGlobalModerator);
// blacklist userid
app.post(prefix + '/loki/v1/moderation/blacklist/:id', handlers.blacklistUserFromServerHandler);
}