작성
·
350
0
무료와 프리미엄으로 미들웨어를 확장시킬 때 user모델에는 domain.type이 없기 때문에 undefined가 나오고 있습니다.
이때 table을 수정해야하는지 domain을 불러와서 코드를 짜야하는지 고민이되서 질문드려봅니다!
현재까지 코드 수정사항입니다!
const limiter = rateLimit({
widowMs: 60 * 1000,
max: (req, res) => {
console.log("req.user.type:", req.user.type);
if (req.user?.type === "premium") {
return 10;
}
return 2;
},
handler(req, res) {
res.status(this.statusCode).json({
code: this.statusCode,
message: `1분에 ${
req.user?.type === "premium" ? "10" : "2"
} 회만 요청 할 수 있습니다`,
});
console.log(req.user.type);
},
});
exports.apiLimiter = async (req, res, next) => {
let user;
console.log("user1:", user);
console.log("res.locals.decoded:", res.locals.decoded);
if (res.locals.decoded) {
user = await User.findOne({ where: { id: res.locals.decoded.id } });
console.log("user3:", user);
}
req.user = user;
console.log("user2:", user);
limiter(req, res, next);
};
아!! include로 join을 하면 되는거였네요ㅎㅎ 감사합니다!!!!