mysql.js 742 B

1234567891011121314151617
  1. import { createPool } from 'mariadb'
  2. import { cpus } from 'node:os'
  3. import { clientOpts } from '../config.js'
  4. const pool = createPool({ ...clientOpts, connectionLimit: cpus().length * 2 + 1 })
  5. const execute = (text, values) => pool.execute(text, values || undefined)
  6. export const fortunes = () => execute('SELECT id, message FROM fortune')
  7. export const find = (id) => execute('SELECT id, randomNumber FROM world WHERE id = ?', [id]).then(arr => arr[0])
  8. export const getAllWorlds = () => execute('SELECT id, randomNumber FROM world')
  9. export const update = (obj) => execute('UPDATE world SET randomNumber = ? WHERE id = ?', [obj.randomNumber, obj.id])
  10. export const bulkUpdate = (worlds) => Promise.all(worlds.map(world => update(world)))