mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-02-05 14:20:13 +01:00
feat(writeapi): topic follow/ignore
This commit is contained in:
@@ -123,6 +123,21 @@ Topics.unlock = async (req, res) => {
|
||||
helpers.formatApiResponse(200, res);
|
||||
};
|
||||
|
||||
Topics.follow = async (req, res) => {
|
||||
await topics.follow(req.params.tid, req.user.uid);
|
||||
helpers.formatApiResponse(200, res);
|
||||
};
|
||||
|
||||
Topics.ignore = async (req, res) => {
|
||||
await topics.ignore(req.params.tid, req.user.uid);
|
||||
helpers.formatApiResponse(200, res);
|
||||
};
|
||||
|
||||
Topics.unfollow = async (req, res) => {
|
||||
await topics.unfollow(req.params.tid, req.user.uid);
|
||||
helpers.formatApiResponse(200, res);
|
||||
};
|
||||
|
||||
async function doTopicAction(action, event, socket, { tids }) {
|
||||
if (!Array.isArray(tids)) {
|
||||
throw new Error('[[error:invalid-tid]]');
|
||||
|
||||
@@ -23,6 +23,10 @@ module.exports = function () {
|
||||
setupApiRoute(router, '/:tid/lock', middleware, [...middlewares, middleware.assertTopic], 'put', controllers.write.topics.lock);
|
||||
setupApiRoute(router, '/:tid/lock', middleware, [...middlewares, middleware.assertTopic], 'delete', controllers.write.topics.unlock);
|
||||
|
||||
setupApiRoute(router, '/:tid/follow', middleware, [...middlewares, middleware.assertTopic], 'put', controllers.write.topics.follow);
|
||||
setupApiRoute(router, '/:tid/follow', middleware, [...middlewares, middleware.assertTopic], 'delete', controllers.write.topics.unfollow);
|
||||
setupApiRoute(router, '/:tid/ignore', middleware, [...middlewares, middleware.assertTopic], 'put', controllers.write.topics.ignore);
|
||||
setupApiRoute(router, '/:tid/ignore', middleware, [...middlewares, middleware.assertTopic], 'delete', controllers.write.topics.unfollow); // intentional, unignore == unfollow
|
||||
|
||||
// app.route('/:tid/follow')
|
||||
// .put(apiMiddleware.requireUser, apiMiddleware.validateTid, function(req, res) {
|
||||
|
||||
@@ -82,10 +82,13 @@ SocketTopics.changeWatching = async function (socket, data) {
|
||||
if (!commands.includes(data.type)) {
|
||||
throw new Error('[[error:invalid-command]]');
|
||||
}
|
||||
|
||||
sockets.warnDeprecated(socket, 'PUT/DELETE /api/v1/topics/:tid/(follow|ignore)');
|
||||
await followCommand(topics[data.type], socket, data.tid);
|
||||
};
|
||||
|
||||
SocketTopics.follow = async function (socket, tid) {
|
||||
sockets.warnDeprecated(socket, 'PUT /api/v1/topics/:tid/follow');
|
||||
await followCommand(topics.follow, socket, tid);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user