diff --git a/app/tools/createBsets.mjs b/app/tools/createBsets.mjs new file mode 100644 index 0000000..55b5bd0 --- /dev/null +++ b/app/tools/createBsets.mjs @@ -0,0 +1,75 @@ +import { PrismaClient } from '@prisma/client' + +const db = new PrismaClient() + +const Bsets = [ + {"name": "Wild of Eldraine", sets: ["woe"]}, + {"name": "Phyrexia", sets: ["one"]}, + {"name": "The Brothers' War", sets: ["bro"]}, + {"name": "Dominaria United", sets: ["dmu"]}, + {"name": "New Capenna", sets: ["snc"]}, + {"name": "Kamigawa", sets: ["neo"]}, + {"name": "Forgotten Realms", sets: ["afr"]}, + {"name": "Strixhaven", sets: ["stx"]}, + {"name": "Kaldheim", sets: ["khm"]}, + {"name": "Zendikar Rising", sets: ["znr"]}, + {"name": "Ikoria", sets: ["iko"]}, + {"name": "Theros Beyond Death", sets: ["thb"]}, + {"name": "Eldraine", sets: ["eld"]}, + {"name": "War of the Spark", sets: ["war"]}, + {"name": "Dominaria", sets: ["dom"]}, + {"name": "March of the machine", sets: ["mom","mat"]}, + {"name": "Innistrad Midnight Hunt", sets: ["wow","mid"]}, + {"name": "Guilds of Ravnica", sets: ["rna","grn"]}, + {"name": "Ixalan", sets: ["rix","xln"]}, + {"name": "Amonkhet", sets: ["hou","akh"]}, + {"name": "Kaladesh", sets: ["aer","kld"]}, + {"name": "Shadows over Innistrad", sets: ["emn","soi"]}, + {"name": "Battle for Zendikar", sets: ["ogw","bfz"]}, + {"name": "Tarkir", sets: ["dtk","ktk","frf"]}, + {"name": "Theros", sets: ["jou","bng","ths"]}, + {"name": "Return to Ravnica", sets: ["dgm","gtc","rtr"]}, + {"name": "Innistrad", sets: ["avr","dka","isd"]}, + {"name": "New Phyrexia", sets: ["nph","mbs","som"]}, + {"name": "Zendikar", sets: ["roe","wwk","zen"]}, + {"name": "Alara", sets: ["arb","con","ala"]}, + {"name": "Ravnica", sets: ["rav","gpt","dis"]}, + {"name": "Kamigawa 3x", sets: ["chk","bok","sok"]}, + {"name": "Mirrodin", sets: ["5dn","dst","mrd"]}, + {"name": "Onslaught", sets: ["ons","lng","scg"]}, + {"name": "Odyssey", sets: ["ody","tor","jud"]}, + {"name": "Invasion", sets: ["inv","pls","apc"]}, + {"name": "Masques", sets: ["mmq","nem","pcy"]}, + {"name": "Urza", sets: ["usg","ulg","uds"]}, + {"name": "Tempest", sets: ["tmp","sth","exo"]}, + {"name": "Mirage", sets: ["wth","mir","wis"]}, + {"name": "Ice Age", sets: ["csp","ice","all"]}, + {"name": "Time Spiral", sets: ["fut","tsp","plc","tsb"]}, + {"name": "Lorwyn-Shadowmoor", sets: ["lrw","shm","mor","eve"]}, +] + +async function createBsets(bset_obj) { + const bset = await db.bset.create({ + data: { + name: bset_obj.name, + sanitized_name: bset_obj.name.replace(/[^a-zA-Z0-9]/gim,"-").toLowerCase() + } + }) + + const or_filter = [] + bset_obj.sets.forEach((set_id) => { + or_filter.push({ code: set_id }) + }) + + await db.set.updateMany({ + where: { + OR: or_filter + }, + data: { + bset_id: bset.id + } + }) + +} + +Bsets.forEach(createBsets)