2019-12-04 20:58:08 +00:00
const upsert = require ( '../src/utils/upsert' ) ;
2020-02-19 03:41:53 +00:00
const tagPosters = [
2020-03-22 02:50:24 +00:00
[ 'airtight' , 1 , 'Jynx Maze in "Pump My Ass Full of Cum 3" for Jules Jordan' ] ,
[ 'anal' , 2 , 'Sheena Shaw for Bang Bros' ] ,
2020-02-19 03:41:53 +00:00
[ 'anal-creampie' , 0 , 'Gina Valentina and Jane Wilde in "A Very Special Anniversary" for Tushy' ] ,
2020-03-22 02:50:24 +00:00
[ 'asian' , 'poster' , 'Vina Sky in "Young and Glamorous 10" for Jules Jordan' ] ,
2020-02-19 03:41:53 +00:00
[ 'ass-to-mouth' , 'poster' , 'Alysa Gap and Logan in "Anal Buffet 4" for Evil Angel' ] ,
2020-03-13 20:54:44 +00:00
[ 'bdsm' , 0 , 'Dani Daniels in "The Traning of Dani Daniels, Day 2" for The Training of O at Kink' ] ,
[ 'behind-the-scenes' , 0 , 'Janice Griffith in "Day With A Pornstar: Janice" for Brazzers' ] ,
2020-03-22 02:50:24 +00:00
[ 'blowbang' , 'poster' ] ,
[ 'blowjob' , 0 , 'Adriana Chechik in "The Dinner Party" for Real Wife Stories (Brazzers)' ] ,
[ 'bukkake' , 'poster' ] ,
[ 'caucasian' , 1 , 'Sheena Shaw for Brazzers' ] ,
[ 'creampie' , 'poster' ] ,
2020-02-19 03:41:53 +00:00
[ 'da-tp' , 0 , 'Natasha Teen in LegalPorno SZ2164' ] ,
2020-03-16 03:10:52 +00:00
[ 'deepthroat' , 0 , 'Chanel Grey in "Deepthroating Is Fun" for Throated' ] ,
2020-03-22 02:50:24 +00:00
[ 'double-anal' , 2 , 'Lana Rhoades in "Lana Rhoades Unleashed" for HardX' ] ,
2020-03-23 00:43:49 +00:00
[ 'double-penetration' , 'poster' , 'Mia Malkova in "DP Me Vol. 8" for HardX' ] ,
2020-02-19 03:41:53 +00:00
[ 'double-vaginal' , 'poster' , 'Riley Reid in "Pizza That Ass" for Reid My Lips' ] ,
[ 'dv-tp' , 'poster' , 'Juelz Ventura in "Gangbanged 5" for Elegant Angel' ] ,
[ 'ebony' , 1 , 'Sarah Banks for Brazzers' ] ,
2020-03-23 00:43:49 +00:00
[ 'facefucking' , 1 , 'Carrie for Young Throats' ] ,
2020-03-22 02:50:24 +00:00
[ 'facial' , 'poster' ] ,
2020-02-19 03:41:53 +00:00
[ 'gangbang' , 'poster' , 'Kristen Scott in "Interracial Gangbang!" for Jules Jordan' ] ,
[ 'gaping' , 1 , 'Vina Sky in "Vina Sky Does Anal" for HardX' ] ,
[ 'interracial' , 'poster' ] ,
[ 'latina' , 'poster' ] ,
2020-03-16 03:10:52 +00:00
[ 'mff' , 0 , 'Madison Ivy and Adriana Chechik in "Day With A Pornstar" for Brazzers' ] ,
2020-03-23 00:43:49 +00:00
[ 'mfm' , 1 , 'Jynx Maze in "Don\'t Make Me Beg 4" for Evil Angel' ] ,
2020-03-22 02:50:24 +00:00
[ 'oral-creampie' , 1 , 'Keisha Grey in Brazzers House' ] ,
2020-02-19 03:41:53 +00:00
[ 'orgy' , 'poster' ] ,
[ 'schoolgirl' , 1 , 'Eliza Ibarra for Brazzers' ] ,
[ 'swallowing' , 'poster' ] ,
[ 'tattoo' , 'poster' , 'Kali Roses in "Goes All In For Anal" for Hussie Pass' ] ,
[ 'trainbang' , 'poster' , 'Kali Roses in "Passing Me Around" for Blacked' ] ,
2020-03-22 02:50:24 +00:00
[ 'triple-anal' , 'poster' , 'Kristy Black in SZ1986 for LegalPorno' ] ,
2020-02-19 03:41:53 +00:00
]
. map ( ( [ slug , filename , comment ] , index ) => ( {
2020-01-08 22:33:24 +00:00
tagSlug : slug ,
path : ` tags/ ${ slug } / ${ filename } .jpeg ` ,
thumbnail : ` tags/ ${ slug } / ${ filename } _thumb.jpeg ` ,
2019-12-19 01:35:07 +00:00
mime : 'image/jpeg' ,
index ,
2020-01-08 22:33:24 +00:00
comment ,
2019-12-19 01:35:07 +00:00
} ) ) ;
const tagPhotos = [
2020-01-08 22:33:24 +00:00
[ 'airtight' , 2 , 'Dakota Skye in "Dakota Goes Nuts" for ArchAngel' ] ,
[ 'airtight' , 3 , 'Anita Bellini in "Triple Dick Gangbang" for Hands On Hardcore (DDF Network)' ] ,
2020-03-16 03:10:52 +00:00
[ 'anal' , 'poster' , 'Jynx Maze in "Anal Buffet 6" for Evil Angel' ] ,
2020-03-22 02:50:24 +00:00
[ 'anal' , 1 , 'Veronica Leal and Tina Kay in "Agents On Anal Mission" for Asshole Fever' ] ,
2020-01-08 22:33:24 +00:00
[ 'anal' , 0 ] ,
2020-03-22 02:50:24 +00:00
[ 'caucasian' , 'poster' ] ,
2020-01-08 22:33:24 +00:00
[ 'da-tp' , 1 , 'Francys Belle in SZ1702 for LegalPorno' ] ,
[ 'da-tp' , 2 , 'Angel Smalls in GIO408 for LegalPorno' ] ,
[ 'da-tp' , 3 , 'Evelina Darling in GIO294' ] ,
[ 'da-tp' , 4 , 'Ninel Mojado aka Mira Cuckold in GIO063 for LegalPorno' ] ,
2020-03-22 02:50:24 +00:00
[ 'double-anal' , 6 , 'Sheena Shaw in "Ass Worship 14" for Jules Jordan' ] ,
[ 'double-anal' , 5 , 'Riley Reid in "The Gangbang of Riley Reid" for Jules Jordan' ] ,
2020-01-23 02:52:12 +00:00
[ 'double-anal' , 'poster' , 'Haley Reed in "Young Hot Ass" for Evil Angel' ] ,
2020-01-08 22:33:24 +00:00
[ 'double-anal' , 0 , 'Nicole Black doing double anal during a gangbang in GIO971 for LegalPorno' ] ,
[ 'double-anal' , 1 , 'Ria Sunn in SZ1801 for LegalPorno' ] ,
2020-03-23 00:43:49 +00:00
[ 'double-penetration' , 0 , 'Zoey Monroe in "Slut Puppies 7" for Jules Jordan' ] ,
[ 'double-penetration' , 1 , 'Jynx Maze in "Don\'t Make Me Beg 4" for Evil Angel' ] ,
2020-02-02 04:14:58 +00:00
[ 'double-vaginal' , 0 , 'Aaliyah Hadid in "Squirting From Double Penetration With Anal" for Bang Bros' ] ,
2020-01-08 22:33:24 +00:00
[ 'dv-tp' , 1 , 'Adriana Chechik in "Adriana\'s Triple Anal Penetration!"' ] ,
[ 'dv-tp' , 0 , 'Luna Rival in LegalPorno SZ1490' ] ,
2020-03-23 00:43:49 +00:00
[ 'facefucking' , 2 , 'Jynx Maze for Throated' ] ,
2020-01-08 22:33:24 +00:00
[ 'gangbang' , 0 , '"4 On 1 Gangbangs" for Doghouse Digital' ] ,
[ 'gangbang' , 1 , 'Ginger Lynn in "Gangbang Mystique", a photoset shot by Suze Randall for Puritan No. 10, 1984. This photo pushed the boundaries of pornography at the time, as depicting a woman \'fully occupied\' was unheard of.' ] ,
[ 'gangbang' , 2 , 'Riley Reid\'s double anal in "The Gangbang of Riley Reid" for Jules Jordan' ] ,
2020-01-29 01:24:19 +00:00
[ 'gaping' , 'poster' , 'Paulina in "Anal Buffet 4" for Evil Angel' ] ,
2020-02-19 03:41:53 +00:00
[ 'gaping' , 0 , 'McKenzee Miles in "Anal Buffet 4" for Evil Angel' ] ,
2020-03-23 00:43:49 +00:00
[ 'mfm' , 'poster' , 'Vina Sky for Jules Jordan' ] ,
2020-01-08 22:33:24 +00:00
[ 'trainbang' , 0 , 'Nicole Black in GIO971 for LegalPorno' ] ,
[ 'triple-anal' , 1 , 'Natasha Teen in SZ2098 for LegalPorno' ] ,
[ 'triple-anal' , 2 , 'Kira Thorn in GIO1018 for LegalPorno' ] ,
2020-01-23 02:52:12 +00:00
[ 'oral-creampie' , 'poster' , 'Khloe Kapri' ] ,
2019-12-19 01:35:07 +00:00
]
2020-01-08 22:33:24 +00:00
. map ( ( [ slug , fileIndex , comment ] , index ) => ( {
tagSlug : slug ,
path : ` tags/ ${ slug } / ${ fileIndex } .jpeg ` ,
thumbnail : ` tags/ ${ slug } / ${ fileIndex } _thumb.jpeg ` ,
2019-12-19 01:35:07 +00:00
mime : 'image/jpeg' ,
index ,
2020-01-08 22:33:24 +00:00
comment ,
2019-12-19 01:35:07 +00:00
} ) ) ;
2019-12-04 20:58:08 +00:00
2020-03-23 00:43:49 +00:00
const sfw = Object . entries ( {
kittens : [
[ 'fEK4jvgnApg' , 'Kim Davies' ] ,
[ 'FCx5h0erwnA' , 'Lorraine Steriopol' ] ,
[ 'RcGUiP9dphM' , 'Kym Ellis' ] ,
[ 'gAPXLS1LRVE' , 'Olya Kuzovkina' ] ,
[ 'JHf_O0inuHg' , 'Prasad Panchakshari' ] ,
[ 'CKsDMYPDgCs' , 'Jacalyn Beales' ] ,
[ 'mQquoOszMRM' , 'Dimitri Houtteman' ] ,
[ 'MNju0A6EeE0' , 'Amy Baugess' ] ,
[ 'emI7VUcvLi0' , 'The Lucky Neko' ] ,
[ 'Aq4e2-v7UuQ' , 'Mario Peter' ] ,
[ '6vY_jbV12kQ' , 'Kazuky Akayashi' ] ,
[ '1BfCps2-XjQ' , 'Ramiz Dedaković' ] ,
[ 'iNEXVlX-RLs' , 'Lucija Ros' ] ,
[ 'b8g-ywrrl5Y' , 'Leighann Blackwood' ] ,
[ 'Y3gjv5x38Wc' , 'Agustin Fernandez' ] ,
[ 'TYXh7h4QxX0' , 'Leighann Blackwood' ] ,
[ '6EchiwVg7C4' , 'Jesse Borovnica' ] ,
[ 'fGh_mgAcKYY' , 'Šárka Jonášová' ] ,
[ 'V8o2n1GbMWc' , 'Hunt Han' ] ,
[ 'TEnrxLKakgI' , 'Diver Zhang' ] ,
[ 'XZuTLRfxwcU' , 'Diana Parkhouse' ] ,
[ 'rpvS2T2Tl0c' , 'Luiza Braun' ] ,
[ '1S08ciB6Fy4' , 'Екатерина Балабанова' ] ,
[ 'iuBVMDnwaho' , 'Shaun Meintjes' ] ,
[ '02kGh5lGsb8' , 'Kym Ellis' ] ,
[ '8ELEgu78IbU' , 'Kristin Wilson' ] ,
[ 'TQ0XD_mGC8c' , 'Kamal Bilal' ] ,
[ 'zgvb8Knw_AU' , 'Zoë Gayah Jonker' ] ,
[ 'GGb-AyBZhjY' , 'Brett Jordan' ] ,
[ 'DyD9hx5lvpg' , 'James Pond' ] ,
] ,
architecture : [
[ 'jBanV-D3T-Q' , 'Dimitry Anikin' ] ,
[ 'VoQ35NRfZro' , 'Dabbas' ] ,
[ '_u_wI4LaT7o' , 'Alex Hudson' ] ,
[ 'oSmn4cbhl8w' , 'Jorge Gardner' ] ,
[ 'c8GdokJMjWU' , 'Mert Kahveci' ] ,
[ 'nfPguKj20Ac' , 'Ilya Panasenko' ] ,
[ 'GGxUyCgfORg' , 'photo_comments' ] ,
[ 'oLUPaceKme0' , 'Jack Schwartz' ] ,
[ 'bo6oz4m4OXY' , 'Vinicius Henrique' ] ,
[ '7HYbCXD2GSA' , 'Theme Inn' ] ,
[ '6K4hh4VX3T0' , 'SaiKrishna Saketh' ] ,
[ 'lTxOZBNZ9yM' , '[2Ni]' ] ,
[ 'H3mL3kocOQ4' , 'Artur Matosyan' ] ,
[ 'ijxxeMO3c8E' , 'Larry Teo' ] ,
[ 'WMrd7-CjyF0' , 'Anna Claire Schellenberg' ] ,
[ 'FJIFiUCOTfc' , 'Kirsten Drew' ] ,
[ '9daKXiWx5Eg' , 'Anastasia Dulgier' ] ,
[ '47QjuZBn5dQ' , 'Murugavel Oli' ] ,
[ 'yjR2ne1gtAA' , 'Marius' ] ,
[ 'y9vO3FWDZb0' , 'bckfwd' ] ,
[ 'Ro6CB6x-VUg' , 'Andreas NextVoyagePL' ] ,
[ '2td44mctvmI' , 'Cameron Venti' ] ,
[ 'M1uoNRrNrkE' , 'Willian Justen de Vasconcellos' ] ,
[ 'L-2jRW74fPY' , 'Daryan Shamkhali' ] ,
[ 'NrzNScsGgp8' , 'Guy Basabose' ] ,
[ 'Qr5pi1_GlvY' , 'Benno Klandt' ] ,
[ 'twruXW0M2Mw' , 'sk' ] ,
[ 'B8vwUO2NM9Y' , 'Stuart Frisby' ] ,
[ 'p9jBrqMSU6Q' , 'Han Leentvaar' ] ,
[ '4rGlazYAV3I' , 'Dmitry Bayer' ] ,
] ,
flowers : [
[ '4QLKuXKAy7k' , 'BEAUFIGEAU CELINE' ] ,
[ 'DlYzHwAl32g' , 'HISANARI KUNIMOTO' ] ,
[ '3TXuFNun-5Q' , 'Erik Andres Reynoso' ] ,
[ 'Rrhfeq9yeQ0' , 'NeONBRAND' ] ,
[ 'YaQdJyulJdU' , 'Natasha V' ] ,
[ 'wt4u1wNiT9I' , 'Teo Zac' ] ,
[ 'HG5RcKEawLA' , 'Varshesh Joshi' ] ,
[ 'VBtdWGCQ2yw' , 'Vanessa Ochotorena' ] ,
[ 'a-lIQzpvbHs' , 'Thomas AE' ] ,
[ 'D5RScffd8WU' , 'NeONBRAND' ] ,
[ 'mXQyEcINwa8' , 'Thought Catalog' ] ,
[ 'REczfcmwooE' , 'Steve Harvey' ] ,
[ '7pGehyH7o64' , 'Leonardo Wong' ] ,
[ 'wvGQYtZ_c08' , 'chuttersnap' ] ,
[ 'jjqZ0gvHLYc' , 'Suresh Purohit' ] ,
[ '9wQ-aGu0gBs' , 'Joël de Vriend' ] ,
[ '8ANiHTtHbAQ' , 'Nick Karvounis' ] ,
[ 'Ehko8EbURbk' , 'Chris Barbalis' ] ,
[ 'Rlxfn__azLQ' , 'Annie Spratt' ] ,
[ 'q8I3Jeph4uU' , 'Jake Dela Concepcion' ] ,
[ 'wQjjYp8_a0Y' , 'Henry Lorenzatto' ] ,
[ 'GnwWHUXBfYI' , 'Will Svec' ] ,
[ 'pwFNVBlj5XU' , 'Danijela Froki' ] ,
[ 'RWz313DUECo' , 'Laura Baker' ] ,
[ 'lffwXgsqChg' , 'Nils Schirmer' ] ,
[ 'e1O6NCmhUt4' , 'Brian McGowan' ] ,
] ,
food : [
[ 'XPSXhLx143g' , 'Wouter Meijering' ] ,
[ 'VpxavZd4S-I' , 'Mr Lemon' ] ,
[ '9vHOhKoNlNw' , 'Edrece Stansberry' ] ,
[ 'uScYRjZ2ol8' , 'donald modeste' ] ,
[ 'fCE-pTmFrPI' , 'Valeriu Bondarenco' ] ,
[ '1ZTccDpF71k' , 'Austin Paquette' ] ,
[ 'Au-LzDMd_Cw' , 'Stephanie McCabe' ] ,
[ '9cfHdC2Asak' , 'cindy fernandez' ] ,
[ '4-rmvQRL2nY' , 'Annie Spratt' ] ,
[ '8Yvwy4Kbd1g' , 'Alex Kondratiev' ] ,
[ '4PtChDuxsDI' , 'Dronile Hiraldo' ] ,
[ 'Mi1SNlsyWAk' , 'Louis Hansel @shotsoflouis' ] ,
[ 'nn0whk6nzv4' , 'Yulia Chinato' ] ,
[ '8JIIoSFtEbo' , 'Massimo Virgilio' ] ,
[ '44eKcVXzFoc' , 'Alonso Romero' ] ,
[ 'JpbtAb-f3JA' , 'Dollar Gill' ] ,
[ 'Hvrm3efPYIA' , 'Delaney Van' ] ,
[ '4E0dknSrQVU' , 'Matteo Maretto' ] ,
[ 'krNP2ESq-54' , 'Joshua Bedford' ] ,
[ 'DPNrBT1WCMs' , 'Egor Lyfar' ] ,
[ 'Yy-dHQP-Ax0' , 'Markus Spiske' ] ,
[ 'BKSntHf8oiU' , 'Melissa Walker Horn' ] ,
[ 'asaGSZEyltQ' , 'Noora AlHammadi' ] ,
[ 'U3hCd1S7FQ4' , 'Louis Hansel @shotsoflouis' ] ,
[ 'VOpJTnP6S9g' , 'Liana Mikah' ] ,
[ '9TWavGempJc' , 'Ashleigh Robertson' ] ,
[ 'I2tgHl69Dco' , 'Louis Hansel @shotsoflouis' ] ,
[ 'fyQr1T3GE34' , 'Petr Sevcovic' ] ,
[ 'pGe5mc4Eip8' , 'Daniel Park' ] ,
[ 'gZsgKrNc8es' , 'Dan Gold' ] ,
] ,
} )
. map ( ( [ category , photos ] ) => photos . map ( ( [ photo , copyright ] , index ) => ( {
path : ` sfw/ ${ category } / ${ photo } .jpeg ` ,
thumbnail : ` sfw/ ${ category } /thumbs/ ${ photo } .jpeg ` ,
mime : 'image/jpeg' ,
sfw _media _id : null ,
group : category ,
index ,
copyright ,
comment : ` Courtesy of ${ copyright } ` ,
} ) ) )
. flat ( ) ;
2019-12-04 20:58:08 +00:00
/* eslint-disable max-len */
exports . seed = knex => Promise . resolve ( )
2020-03-23 00:43:49 +00:00
. then ( async ( ) => {
const { inserted } = await upsert ( 'media' , sfw , 'path' ) ;
const sfwMediaIds = inserted . map ( mediaEntry => ( { media _id : mediaEntry . id } ) ) ;
await upsert ( 'media_sfw' , sfwMediaIds , 'media_id' ) ;
} )
2019-12-04 20:58:08 +00:00
. then ( async ( ) => {
2019-12-19 01:35:07 +00:00
const tagMedia = tagPosters . concat ( tagPhotos ) ;
const tags = await knex ( 'tags' ) . whereIn ( 'slug' , tagMedia . map ( item => item . tagSlug ) ) ;
2020-03-23 00:43:49 +00:00
2019-12-19 01:35:07 +00:00
const { inserted , updated } = await upsert ( 'media' , tagMedia . map ( ( {
path , thumbnail , mime , index , comment ,
} ) => ( {
path , thumbnail , mime , index , comment ,
} ) ) , 'path' , knex ) ;
2019-12-04 20:58:08 +00:00
2019-12-19 01:35:07 +00:00
const tagIdsBySlug = tags . reduce ( ( acc , tag ) => ( { ... acc , [ tag . slug ] : tag . id } ) , { } ) ;
const mediaIdsByPath = inserted . concat ( updated ) . reduce ( ( acc , item ) => ( { ... acc , [ item . path ] : item . id } ) , { } ) ;
2019-12-04 20:58:08 +00:00
2019-12-19 01:35:07 +00:00
const tagPosterEntries = tagPosters . map ( poster => ( {
tag _id : tagIdsBySlug [ poster . tagSlug ] ,
media _id : mediaIdsByPath [ poster . path ] ,
} ) ) ;
const tagPhotoEntries = tagPhotos . map ( photo => ( {
tag _id : tagIdsBySlug [ photo . tagSlug ] ,
media _id : mediaIdsByPath [ photo . path ] ,
} ) ) ;
2019-12-04 20:58:08 +00:00
2019-12-19 01:35:07 +00:00
return Promise . all ( [
upsert ( 'tags_posters' , tagPosterEntries , 'tag_id' , knex ) ,
2020-01-06 04:19:38 +00:00
upsert ( 'tags_photos' , tagPhotoEntries , [ 'tag_id' , 'media_id' ] , knex ) ,
2019-12-19 01:35:07 +00:00
] ) ;
2019-12-04 20:58:08 +00:00
} ) ;