Compare commits

...

10 Commits

Author SHA1 Message Date
d84f25c7a6 allow null on arguments 2026-07-23 05:06:34 +00:00
88b45064ec Add arguments to intent 2026-07-23 02:49:42 +00:00
cba2de6d1c Use string instead of array 2026-07-18 03:20:59 +00:00
ade08581d9 Add default value 2026-07-18 03:09:48 +00:00
81dd8ac263 Add sent check 2026-07-18 03:03:01 +00:00
94a4550d0f Create reminder model 2026-07-18 00:38:56 +00:00
22ba7b747c Add user, role and bill model 2026-07-17 04:29:29 +00:00
484c5bd8e5 Use new config 2026-07-17 04:19:10 +00:00
f97db9cec6 fix require 2026-07-17 04:16:17 +00:00
50d5000f74 Add intent model 2026-07-17 04:14:23 +00:00
6 changed files with 144 additions and 11 deletions

View File

@ -2,18 +2,18 @@ const config = require("./config");
const Sequelize = require("sequelize"); const Sequelize = require("sequelize");
const sequelize = new Sequelize( const sequelize = new Sequelize(
dbConfig.DB, config.DB,
dbConfig.USER, config.USER,
dbConfig.PASSWORD, config.PASSWORD,
{ {
host: dbConfig.HOST, host: config.HOST,
dialect: dbConfig.dialect, dialect: config.dialect,
port: dbConfig.PORT, port: config.PORT,
pool: { pool: {
max: dbConfig.pool.max, max: config.pool.max,
min: dbConfig.pool.min, min: config.pool.min,
aqcuire: dbConfig.pool.acquire, aqcuire: config.pool.acquire,
idle: dbConfig.pool.idle idle: config.pool.idle
} }
} }
); );
@ -23,7 +23,11 @@ const db = {};
db.Sequelize = Sequelize; db.Sequelize = Sequelize;
db.sequelize = sequelize; db.sequelize = sequelize;
db.intent = require("./intent.model")(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);
db.reminder = require("./models/reminder")(sequelize, Sequelize);
module.exports = { module.exports = {
db db

36
models/bill.js Normal file
View File

@ -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;
};

27
models/intent.js Normal file
View File

@ -0,0 +1,27 @@
module.exports = (sequelize, DataTypes) => {
const Intent = sequelize.define("intents", {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
allowNull: false
},
name: {
type: DataTypes.STRING,
allowNull: false
},
examples: {
type: DataTypes.ARRAY(DataTypes.STRING),
allowNull: true
},
arguments: {
type: DataTypes.ARRAY(DataTypes.STRING),
allowNull: true
}
}, {
tableName: "intents",
timestamps: false
});
return Intent;
};

32
models/reminder.js Normal file
View File

@ -0,0 +1,32 @@
module.exports = (sequelize, DataTypes) => {
const Reminder = sequelize.define("reminders", {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
allowNull: false
},
name: {
type: DataTypes.STRING,
allowNull: false
},
description: {
type: DataTypes.STRING,
allowNull: true
},
dueAt: {
type: DataTypes.DATE,
allowNull: false
},
sent: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: false
}
}, {
tableName: "reminders",
timestamps: false
});
return Reminder;
};

19
models/role.js Normal file
View File

@ -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;
}

15
models/user.js Normal file
View File

@ -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;
}