unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at cache-folder-container 55 lines 1.2 kB view raw
1import { sequelize, User } from '../models/index.js' 2import { logger } from '../utils/logger.js' 3import { Op } from 'sequelize' 4import optimizeMedia from '../utils/optimizeMedia.js' 5 6sequelize 7 .sync({ 8 force: false 9 }) 10 .then(async () => { 11 logger.info('Database & tables ready!') 12 if (false) { 13 logger.info('CLEANING DATA') 14 // seeder(); 15 } 16 }) 17 18async function start() { 19 //const medias = await Media.findAll() 20 const users = await User.findAll({ 21 where: { 22 url: { 23 [Op.notLike]: '@%' 24 }, 25 avatar: { 26 [Op.like]: '%avif' 27 } 28 } 29 }) 30 /* 31 for (const media of medias) { 32 if (media.url.indexOf('//') === -1) { 33 const newUrl = await optimizeMedia(`uploads${media.url}`) 34 media.url = newUrl.slice(7) 35 await media.save() 36 } 37 }*/ 38 for await (const user of users.filter((usr: any) => usr.avatar)) { 39 try { 40 const newAvatar = await optimizeMedia(`uploads${user.avatar}`, { forceImageExtension: 'webp' }) 41 user.avatar = newAvatar.slice(7) 42 await user.save() 43 } catch (error) { 44 logger.warn(error) 45 } 46 } 47} 48 49start() 50 .then(() => { 51 logger.info('all good') 52 }) 53 .catch((error) => { 54 logger.warn(error) 55 })