66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
const Sequelize = require("sequelize");
|
||
|
||
module.exports = (db) => {
|
||
const biz_plan = db.define(
|
||
"biz_plan",
|
||
{
|
||
|
||
plan_code: {
|
||
type: Sequelize.STRING(64),
|
||
allowNull: false,
|
||
unique: true,
|
||
},
|
||
plan_name: {
|
||
type: Sequelize.STRING(128),
|
||
allowNull: false,
|
||
defaultValue: "",
|
||
},
|
||
monthly_price: {
|
||
type: Sequelize.DECIMAL(12, 2),
|
||
allowNull: false,
|
||
defaultValue: 0,
|
||
},
|
||
auth_fee: {
|
||
type: Sequelize.DECIMAL(12, 2),
|
||
allowNull: false,
|
||
defaultValue: 0,
|
||
},
|
||
account_limit: { type: Sequelize.INTEGER, allowNull: false, defaultValue: 0 },
|
||
active_user_limit: { type: Sequelize.INTEGER, allowNull: false, defaultValue: 0 },
|
||
msg_quota: { type: Sequelize.INTEGER, allowNull: false, defaultValue: 0 },
|
||
mass_quota: { type: Sequelize.INTEGER, allowNull: false, defaultValue: 0 },
|
||
friend_quota: { type: Sequelize.INTEGER, allowNull: false, defaultValue: 0 },
|
||
sns_quota: { type: Sequelize.INTEGER, allowNull: false, defaultValue: 0 },
|
||
enabled_features: {
|
||
type: Sequelize.JSON,
|
||
allowNull: true,
|
||
comment: "JSON 功能点白名单",
|
||
},
|
||
allowed_apis: {
|
||
type: Sequelize.JSON,
|
||
allowNull: true,
|
||
comment: "可访问的接口路径列表,如 [\"/user/GetProfile\",\"/message/SendText\"],null 表示不限制",
|
||
},
|
||
api_call_quota: {
|
||
type: Sequelize.INTEGER,
|
||
allowNull: false,
|
||
defaultValue: 0,
|
||
comment: "每月 API 总调用次数上限,0=不限制",
|
||
},
|
||
status: {
|
||
type: Sequelize.ENUM("active", "inactive"),
|
||
allowNull: false,
|
||
defaultValue: "active",
|
||
},
|
||
},
|
||
{
|
||
tableName: "biz_plans",
|
||
timestamps: false,
|
||
underscored: true,
|
||
comment: "套餐",
|
||
}
|
||
);
|
||
// biz_plan.sync({ alter: true });
|
||
return biz_plan;
|
||
};
|