1234567891011121314151617181920212223242526272829303132333435 |
- const { createPool } = require("mariadb");
- const clientOpts = {
- host: process.env.MYSQL_HOST,
- user: process.env.MYSQL_USER,
- password: process.env.MYSQL_PSWD,
- database: process.env.MYSQL_DBNAME,
- };
- const pool = createPool({ ...clientOpts, connectionLimit: 1 });
- const execute = (text, values) => pool.execute(text, values || undefined);
- async function allFortunes() {
- return execute("select id, message from fortune", []);
- }
- async function getWorld(id) {
- return execute("select id, randomNumber from world where id = ?", [id]).then(
- (arr) => arr[0]
- );
- }
- async function bulkUpdate(worlds) {
- const sql = "update world set randomNumber = ? where id = ?";
- const values = worlds
- .map((world) => [world.randomnumber, world.id])
- .sort((a, b) => (a[0] < b[0] ? -1 : 1));
- return pool.batch(sql, values);
- }
- module.exports = {
- getWorld,
- bulkUpdate,
- allFortunes,
- };
|