From 22ba7b747cf16a9229a1f1f0e5223486736ba230 Mon Sep 17 00:00:00 2001 From: Apher Date: Fri, 17 Jul 2026 04:29:29 +0000 Subject: [PATCH] Add user, role and bill model --- index.js | 3 +++ models/bill.js | 36 ++++++++++++++++++++++++++++++++++++ models/role.js | 19 +++++++++++++++++++ models/user.js | 15 +++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 models/bill.js create mode 100644 models/role.js create mode 100644 models/user.js diff --git a/index.js b/index.js index 29c0088..df545a4 100644 --- a/index.js +++ b/index.js @@ -24,6 +24,9 @@ db.Sequelize = Sequelize; db.sequelize = sequelize; db.intent = require("./models/intent")(sequelize, Sequelize); +db.user = require("./models/user")(sequelize, Sequelize); +db.role = require("./models/role")(sequelize, Sequelize); +db.bill = require("./models/bill")(sequelize, Sequelize); module.exports = { db diff --git a/models/bill.js b/models/bill.js new file mode 100644 index 0000000..4b9da30 --- /dev/null +++ b/models/bill.js @@ -0,0 +1,36 @@ +module.exports = (sequelize, DataTypes) => { + const Bill = sequelize.define("bills", { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false + }, + name: { + type: DataTypes.STRING, + allowNull: false + }, + amount: { + type: DataTypes.INTEGER, + allowNull: false + }, + due: { + type: DataTypes.DATEONLY, + allowNull: false + }, + type: { + type: DataTypes.STRING, + allowNull: true + }, + shared: { + type: DataTypes.BOOLEAN, + allowNull: false, + defaultValue: false + } + }, { + tableName: "bills", + timestamps: true + }); + + return Bill; +}; \ No newline at end of file diff --git a/models/role.js b/models/role.js new file mode 100644 index 0000000..edc1f3d --- /dev/null +++ b/models/role.js @@ -0,0 +1,19 @@ +module.exports = (sequelize, DataTypes) => { + const Role = sequelize.define("roles", { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + name: { + type: DataTypes.STRING, + allowNull: false + } + }, { + tableName: "roles", + timestamps: true + }); + + return Role; +} \ No newline at end of file diff --git a/models/user.js b/models/user.js new file mode 100644 index 0000000..f6105fb --- /dev/null +++ b/models/user.js @@ -0,0 +1,15 @@ +module.exports = (sequelize, Sequelize) => { + const User = sequelize.define("users", { + username: { + type: Sequelize.STRING + }, + email: { + type: Sequelize.STRING + }, + password: { + type: Sequelize.STRING + } + }); + + return User; +} \ No newline at end of file