diff --git a/models/index.js b/models/index.js deleted file mode 100644 index c783f43e7..000000000 --- a/models/index.js +++ /dev/null @@ -1,34 +0,0 @@ -const { reduce } = require('lodash'); -const { CREATE_MONGO_INDEXES } = require('../config'); - -const Action = require('./action'); -const Asset = require('./asset'); -const Comment = require('./comment'); -const Migration = require('./migration'); -const Setting = require('./setting'); -const User = require('./user'); - -const schema = { Action, Asset, Comment, Migration, Setting, User }; - -// Provide the schema to each of the plugins so that they can add in indexes if -// it is enabled. -if (CREATE_MONGO_INDEXES) { - const plugins = require('../services/plugins'); - - // Remap all of the models to their driver reference via the `collection` - // field. - const collections = reduce( - schema, - (collections, model, modelName) => { - collections[modelName] = model.collection; - return collections; - }, - {} - ); - - // Defer the instantiation of the index caller functions when we're creating - // indexes. - plugins.defer('server', 'indexes', ({ indexes }) => { - indexes(collections); - }); -} diff --git a/plugin-api/beta/server/getReactionConfig.js b/plugin-api/beta/server/getReactionConfig.js index 68dc3dd5d..e90a06122 100644 --- a/plugin-api/beta/server/getReactionConfig.js +++ b/plugin-api/beta/server/getReactionConfig.js @@ -2,23 +2,24 @@ const { SEARCH_OTHER_USERS } = require('../../../perms/constants'); const { ErrNotFound, ErrAlreadyExists } = require('../../../errors'); const pluralize = require('pluralize'); const sc = require('snake-case'); -// const { CREATE_MONGO_INDEXES } = require('../../../config'); +const { CREATE_MONGO_INDEXES } = require('../../../config'); +const Comment = require('models/comment'); function getReactionConfig(reaction) { reaction = reaction.toLowerCase(); - // if (CREATE_MONGO_INDEXES) { - // // Create the index on the comment model based on the reaction config. - // CommentModel.collection.createIndex( - // { - // created_at: 1, - // [`action_counts.${sc(reaction)}`]: 1, - // }, - // { - // background: true, - // } - // ); - // } + if (CREATE_MONGO_INDEXES) { + // Create the index on the comment model based on the reaction config. + Comment.collection.createIndex( + { + created_at: 1, + [`action_counts.${sc(reaction)}`]: 1, + }, + { + background: true, + } + ); + } const reactionPlural = pluralize(reaction); const Reaction = reaction.charAt(0).toUpperCase() + reaction.slice(1); @@ -127,17 +128,6 @@ function getReactionConfig(reaction) { return { typeDefs, - indexes: ({ Comment }) => { - Comment.ensureIndex( - { - created_at: 1, - [`action_counts.${sc(reaction)}`]: 1, - }, - { - background: true, - } - ); - }, context: { Sort: () => ({ Comments: { diff --git a/services/mongoose.js b/services/mongoose.js index 48cd34012..167b0d45b 100644 --- a/services/mongoose.js +++ b/services/mongoose.js @@ -63,6 +63,11 @@ module.exports = mongoose; // here. No point also in importing this if we're not actually doing any // indexing now. if (CREATE_MONGO_INDEXES) { - require('../models'); + require('../models/action'); + require('../models/asset'); + require('../models/comment'); + require('../models/migration'); + require('../models/setting'); + require('../models/user'); require('./migration'); }