190 lines
4.1 KiB
JavaScript
190 lines
4.1 KiB
JavaScript
const sqlite = require('../db/sqlite.config');
|
|
const User = require("../models/user.model");
|
|
|
|
/**
|
|
*
|
|
* @param {*} id
|
|
* @returns
|
|
*/
|
|
exports.selectById = async (id) => {
|
|
let db;
|
|
|
|
try {
|
|
db = await sqlite.connectSqlite();
|
|
db.all('SELECT * FROM USERS WHERE `id` = ?', [id], async function (err, rows) {
|
|
if (err) {
|
|
console.error(err);
|
|
}
|
|
return await getUser(rows);
|
|
});
|
|
|
|
const rows = await new Promise((resolve, reject) => {
|
|
db.all('SELECT * FROM USERS WHERE `id` = ?', [id], (err, rows) => {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(rows);
|
|
}
|
|
});
|
|
});
|
|
|
|
return await getUser(rows);
|
|
} catch (err) {
|
|
throw err;
|
|
} finally {
|
|
try {
|
|
await db.close();
|
|
} catch (error) {
|
|
throw err;
|
|
}
|
|
}
|
|
};
|
|
|
|
/**
|
|
*
|
|
* @param {*} name
|
|
* @returns
|
|
*/
|
|
exports.selectByName = async (name) => {
|
|
let db;
|
|
|
|
try {
|
|
db = await sqlite.connectSqlite();
|
|
|
|
const rows = await new Promise((resolve, reject) => {
|
|
db.all('SELECT * FROM USERS', async function (err, rows) {
|
|
if (err) {
|
|
reject(err);
|
|
}
|
|
|
|
resolve(rows);
|
|
});
|
|
})
|
|
|
|
return await getUser(rows);
|
|
} catch (err) {
|
|
throw err;
|
|
} finally {
|
|
try {
|
|
await db.close();
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
}
|
|
}
|
|
|
|
exports.selectAllUser = async () => {
|
|
let db;
|
|
|
|
try {
|
|
db = await sqlite.connectSqlite();
|
|
const rows = await new Promise((reject, resolve) => {
|
|
db.all('SELECT * FROM USERS', async function (err, rows) {
|
|
if (err) {
|
|
reject(err);
|
|
}
|
|
resolve(rows)
|
|
});
|
|
})
|
|
return await getUser(rows);
|
|
} catch (err) {
|
|
throw err;
|
|
} finally {
|
|
try {
|
|
await db.close();
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param {*} User
|
|
*/
|
|
exports.insertUser = async (User) => {
|
|
let db;
|
|
|
|
try {
|
|
db = await sqlite.connectSqlite();
|
|
|
|
const user = await new Promise((resolve, reject) => {
|
|
db.run('INSERT \
|
|
INTO USERS(USER_ACCOUNT, USER_NAME, PASSWORD, EMAIL, MOBILE) \
|
|
VALUES(?, ?, ?, ?, ?)',
|
|
[User.user_account, User.user_name, User.password, User.email, User.mobile],
|
|
async function (err) {
|
|
if (err) {
|
|
reject(err);
|
|
}
|
|
console.log(this + '-----');
|
|
resolve(this);
|
|
});
|
|
});
|
|
|
|
} catch (error) {
|
|
throw error
|
|
} finally {
|
|
try {
|
|
await db.close();
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param password
|
|
* @param userId
|
|
*/
|
|
exports.updatePassword = async (password, userId) => {
|
|
let db;
|
|
|
|
try {
|
|
db = await sqlite.connectSqlite();
|
|
const thisUpdate = await new Promise((resolve, reject) => {
|
|
db.run(
|
|
"UPDATE USERS SET PASSWORD = ? WHERE ID = ?;",
|
|
[password, userId],
|
|
async function (err) {
|
|
if (err) {
|
|
reject(err);
|
|
}
|
|
resolve(this);
|
|
}
|
|
)
|
|
})
|
|
} catch (error) {
|
|
throw error;
|
|
} finally {
|
|
try {
|
|
await db.close();
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param rows
|
|
*/
|
|
getUser = async (rows) => {
|
|
let users = new Array();
|
|
|
|
rows.map((value, index) => {
|
|
users[index] = new User(
|
|
value.id,
|
|
value.user_account,
|
|
value.user_name,
|
|
value.password,
|
|
value.email,
|
|
value.mobile,
|
|
value.status,
|
|
value.create_time,
|
|
value.update_time);
|
|
});
|
|
|
|
return users;
|
|
}
|