Fixes to shema loading

This commit is contained in:
Wyatt Johnson
2018-05-01 15:41:05 -06:00
parent b014225b73
commit d12310026b
3 changed files with 20 additions and 59 deletions
-34
View File
@@ -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);
});
}
+14 -24
View File
@@ -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: {
+6 -1
View File
@@ -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');
}