我正在尝试创建一个快速中间件,该中间件将在授权/认证用户之后检查其现在已经超出计划的限制。
我提供了一个示例,说明了如何布置用户模型(只是为了说明需要什么/一般而已)。
我计划将计划的限制作为一个单独的文件包括在内,然后在更改/添加计划时可以对其进行更改和添加。
我如何拥有plans.js文件的示例
module.exports = {
Starter: {
name: 'Starter',
limitA: 10,
limitB: 3
},
Growth: {
name: 'Growth',
limitA: 50,
limitB: 0 // If zero equals unlimited
},
Business: {
name: 'Business',
limitA: 0, // If zero equals unlimited
limitB: 0 // If zero equals unlimited
}
};
没有用户数据仅字段的示例用户模型
// example user model
email,
password,
name,
role,
companyID,
company: {
companyName,
stripe: {
customerId,
subscriptionId,
last4,
plan
}
},
lastLogin
我通常在想的功能示例,不是完整的或无法正常工作。
function limitCheck() {
// Set user's plan to a variable
let plan = req.user.company.stripe.plan
// Want to only send an error if the user's plan exceeds their plan limits.
if(true) {
return res.status(401).json({success: false, message: 'You are at your plans limit'})
} else {
next();
}
}