Fix: don't build CRUD routes until ready

Previously, we were building the crud routes before we had run through
the association logic. This meant that routes could get created without
a complete list of associations available to it. This is slightly less
performant b/c we need to run through two loops, but ensures that the
full association data is available to all routes.
This commit is contained in:
Joey Baker 2016-10-26 10:57:54 -07:00
parent e318948fe4
commit 83eadf0929

View File

@ -36,7 +36,6 @@ const register = (server, options = {}, next) => {
// Join tables // Join tables
if (model.options.name.singular !== model.name) continue; if (model.options.name.singular !== model.name) continue;
crud(server, model, options);
for (const key of Object.keys(model.associations)) { for (const key of Object.keys(model.associations)) {
const association = model.associations[key]; const association = model.associations[key];
@ -92,6 +91,13 @@ const register = (server, options = {}, next) => {
} }
} }
// build the methods for each model now that we've defined all the
// associations
Object.keys(models).forEach((modelName) => {
const model = models[modelName];
crud(server, model, options);
});
next(); next();
}; };