This commit is contained in:
louiscklaw
2025-01-31 21:39:17 +08:00
parent 2e592cb561
commit c8cd212029
89 changed files with 9078 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
const { DataTypes } = require('sequelize');
const bcrypt = require('bcrypt');
const { sequelize } = require('./model');
const Auth = sequelize.define(
'Auths',
{
uid: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true, unique: true },
username: { type: DataTypes.STRING, allowNull: false },
password: { type: DataTypes.STRING, allowNull: false },
session: { type: DataTypes.STRING, allowNull: false, defaultValue: '' },
role: { type: DataTypes.STRING, allowNull: false, defaultValue: 'customer' },
},
{ timestamps: false },
);
async function hashPassword(plainTextPassword) {
const saltRounds = 10;
return await bcrypt.hash(plainTextPassword, saltRounds);
}
(async () => {
try {
await sequelize.authenticate();
console.log('Connection has been established successfully.');
// create table
await Auth.drop();
await sequelize.sync();
let user_row;
let password;
user_row = await Auth.create({
username: 'admin',
password: 'nimda',
role: 'admin',
});
user_row = await Auth.create({ username: 'pat1', password: await hashPassword('1tap') });
user_row = await Auth.create({ username: 'pat2', password: await hashPassword('2tap') });
user_row = await Auth.create({ username: 'pat3', password: await hashPassword('3tap') });
await sequelize.close();
} catch (error) {
console.error('Unable to connect to the database:', error);
}
})();

View File

@@ -0,0 +1,15 @@
const { Sequelize } = require('sequelize');
const sequelize = new Sequelize('app_db', 'db_user', 'db_user_pass', {
host: 'mysql',
port: 3306,
dialect: 'mysql',
});
const sequelize_config = new Sequelize('app_db', 'db_user', 'db_user_pass', {
host: 'mysql',
port: 3306,
dialect: 'mysql',
});
module.exports = { sequelize, sequelize_config };

View File

@@ -0,0 +1,48 @@
const { Sequelize, DataTypes } = require('sequelize');
// const { sequelize } = require('./model'); // abonded
const sequelize_config = require('../utils/sequelize_config');
const Item = sequelize_config.define(
'NonUrgentQueue',
{
id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true, unique: true },
name: { type: DataTypes.STRING, allowNull: false },
hkid: { type: DataTypes.STRING, allowNull: false },
mobile: { type: DataTypes.STRING, allowNull: false },
age: { type: DataTypes.INTEGER, allowNull: false },
description: { type: DataTypes.STRING, allowNull: false },
//
bruisesScratchesMinorBurns: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
chestPain: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
headache: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
myMuiCheck: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
nauseaAndVomiting: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
runnyOrStuffyNose: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
soreThroat: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
},
{ timestamps: false },
);
(async () => {
try {
await sequelize_config.authenticate();
console.log('Connection has been established successfully.');
await Item.drop();
await sequelize_config.sync();
for (let i = 0; i < 3; i++) {
await Item.create({
name: `non-urgent-patient ${i}`,
hkid: `A123456(${i})`,
mobile: `9123456${i}`,
age: i + 10,
description: `non-urgent queue ${i}`,
});
}
await sequelize_config.close();
} catch (error) {
console.error('Unable to connect to the database:', error);
}
})();

View File

@@ -0,0 +1,33 @@
const { Sequelize, DataTypes } = require('sequelize');
const { sequelize } = require('./model');
const Item = sequelize.define(
'PatientQueue',
{
id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true, unique: true },
description: { type: DataTypes.STRING, allowNull: false },
},
{ timestamps: false },
);
(async () => {
try {
await sequelize.authenticate();
console.log('Connection has been established successfully.');
await Item.drop();
await sequelize.sync();
for (let i = 0; i < 10; i++) {
await Item.create({
// get remainder of i divided by 3
// pid: (i % 25) + 1,
description: `test item ${i}`,
});
}
await sequelize.close();
} catch (error) {
console.error('Unable to connect to the database:', error);
}
})();

View File

@@ -0,0 +1,48 @@
const { Sequelize, DataTypes } = require('sequelize');
// const { sequelize } = require('./model'); //abonded
const sequelize_config = require('../utils/sequelize_config');
const Item = sequelize_config.define(
'SemiUrgentQueue',
{
id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true, unique: true },
name: { type: DataTypes.STRING, allowNull: false },
hkid: { type: DataTypes.STRING, allowNull: false },
mobile: { type: DataTypes.STRING, allowNull: false },
age: { type: DataTypes.INTEGER, allowNull: false },
description: { type: DataTypes.STRING, allowNull: false },
//
bruisesScratchesMinorBurns: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
chestPain: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
headache: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
myMuiCheck: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
nauseaAndVomiting: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
runnyOrStuffyNose: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
soreThroat: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false },
},
{ timestamps: false },
);
(async () => {
try {
await sequelize_config.authenticate();
console.log('Connection has been established successfully.');
await Item.drop();
await sequelize_config.sync();
for (let i = 5; i < 8; i++) {
await Item.create({
name: `semi-urgent-patient ${i}`,
hkid: `A123456(${i})`,
mobile: `9123456${i}`,
age: i + 20,
description: `semi-urgent queue ${i}`,
});
}
await sequelize_config.close();
} catch (error) {
console.error('Unable to connect to the database:', error);
}
})();