2021-12-26 18:22:52 +01:00
|
|
|
import path from 'path'
|
|
|
|
import fs from 'fs'
|
|
|
|
import axios from 'axios'
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Main method that does what needs doing
|
|
|
|
*/
|
|
|
|
export const prebuildPatrons = async(site) => {
|
|
|
|
|
|
|
|
// Say hi
|
|
|
|
console.log()
|
|
|
|
console.log(`Prebuilding patron list for freesewing.${site}`)
|
|
|
|
|
2022-06-08 16:31:03 +02:00
|
|
|
let patrons
|
|
|
|
try {
|
|
|
|
patrons = await axios.get('https://backend.freesewing.org/patrons')
|
|
|
|
}
|
|
|
|
catch (err) {
|
|
|
|
console.log(`⚠️ Failed to load patron list`)
|
|
|
|
}
|
|
|
|
|
|
|
|
const list = patrons?.data
|
|
|
|
? [
|
2021-12-26 18:22:52 +01:00
|
|
|
...patrons.data['2'].map(p => ({hande: p.handle, username: p.username, img: p.pictureUris.s })),
|
|
|
|
...patrons.data['4'].map(p => ({hande: p.handle, username: p.username, img: p.pictureUris.s })),
|
|
|
|
...patrons.data['8'].map(p => ({hande: p.handle, username: p.username, img: p.pictureUris.s })),
|
2022-06-08 16:31:03 +02:00
|
|
|
] : []
|
2021-12-26 18:22:52 +01:00
|
|
|
|
2022-06-08 16:31:03 +02:00
|
|
|
// Write to json
|
|
|
|
fs.writeFileSync(
|
2022-06-17 12:02:09 +02:00
|
|
|
path.resolve('..', site, 'prebuild', `patrons.js`),
|
2022-06-08 16:31:03 +02:00
|
|
|
`export default ${JSON.stringify(list, null ,2)}`
|
|
|
|
)
|
2021-12-26 18:22:52 +01:00
|
|
|
}
|
|
|
|
|