adding redis, tasks, api calls

This commit is contained in:
José Conde
2023-01-06 19:12:43 +01:00
parent 8b557d3c76
commit 34ed6355c9
12 changed files with 4147 additions and 15 deletions

29
app/db/mysql/lsaUsers.js Normal file
View File

@ -0,0 +1,29 @@
const { query } = require("./mysqlPool");
async function getUsers() {
const sql = `SELECT u.name,
u.country, u.flights, u.flight_time AS flightTime, ufv.value as vid, u.email
FROM users AS u
INNER JOIN user_field_values AS ufv
ON u.id = ufv.user_id
WHERE ufv.user_field_id = 1`;
const result = await query(sql);
return result;
}
async function getUsersWhitelist() {
const sql = `SELECT ufv.value as vid, u.name, u.flights, u.flight_time AS flightTime
FROM users AS u
INNER JOIN user_field_values AS ufv
ON u.id = ufv.user_id
WHERE ufv.user_field_id = 1 AND u.flight_time > 60 * 200 AND u.state = 1`;
const result = await query(sql);
return result;
}
module.exports = {
getUsers,
getUsersWhitelist,
}

47
app/db/mysql/mysqlPool.js Normal file
View File

@ -0,0 +1,47 @@
const mysql = require('promise-mysql');
const {
LSA_MYSQL_HOST,
LSA_MYSQL_PORT,
LSA_MYSQL_USER,
LSA_MYSQL_PASS,
LSA_MYSQL_DB,
LSA_MYSQL_CONN_LIMIT,
} = process.env;
const config = {
connectionLimit: LSA_MYSQL_CONN_LIMIT,
host: LSA_MYSQL_HOST,
port: LSA_MYSQL_PORT,
user: LSA_MYSQL_USER,
password: LSA_MYSQL_PASS,
database: LSA_MYSQL_DB
};
let pool; //bunyan for logger
async function getMysqlPool() {
try {
if (!pool) {
pool = await mysql.createPool(config);
}
return pool;
} catch (err) {
console.log(err);
}
}
const query = async(sql) => {
try {
const pool = await getMysqlPool();
return pool.query(sql);
} catch (err) {
console.log(err);
}
}
module.exports = {
getMysqlPool,
query
};