Page 429 - Nodejs 교과서 개정2판
P. 429
passport.deserializeUser((id, done) => {
User.findOne({
where: { id },
include: [{
model: User,
attributes: ['id', 'nick'],
as: 'Followers',
}, {
model: User,
attributes: ['id', 'nick'],
as: 'Followings',
}],
})
.then(user => done(null, user))
.catch(err => done(err));
});
...
ࣁ࣌ী ػ ই٣۽ ࢎਊ ࠁܳ ઑഥೡ ٸ ౹۽ ݾ۾җ ౹۽ਕ ݾ۾ب э ઑഥפ includeীࢲ
҅ࣘ attributesܳ ೞҊ חؘ ח पࣻ۽ ࠺ߣഐܳ ઑഥೞח Ѫਸ ߑೞӝ ਤ೧ࢲੑפ
/PUF EFTFSJBMJ[F6TFS நयೞӝ
ۄఠо प೯غӝ ী deserializeUserо ݢ प೯ؾפ ٮۄࢲ ݽٚ ਃ ٜযৢ ٸ݃ ݒߣ ࢎਊ ࠁܳ ઑഥೞ
ѱ ؾפ ࢲ࠺झ ӏݽо ழࣻ۾ ؊ ݆ ਃ ٜযয়ѱ غҊ Ӓ۽ ੋ೧ ؘఠ߬झীب ؊ ࠗ যפ ٮ
ۄࢲ ࢎਊ ࠁо ࠼ߣೞѱ ߄Շח Ѫ ইפۄݶ நयਸ ೧فח Ѫ જणפ ݅ நय ਬغח زউ ౹۽ਕ৬ ౹۽
ࠁо јनغ ঋח ױ ਵ۽ நय दр ࢲ࠺झ ଼ী ٮۄ ઑ೧ঠ פ
पઁ ࢲ࠺झীࢲח ݫݽܻী நयೞӝࠁח ۨ٣झ э ؘఠ߬झী ࢎਊ ࠁܳ நयפ
౹۽ ౹۽ਕ ं৬ ౹۽ ߡౡਸ दೞӝ ਤ೧ SPVUFT QBHF KTܳ ࣻפ
routes/page.js
...
router.use((req, res, next) => {
res.locals.user = req.user;
res.locals.followerCount = req.user ? req.user.Followers.length : 0;
res.locals.followingCount = req.user ? req.user.Followings.length : 0;
res.locals.followerIdList = req.user ? req.user.Followings.map(f => f.id) : [];
next();
});
...