diff --git a/lib/builtin-models.js b/lib/builtin-models.js new file mode 100644 index 00000000..1f24b68d --- /dev/null +++ b/lib/builtin-models.js @@ -0,0 +1,30 @@ +module.exports = function(loopback) { + loopback.Email = require('./models/email'); + loopback.User = require('./models/user'); + loopback.Application = require('./models/application'); + loopback.AccessToken = require('./models/access-token'); + loopback.Role = require('./models/role').Role; + loopback.RoleMapping = require('./models/role').RoleMapping; + loopback.ACL = require('./models/acl').ACL; + loopback.Scope = require('./models/acl').Scope; + loopback.Change = require('./models/change'); + + /*! + * Automatically attach these models to dataSources + */ + + var dataSourceTypes = { + DB: 'db', + MAIL: 'mail' + }; + + loopback.Email.autoAttach = dataSourceTypes.MAIL; + loopback.PersistedModel.autoAttach = dataSourceTypes.DB; + loopback.User.autoAttach = dataSourceTypes.DB; + loopback.AccessToken.autoAttach = dataSourceTypes.DB; + loopback.Role.autoAttach = dataSourceTypes.DB; + loopback.RoleMapping.autoAttach = dataSourceTypes.DB; + loopback.ACL.autoAttach = dataSourceTypes.DB; + loopback.Scope.autoAttach = dataSourceTypes.DB; + loopback.Application.autoAttach = dataSourceTypes.DB; +}; diff --git a/lib/loopback.js b/lib/loopback.js index 1b8168f7..68578da3 100644 --- a/lib/loopback.js +++ b/lib/loopback.js @@ -165,31 +165,4 @@ loopback.template = function (file) { * Built in models / services */ -loopback.Email = require('./models/email'); -loopback.User = require('./models/user'); -loopback.Application = require('./models/application'); -loopback.AccessToken = require('./models/access-token'); -loopback.Role = require('./models/role').Role; -loopback.RoleMapping = require('./models/role').RoleMapping; -loopback.ACL = require('./models/acl').ACL; -loopback.Scope = require('./models/acl').Scope; -loopback.Change = require('./models/change'); - -/*! - * Automatically attach these models to dataSources - */ - -var dataSourceTypes = { - DB: 'db', - MAIL: 'mail' -}; - -loopback.Email.autoAttach = dataSourceTypes.MAIL; -loopback.PersistedModel.autoAttach = dataSourceTypes.DB; -loopback.User.autoAttach = dataSourceTypes.DB; -loopback.AccessToken.autoAttach = dataSourceTypes.DB; -loopback.Role.autoAttach = dataSourceTypes.DB; -loopback.RoleMapping.autoAttach = dataSourceTypes.DB; -loopback.ACL.autoAttach = dataSourceTypes.DB; -loopback.Scope.autoAttach = dataSourceTypes.DB; -loopback.Application.autoAttach = dataSourceTypes.DB; +require('./builtin-models')(loopback);