postgres.js 702 B

1234567891011121314
  1. import postgres from 'postgres'
  2. import { clientOpts } from '../config.js'
  3. const sql = postgres({ ...clientOpts, max: 1 })
  4. export const fortunes = async () => sql`SELECT id, message FROM fortune`
  5. export const find = async (id) => sql`SELECT id, randomNumber FROM world WHERE id = ${id}`.then((arr) => arr[0])
  6. export const getAllWorlds = async () => sql`SELECT id, randomNumber FROM world`
  7. export const bulkUpdate = async (worlds) => await sql`UPDATE world SET randomNumber = (update_data.randomNumber)::int
  8. FROM (VALUES ${sql(worlds.map(world => [world.id, world.randomNumber]).sort((a, b) => (a[0] < b[0]) ? -1 : 1))}) AS update_data (id, randomNumber)
  9. WHERE world.id = (update_data.id)::int`;