diff --git a/src/categories.js b/src/categories.js index 4ccad2bb74..35b55d5a34 100644 --- a/src/categories.js +++ b/src/categories.js @@ -1,68 +1,26 @@ 'use strict'; -var db = require('./database'), - posts = require('./posts'), - utils = require('./../public/src/utils'), +var async = require('async'), + nconf = require('nconf'), + + db = require('./database'), user = require('./user'), Groups = require('./groups'), - topics = require('./topics'), plugins = require('./plugins'), - meta = require('./meta'), validator = require('validator'), - privileges = require('./privileges'), - - async = require('async'), - winston = require('winston'), - nconf = require('nconf'); + privileges = require('./privileges'); (function(Categories) { + require('./categories/create')(Categories); require('./categories/delete')(Categories); + require('./categories/topics')(Categories); + require('./categories/unread')(Categories); require('./categories/activeusers')(Categories); require('./categories/recentreplies')(Categories); require('./categories/update')(Categories); - Categories.create = function(data, callback) { - db.incrObjectField('global', 'nextCid', function(err, cid) { - if (err) { - return callback(err); - } - - var slug = cid + '/' + utils.slugify(data.name); - - var category = { - cid: cid, - name: data.name, - description: data.description, - icon: data.icon, - bgColor: data.bgColor, - color: data.color, - slug: slug, - parentCid: 0, - topic_count: 0, - post_count: 0, - disabled: 0, - order: data.order, - link: '', - numRecentReplies: 1, - class: 'col-md-3 col-xs-6', - imageClass: 'auto' - }; - - async.series([ - async.apply(db.setObject, 'category:' + cid, category), - async.apply(db.sortedSetAdd, 'categories:cid', data.order, cid) - ], function(err) { - if (err) { - return callback(err); - } - - callback(null, category); - }); - }); - }; - Categories.exists = function(cid, callback) { db.isSortedSetMember('categories:cid', cid, callback); }; @@ -112,42 +70,6 @@ var db = require('./database'), }); }; - Categories.getCategoryTopics = function(data, callback) { - var tids; - async.waterfall([ - function(next) { - Categories.getTopicIds(data.targetUid ? 'cid:' + data.cid + ':uid:' + data.targetUid + ':tids' : 'cid:' + data.cid + ':tids', data.start, data.stop, next); - }, - function(topicIds, next) { - tids = topicIds; - topics.getTopicsByTids(tids, data.uid, next); - }, - function(topics, next) { - if (!Array.isArray(topics) || !topics.length) { - return next(null, { - topics: [], - nextStart: 1 - }); - } - - var indices = {}, - i = 0; - for(i=0; i