Пишу проект с использованием express и с применением компонентного подхода. Имею такую файловую структуру:
components
user
index.js
userModel.js
userRouter.js
auth
index.js
authRouter.js
authController.js
Насколько я понимаю, мои компоненты не должны быть связаны напрямую, т.е будет неправильно в файле authController.js подключить user компонент для того чтоб при авторизации делать проверку на существующего юзера.
Вот код authController:
const passport = require('passport')
const VKontakteStrategy = require('passport-vkontakte').Strategy;
const config = require('config')
passport.use(new VKontakteStrategy({
clientID: config.get('auth.vk.clientID'),
clientSecret: config.get('auth.vk.clientSecret'),
callbackURL: `${config.get('domain')}/api/web/auth/vkontakte/callback`
},
function(accessToken, refreshToken, params, profile, done) {
console.log(profile)
// Зачем мне подключать компоненты друг к другу напрямую?
User.findOrCreate({ vkontakteId: profile.id }, function (err, user) {
return done(err, user);
});
}
));
module.exports = passport
Вопрос - как в таком случае я должен связывать эти 2 компонента?