import { PrismaClient } from '@prisma/client' import { cisFemaleAdult, cisMaleAdult, cisFemaleDoll, cisMaleDoll, cisFemaleGiant, cisMaleGiant, } from '../../../packages/models/src/index.mjs' const prisma = new PrismaClient() /* * Note: This will import the FreeSewing (v2) sizing table into the * FreeSewing curator account. * * Unless you are a very involved contributor, there is probably * no reason for you to run this script. */ // Holds the sets to create const sets = [] // Helper method to create the set data (does nothing for now) const createSetData = (data) => ({ ...data, measies: JSON.stringify(data.measies), tagsEn: JSON.stringify(data.tagsEn), tagsDe: JSON.stringify(data.tagsDe), tagsEs: JSON.stringify(data.tagsEs), tagsNl: JSON.stringify(data.tagsNl), tagsFr: JSON.stringify(data.tagsFr), tagsUk: JSON.stringify(data.tagsUk), }) // CIS Female Adult sets.push( ...Object.keys(cisFemaleAdult).map((size) => createSetData({ nameEn: `Cis-Female Adult - Size ${size} (EU)`, nameDe: `Cis-Weiblich Erwachsener - Größe ${size} (EU)`, nameEs: `Cis-Mujer Adulta - Talla ${size} (UE)`, nameFr: `Cis-Femme Adulte - Taille ${size} (UE)`, nameNl: `Cis-Dame Volwassene - Maat ${size} (EU)`, nameUk: `Доросла цис жінка - розмір ${size} (європейський)`, tagsEn: ['cis-female', 'adults', 'eu'], tagsDe: ['cis-weiblich', 'erwachsene', 'eu'], tagsEs: ['cis-mujer', 'adulta', 'ue'], tagsFr: ['cis-femme', 'adulte', 'ue'], tagsNl: ['cis-dame', 'volwassenen', 'eu'], tagsUk: ['cis-female', 'adults', 'eu'], measies: cisFemaleAdult[size], }) ) ) // CIS Male Adult sets.push( ...Object.keys(cisMaleAdult).map((size) => createSetData({ nameEn: `Cis-Male Adult - Size ${size} (EU)`, nameDe: `Cis-Männlich Erwachsener - Größe ${size} (EU)`, nameEs: `Cis-Hombre Adulto - Talla ${size} (UE)`, nameFr: `Cis-Homme Adulte - Taille ${size} (UE)`, nameNl: `Cis-Heer Volwassene - Maat ${size} (EU)`, nameUk: `Дорослий цис чоловік - розмір ${size} (європейський)`, tagsEn: ['cis-male', 'adults', 'eu'], tagsDe: ['cis-männlich', 'erwachsene', 'eu'], tagsEs: ['cis-hombre', 'adulto', 'ue'], tagsFr: ['cis-homme', 'adulte', 'ue'], tagsNl: ['cis-heer', 'volwassenen', 'eu'], tagsUk: ['cis-male', 'adults', 'eu'], measies: cisMaleAdult[size], }) ) ) // CIS Female Doll sets.push( ...Object.keys(cisFemaleDoll).map((size) => createSetData({ nameEn: `Cis-Female Doll - ${size}%`, nameDe: `Cis-Weiblich Puppe - ${size}%`, nameEs: `Cis-Mujer Muñeca - ${size}%`, nameFr: `Cis-Femme Poupée - ${size}%`, nameNl: `Cis-Dame Pop - ${size}%`, nameUk: `Лялька цис жінка - ${size}%`, tagsEn: ['cis-female', 'dolls'], tagsDe: ['cis-weiblich', 'puppen'], tagsEs: ['cis-mujer', 'muñecas'], tagsFr: ['cis-femme', 'poupées'], tagsNl: ['cis-dame', 'poppen'], tagsUk: ['cis-female', 'dolls'], measies: cisFemaleDoll[size], }) ) ) // CIS Male Doll sets.push( ...Object.keys(cisMaleDoll).map((size) => createSetData({ nameEn: `Cis-Male Doll - ${size}%`, nameDe: `Cis-Männlich Puppe - ${size}%`, nameEs: `Cis-Hombre Muñeca - ${size}%`, nameFr: `Cis-Homme Poupée - ${size}%`, nameNl: `Cis-Heer Pop - ${size}%`, nameUk: `Лялька цис чоловік - ${size}%`, tagsEn: ['cis-male', 'dolls'], tagsDe: ['cis-männlich', 'puppen'], tagsEs: ['cis-hombre', 'muñecas'], tagsFr: ['cis-homme', 'poupées'], tagsNl: ['cis-heer', 'poppen'], tagsUk: ['cis-male', 'dolls'], measies: cisMaleDoll[size], }) ) ) // CIS Female Giant sets.push( ...Object.keys(cisFemaleGiant).map((size) => createSetData({ nameEn: `Cis-Female Giant - ${size}%`, nameDe: `Cis-Weiblich Riesin - ${size}%`, nameEs: `Cis-Mujer Gigante - ${size}%`, nameFr: `Cis-Femme Géante - ${size}%`, nameNl: `Cis-Dame Reuzin - ${size}%`, nameUk: `Велетень цис жінка - ${size}%`, tagsEn: ['cis-female', 'giants'], tagsDe: ['cis-weiblich', 'riesen'], tagsEs: ['cis-mujer', 'gigantes'], tagsFr: ['cis-femme', 'géants'], tagsNl: ['cis-dame', 'reuzen'], tagsUk: ['cis-female', 'giants'], measies: cisFemaleGiant[size], }) ) ) // CIS Male Giant sets.push( ...Object.keys(cisFemaleGiant).map((size) => createSetData({ nameEn: `Cis-Male Giant - ${size}%`, nameDe: `Cis-Männlich Riese - ${size}%`, nameEs: `Cis-Hombre Gigante - ${size}%`, nameFr: `Cis-Homme Géant - ${size}%`, nameNl: `Cis-Heer Reus - ${size}%`, nameUk: `Велетень цис чоловік - ${size}%`, tagsEn: ['cis-male', 'giants'], tagsDe: ['cis-männlich', 'riesen'], tagsEs: ['cis-hombre', 'gigantes'], tagsFr: ['cis-homme', 'géants'], tagsNl: ['cis-heer', 'reuzen'], tagsUk: ['cis-male', 'giants'], measies: cisMaleGiant[size], }) ) ) async function createSet(data) { try { await prisma.curatedSet.create({ data }) } catch (err) { console.log(err) } } async function importSets(sets) { for (const set of sets) { console.log(`Importing ${set.nameEn}`) await createSet(set) } } export async function importSizingTable() { await importSets(sets) }