如何使用中间件按计划限制用户

时间:2019-06-30 15:03:42

标签: javascript node.js express middleware saas

我正在尝试创建一个快速中间件,该中间件将在授权/认证用户之后检查其现在已经超出计划的限制。

我提供了一个示例,说明了如何布置用户模型(只是为了说明需要什么/一般而已)。

我计划将计划的限制作为一个单独的文件包括在内,然后在更改/添加计划时可以对其进行更改和添加。

我如何拥有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();
    }
}

0 个答案:

没有答案