const upsert = require('../src/utils/upsert'); const studios = [ // LegalPorno { slug: 'gonzocom', name: 'Gonzo.com', alias: ['sz'], url: 'https://www.legalporno.com/studios/gonzo_com', parent: 'legalporno', }, { slug: 'giorgiograndi', name: 'Giorgio Grandi', url: 'https://www.legalporno.com/studios/giorgio-grandi', alias: ['gio'], parent: 'legalporno', }, { slug: 'hardpornworld', name: 'Hard Porn World', url: 'https://www.legalporno.com/studios/hard-porn-world', alias: ['gp'], parent: 'legalporno', }, { slug: 'interracialvision', name: 'Interracial Vision', url: 'https://www.legalporno.com/studios/interracial-vision', alias: ['iv'], parent: 'legalporno', }, { slug: 'giorgioslab', name: 'Giorgio\'s Lab', url: 'https://www.legalporno.com/studios/giorgio--s-lab', alias: ['gl'], parent: 'legalporno', }, { slug: 'americananal', name: 'American Anal', url: 'https://www.legalporno.com/studios/american-anal', alias: ['aa'], parent: 'legalporno', }, { slug: 'assablanca', name: 'Assablanca', url: 'https://www.legalporno.com/studios/assablanca', alias: ['ab'], parent: 'legalporno', }, { slug: 'focus', name: 'Focus', url: 'https://www.legalporno.com/studios/focus', alias: ['fs'], parent: 'legalporno', }, { slug: 'anal4her', name: 'Anal 4 Her', url: 'https://www.legalporno.com/studios/anal-4-her', alias: ['af', 'anal forever'], parent: 'legalporno', }, { slug: 'gonzoinbrazil', name: 'Gonzo in Brazil', url: 'https://www.legalporno.com/studios/gonzo-in-brazil', alias: ['bz'], parent: 'legalporno', }, { slug: 'mranal', name: 'Mr Anal', url: 'https://www.legalporno.com/studios/mr-anal', alias: ['ma'], parent: 'legalporno', }, { slug: 'tarrawhite', name: 'Tarra White', url: 'https://www.legalporno.com/studios/tarra-white', alias: ['tw'], parent: 'legalporno', }, { slug: 'sineplexsos', name: 'Sineplex SOS', url: 'https://www.legalporno.com/studios/sineplex-sos', alias: ['rs'], parent: 'legalporno', }, { slug: 'fmodels', name: 'F Models', url: 'https://www.legalporno.com/studios/f-models', alias: ['fm'], parent: 'legalporno', }, { slug: 'sineplexcz', name: 'Sineplex CZ', url: 'https://www.legalporno.com/studios/sineplex-cz', alias: ['sz'], parent: 'legalporno', }, { slug: 'gg', name: 'GG', url: 'https://www.legalporno.com/studios/gg', parent: 'legalporno', }, { slug: 'firstgape', name: 'First Gape', url: 'https://www.legalporno.com/studios/first-gape', alias: ['sal'], parent: 'legalporno', }, { slug: 'omargalantiproductions', name: 'Omar Galanti Productions', url: 'https://www.legalporno.com/studios/omar-galanti-productions', parent: 'legalporno', }, { slug: 'marywet', name: 'Marywet', url: 'https://www.legalporno.com/studios/marywet', alias: ['ots'], parent: 'legalporno', }, { slug: 'norestfortheass', name: 'No Rest For The Ass', url: 'https://www.legalporno.com/studios/no-rest-for-the-ass', alias: ['nr'], parent: 'legalporno', }, { slug: 'hairygonzo', name: 'Hairy Gonzo', url: 'https://www.legalporno.com/studios/hairy-gonzo', alias: ['hg'], parent: 'legalporno', }, { slug: 'sineplexclassic', name: 'Sineplex Classic', url: 'https://www.legalporno.com/studios/sineplex-classic', parent: 'legalporno', }, { slug: 'sinemale', name: 'Sinemale', url: 'https://www.legalporno.com/studios/sinemale', parent: 'legalporno', }, { slug: 'outsidethestudio', name: 'Outside The Studio', url: 'https://www.legalporno.com/studios/outside-the-studio', alias: ['ots'], parent: 'legalporno', }, { slug: 'kinkysex', name: 'Kinky Sex', url: 'https://www.legalporno.com/studios/kinky-sex', alias: ['ks'], parent: 'legalporno', }, { slug: 'sexyangelproductions', name: 'Sexy Angel Productions', url: 'https://www.legalporno.com/studios/sexy-angel-productions', alias: ['sa'], parent: 'legalporno', }, { slug: 'nfstudio', name: 'N&F Studio', url: 'https://www.legalporno.com/studios/nf-studio', alias: ['nf'], parent: 'legalporno', }, { slug: 'natashateenproductions', name: 'Natasha Teen Productions', url: 'https://www.legalporno.com/studios/natasha-teen-productions', alias: ['nt'], parent: 'legalporno', }, { slug: 'mixedstudios', name: 'Mixed Studios', url: 'https://www.legalporno.com/studios/mixed-studios', alias: ['ms'], parent: 'legalporno', }, { slug: 'claudiasclips', name: 'Claudia\'s Clips', url: 'https://www.legalporno.com/studios/claudia--s-clips', alias: ['cm'], parent: 'legalporno', }, { slug: 'rebeccasclips', name: 'Rebecca\'s Clips', url: 'https://www.legalporno.com/studios/rebecca--s-clips', alias: ['rv'], parent: 'legalporno', }, { slug: 'private', name: 'Private', url: 'https://www.legalporno.com/studios/private', parent: 'legalporno', }, { slug: 'privatecastings', name: 'Private Castings', url: 'https://www.legalporno.com/studios/private-castings', parent: 'legalporno', }, { slug: 'privateblack', name: 'Private Black', url: 'https://www.legalporno.com/studios/private-black', parent: 'legalporno', }, { slug: 'nrxstudio', name: 'NRX Studio', url: 'https://www.legalporno.com/studios/nrx-studio', alias: ['nrx'], parent: 'legalporno', }, { slug: 'lpggg', name: 'GGG by John Thompson', url: 'https://www.legalporno.com/studios/ggg-by-john-thompson', parent: 'legalporno', }, { slug: 'yummyestudio', name: 'Yummy Estudio', url: 'https://www.legalporno.com/studios/yummy-estudio', alias: ['ye'], parent: 'legalporno', }, { slug: 'bustedtgirls', name: 'Busted T-Girls', url: 'https://www.legalporno.com/studios/busted-t-girls', alias: ['btg'], tags: ['transsexual'], parent: 'legalporno', }, { slug: 'lpbangbros', name: 'Bang Bros', url: 'https://www.legalporno.com/studios/bang-bros', parent: 'legalporno', }, { slug: 'vkstudio', name: 'VK Studio', url: 'https://www.legalporno.com/studios/vk-studio', alias: ['vk'], parent: 'legalporno', }, { slug: 'analmaniacs', name: 'Anal Maniacs by Lady Dee', url: 'https://www.legalporno.com/studios/anal-maniacs-by-lady-dee', alias: ['ld'], parent: 'legalporno', }, { slug: 'pineapplestestkitchen', name: 'Pineapple\'s Test Kitchen', url: 'https://www.legalporno.com/studios/pineapple--s-test-kitchen', alias: ['ax'], parent: 'legalporno', }, { slug: 'adelinelafouinestudio', name: 'Adeline Lafouine Studio', url: 'https://www.legalporno.com/studios/adeline-lafouine-studio', alias: ['al'], parent: 'legalporno', }, { slug: 'jeanmariecordastudio', name: 'Jean Marie Corda Studio', url: 'https://www.legalporno.com/studios/jean-marie-corda-studio', alias: ['jmc'], parent: 'legalporno', }, { slug: 'brianabanderasstudio', name: 'Briana Banderas Studio', url: 'https://www.legalporno.com/studios/briana-banderas-studio', alias: ['brb'], parent: 'legalporno', }, { slug: 'rickangelstudio', name: 'Rick Angel Studio', url: 'https://www.legalporno.com/studios/rick-angel-studio', alias: ['ra'], parent: 'legalporno', }, { slug: 'mamasitasavage', name: 'Mamasita Savage', url: 'https://www.legalporno.com/studios/mamasita-savage', alias: ['msv'], parent: 'legalporno', }, { slug: 'badbardotclub', name: 'Bad Bardot Club', url: 'https://www.legalporno.com/studios/bad-bardot-club', alias: ['bbc'], parent: 'legalporno', }, { slug: 'katerichstudio', name: 'Kate Rich Studio', url: 'https://www.legalporno.com/studios/kate-rich-studio', alias: ['krs'], parent: 'legalporno', }, { slug: 'daddyenjoy', name: 'DaddyEnjoy', url: 'https://www.legalporno.com/studios/daddyenjoy', alias: ['de'], parent: 'legalporno', }, { slug: 'laradesantisstudio', name: 'Lara De Santis Studio', url: 'https://www.legalporno.com/studios/lara-de-santis-studio', alias: ['lds'], parent: 'legalporno', }, { slug: 'lutrosworld', name: 'Lutro\'s World', url: 'https://www.legalporno.com/studios/lutro--s-world', alias: ['lw'], parent: 'legalporno', }, { slug: 'timeabellaproduction', name: 'Timea Bella Production', url: 'https://www.legalporno.com/studios/timea-bella-production', alias: ['tb'], parent: 'legalporno', }, { slug: 'angelwickysproduction', name: 'Angel Wicky\'s Production', url: 'https://www.legalporno.com/studios/angel-wicky%E2%80%99s-production', alias: ['aw'], parent: 'legalporno', }, { slug: 'bbcmaster', name: 'BBC Master', url: 'https://www.legalporno.com/studios/bbc-master', alias: ['jl'], parent: 'legalporno', }, { slug: 'maxrajoysquad', name: 'Max Rajoy Squad', url: 'https://www.legalporno.com/studios/max-rajoy-squad', alias: ['mrs'], parent: 'legalporno', }, { slug: 'queeneugenia', name: 'Queen Eugenia', url: 'https://www.legalporno.com/studios/queen-eugenia-studio', alias: ['qe'], parent: 'legalporno', }, { slug: 'helenamoellerstudio', name: 'Helena Moeller Studio', url: 'https://www.legalporno.com/studios/helena-moeller-studio', alias: ['hms'], parent: 'legalporno', }, { slug: 'allaboutsweetbunny', name: 'All About Sweet Bunny', url: 'https://www.legalporno.com/studios/all-about-sweet-bunny', alias: ['swb'], parent: 'legalporno', }, { slug: 'clubcandyalexa', name: 'Club Candy Alexa', url: 'https://www.legalporno.com/studios/club-candy-alexa', alias: ['cca'], parent: 'legalporno', }, { slug: 'stacybloomstudio', name: 'Stacy Bloom Studio', url: 'https://www.legalporno.com/studios/stacy-bloom-studio', alias: ['sbs'], parent: 'legalporno', }, { slug: 'harleenvanhyntenstudio', name: 'Harleen Van Hynten Studio', url: 'https://www.legalporno.com/studios/harleen-van-hynten-studio', alias: ['hvh'], parent: 'legalporno', }, { slug: 'cherryaleksastudio', name: 'Cherry Aleksa Studio', url: 'https://www.legalporno.com/studios/cherry-aleksa-studio', alias: ['ca'], parent: 'legalporno', }, { slug: 'possiblyneighbours', name: 'Possibly Neighbours', url: 'https://www.legalporno.com/studios/possibly-neighbours', alias: ['pn'], parent: 'legalporno', }, { slug: 'honourmaysmanorhouse', name: 'Honour Mays\' Manor House', url: 'https://www.legalporno.com/studios/honour-mays---manor-house', alias: ['hm'], parent: 'legalporno', }, { slug: 'adaralovestudio', name: 'Adara Love Studio', url: 'https://www.legalporno.com/studios/adara-love-studio', parent: 'legalporno', }, ]; /* eslint-disable max-len */ exports.seed = knex => Promise.resolve() .then(async () => { const networks = await knex('entities') .whereIn('slug', studios.map(studio => studio.parent)); const networksMap = networks.reduce((acc, { id, slug }) => ({ ...acc, [slug]: id }), {}); const studiosWithNetwork = studios.map(studio => ({ slug: studio.slug, name: studio.name, url: studio.url, type: 'studio', parent_id: networksMap[studio.parent], has_logo: studio.hasLogo || false, })); return upsert('entities', studiosWithNetwork, ['slug', 'type'], knex); });