New gyoza, with new backend and up to date frontend
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

37 lines
1.2 KiB

const PocketBase = require('pocketbase').default
const sharp = require('sharp')
// Initialize the PocketBase client
const pb = new PocketBase('http://127.0.0.1:8090')
async function main () {
try {
// Authenticate as an admin
await pb.admins.authWithPassword('karkinge@gmail.com', 'PBk4rk1ng3*') // Replace with your admin credentials
// Parse JSON file with categories
const filesPath = '../gyoza/storage/'
// Get history collection
const historyCollection = await pb.collection('history').getFullList({ filter: 'image_file = null' })
for (let hist of historyCollection) {
if (hist.image) {
console.log(hist)
let fullPath = filesPath + hist.image
// Compress the image with a 80% quality
const compressedImage = await sharp(fullPath)
.resize({ width: 2000, height: 2000, fit: 'inside' })
.jpeg({ quality: 80 })
.toBuffer()
// Create a JS file object from the file's content
const file = new File([compressedImage], hist.image)
await pb.collection('history').update(hist.id, { image_file: file })
}
}
} catch (error) {
console.error('Error:', error)
}
}
main()