'use strict'; var async = require('async'); var db = require('../../database'); var user = require('../../user'); var topics = require('../../topics'); var utils = require('../../../public/src/utils'); module.exports = function(SocketTopics) { SocketTopics.markAsRead = function(socket, tids, callback) { if (!Array.isArray(tids) || !socket.uid) { return callback(new Error('[[error:invalid-data]]')); } if (!tids.length) { return callback(); } tids = tids.filter(function(tid) { return tid && utils.isNumber(tid); }); topics.markAsRead(tids, socket.uid, function(err) { if (err) { return callback(err); } topics.pushUnreadCount(socket.uid); for (var i=0; i