diff --git a/core/server/models/index.js b/core/server/models/index.js index 66a5dc36ee..77257d2d24 100644 --- a/core/server/models/index.js +++ b/core/server/models/index.js @@ -3,6 +3,7 @@ */ const _ = require('lodash'); +const glob = require('glob'); // enable event listeners require('./base/listeners'); @@ -12,53 +13,12 @@ require('./base/listeners'); */ exports = module.exports; -const models = [ - 'action', - 'permission', - 'post', - 'role', - 'settings', - 'custom-theme-setting', - 'session', - 'tag', - 'tag-public', - 'user', - 'author', - 'invite', - 'webhook', - 'integration', - 'api-key', - 'mobiledoc-revision', - 'member', - 'offer', - 'offer-redemption', - 'product', - 'benefit', - 'stripe-product', - 'stripe-price', - 'member-subscribe-event', - 'member-paid-subscription-event', - 'member-login-event', - 'member-email-change-event', - 'member-payment-event', - 'member-status-event', - 'member-product-event', - 'member-analytic-event', - 'posts-meta', - 'member-stripe-customer', - 'stripe-customer-subscription', - 'email', - 'email-batch', - 'email-recipient', - 'label', - 'single-use-token', - 'snippet' -]; - function init() { exports.Base = require('./base'); - models.forEach(function (name) { + let modelsFiles = glob.sync('!(index).js', {cwd: __dirname}); + modelsFiles.forEach((model) => { + const name = model.replace(/.js$/, ''); _.extend(exports, require('./' + name)); }); }