1 files added
1 files modified
| New file |
| | |
| | | const mysql = require("mysql2/promise") |
| | | |
| | | const {host, port, user, database, password} = require("./../settings").db |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | | |
| | | let poolP = initPool() |
| | | |
| | | async function initPool () { |
| | | return mysql.createPool({ |
| | | host, |
| | | port, |
| | | database, |
| | | user, |
| | | password, |
| | | }) |
| | | } |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | | |
| | | module.exports = { |
| | | getUsers, |
| | | getUserByLogin, |
| | | getUserByUserId, |
| | | } |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | | |
| | | async function getUsers (limit = 10, offset = 0) { |
| | | const sel = `usr_id, login, firstname, lastname, gender, email, institution, street, city, zipcode, country, department, active` |
| | | // TODO user defined fields |
| | | |
| | | const pool = await poolP |
| | | const [results, fields] = await pool.query( |
| | | `SELECT ${sel} |
| | | FROM ilias.usr_data AS ud |
| | | LIMIT ${limit} |
| | | OFFSET ${offset} |
| | | ` |
| | | ) |
| | | return results |
| | | } |
| | | |
| | | async function getUserByLogin (login) { |
| | | const sel = `usr_id, login, firstname, lastname, gender, email, institution, street, city, zipcode, country, department, active` |
| | | // TODO user defined fields |
| | | |
| | | const pool = await poolP |
| | | const [results, fields] = await pool.query( |
| | | `SELECT ${sel} |
| | | FROM ilias.usr_data AS ud |
| | | WHERE login = '${login}'` |
| | | ) |
| | | return results |
| | | } |
| | | |
| | | async function getUserByUserId (userId) { |
| | | const sel = `usr_id, login, firstname, lastname, gender, email, institution, street, city, zipcode, country, department, active` |
| | | // TODO user defined fields |
| | | |
| | | const pool = await poolP |
| | | const [results, fields] = await pool.query( |
| | | `SELECT ${sel} |
| | | FROM ilias.usr_data AS ud |
| | | WHERE usr_id = '${userId}'` |
| | | ) |
| | | return results |
| | | } |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | | |
| | | async function promiseDelay (ms) { |
| | | return new Promise(resolve => setTimeout(resolve, ms)) |
| | | } |
| | |
| | | const mysql = require("mysql2/promise") |
| | | const db = require("./lib/db") |
| | | |
| | | const {host, port, user, database, password} = require("./settings").db |
| | | |
| | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | | |
| | | async function run () { |
| | | // Create the connection to database |
| | | console.log(111111111111,mysql) |
| | | const connection = await mysql.createConnection({ |
| | | host, |
| | | port, |
| | | database, |
| | | user, |
| | | password, |
| | | }) |
| | | // const user = await db.getUserByLogin("242424") |
| | | // console.log("user", user) |
| | | // |
| | | // const user2 = await db.getUserByUserId(6) |
| | | // console.log("user2", user2) |
| | | |
| | | // A simple SELECT query |
| | | try { |
| | | const [results, fields] = await connection.query( |
| | | `SELECT ud.* FROM ilias.usr_data AS ud WHERE login = '242424'` |
| | | ) |
| | | |
| | | console.log(results) // results contains rows returned by server |
| | | console.log(fields) // fields contains extra meta data about results, if available |
| | | } catch (err) { |
| | | console.log(err) |
| | | const users = await db.getUsers() |
| | | const users2 = users.map(({usr_id,login,firstname,lastname,email,institution}) => ({usr_id,login,firstname,lastname,institution})) |
| | | console.table(users2) |
| | | } |
| | | |
| | | // async function run () { |
| | | // // Create the connection to database |
| | | // // console.log(111111111111,mysql) |
| | | // const connection = await mysql.createConnection({ |
| | | // host, |
| | | // port, |
| | | // database, |
| | | // user, |
| | | // password, |
| | | // }) |
| | | // |
| | | // // A simple SELECT query |
| | | // try { |
| | | // const sel = `usr_id, login, firstname, lastname, gender, email, institution, street, city, zipcode, country, department, active` |
| | | // // const sel = "*" |
| | | // const [results, fields] = await connection.query( |
| | | // `SELECT ${sel} FROM ilias.usr_data AS ud WHERE login = '242424'` |
| | | // ) |
| | | // |
| | | // console.log(results) // results contains rows returned by server |
| | | // // console.log(fields) // fields contains extra meta data about results, if available |
| | | // } catch (err) { |
| | | // console.log(err) |
| | | // } |
| | | // } |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | | |
| | | async function promiseDelay(ms) { |
| | | return new Promise(resolve => setTimeout(resolve, ms)) |
| | | } |