mirror of
https://git.sr.ht/~cadence/bibliogram
synced 2024-09-20 20:47:30 +00:00
24 lines
702 B
JavaScript
Executable File
24 lines
702 B
JavaScript
Executable File
const fs = require("fs").promises
|
|
const {gzip} = require("zlib")
|
|
const {promisify: p} = require("util")
|
|
const pj = require("path").join
|
|
const db = require("../src/lib/db")
|
|
|
|
const targetDir = process.argv.slice(2).includes("--publish") ? "../src/site/html" : ".."
|
|
const shouldGzip = process.argv.slice(2).includes("--gzip")
|
|
const filename = "users_export.json" + (shouldGzip ? ".gz" : "")
|
|
const target = pj(__dirname, targetDir, filename)
|
|
|
|
;(async () => {
|
|
const users = db.prepare("SELECT * FROM Users").all()
|
|
let data = Buffer.from(JSON.stringify(users), "utf8")
|
|
|
|
if (shouldGzip) {
|
|
data = await p(gzip)(data)
|
|
}
|
|
|
|
await fs.writeFile(target, data)
|
|
|
|
console.log(`Users exported to ${target}`)
|
|
})()
|