48 lines
1016 B
JavaScript
48 lines
1016 B
JavaScript
const mysql = require('mysql2/promise');
|
|
const pool = require('../config/database');
|
|
|
|
const userSchema = {
|
|
username: {
|
|
type: 'VARCHAR(255)',
|
|
allowNull: false,
|
|
unique: true
|
|
},
|
|
password: {
|
|
type: 'VARCHAR(255)',
|
|
allowNull: false
|
|
},
|
|
isAdmin: {
|
|
type: 'BOOLEAN',
|
|
allowNull: false,
|
|
defaultValue: false
|
|
}
|
|
};
|
|
|
|
async function createUser(username, password, isAdmin) {
|
|
const connection = await pool.getConnection();
|
|
try {
|
|
const [rows] = await connection.execute(
|
|
'INSERT INTO cdn (username, password, isAdmin) VALUES (?, ?, ?)',
|
|
[username, password, isAdmin]
|
|
);
|
|
return rows.insertId;
|
|
} finally {
|
|
connection.release();
|
|
}
|
|
}
|
|
|
|
async function getUserByUsername(username) {
|
|
const connection = await pool.getConnection();
|
|
try {
|
|
const [rows] = await connection.execute('SELECT * FROM users WHERE username = ?', [username]);
|
|
return rows[0];
|
|
} finally {
|
|
connection.release();
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
createUser,
|
|
getUserByUsername
|
|
};
|