populate_flags.js 646 B

12345678910111213141516171819
  1. import {osu_fetch} from '../api.js';
  2. import db from '../database.js';
  3. async function populate_flags() {
  4. for (let i = 0; i < 4; i++) {
  5. const top50 = db.prepare(`SELECT user_id FROM rating ORDER BY elo DESC LIMIT 50`).all();
  6. const idlist = [];
  7. for (let j = 0; j < 50; j++) {
  8. idlist.push(`ids[${j}]=${top50[j].user_id}`);
  9. }
  10. const res = await osu_fetch(`https://osu.ppy.sh/api/v2/users?${idlist.join('&')}`);
  11. for (const user of res.users) {
  12. db.prepare(`UPDATE user SET profile_data = ?, country_code = ? WHERE user_id = ?`).run(JSON.stringify(user), user.country_code, user.id);
  13. }
  14. }
  15. }
  16. populate_flags();