2020-09-05 00:57:24 +00:00
// const nanoid = require('nanoid/non-secure');
2019-12-04 20:58:08 +00:00
const upsert = require ( '../src/utils/upsert' ) ;
2020-03-23 00:43:49 +00:00
const sfw = Object . entries ( {
2020-05-14 02:26:05 +00:00
animals : [
[ '7WXfIIxVlNo' , 'David Boca' ] ,
[ 'aMBhrrveocw' , 'Ivan Diaz' ] ,
[ 'LTzbD8lj0kw' , 'Lionel HESRY' ] ,
[ 't2I1PTZEx4E' , 'Mohamed Nanabhai' ] ,
[ '0S1qMPpHbkE' , 'Thomas Giotopoulos' ] ,
[ 'UnLcVKt7d7I' , 'Fernando @cferdo' ] ,
[ 'reXwAuEdkVM' , 'Ryan Al Bishri' ] ,
[ 'Hq5N_iPRkOs' , 'Axel Holen' ] ,
[ 'GtXsMqOR3ik' , 'Sophie Dale' ] ,
[ 'FYJNmIQk7JA' , 'Anastasiya Romanova' ] ,
[ 'pQmu6_4VDaI' , 'joel herzog' ] ,
[ 'j0iiByCxGfA' , 'Jordan Opel' ] ,
[ '67rtZAf_Jgw' , 'Sean Thoman' ] ,
[ '2puB0ahKDag' , 'K. Mitch Hodge' ] ,
[ 'AM9ZtoUss68' , 'Erica Nilsson' ] ,
[ '7r58deUCN4Q' , 'Zuriela Benitez' ] ,
[ 'PQJN_Po0O1U' , 'Quaid Lagan' ] ,
[ 'rCkstBJusv4' , 'Martin Woortman' ] ,
[ 'Tj4lLm49hhM' , 'Saketh Upadhya' ] ,
[ 'SjtR_cCEh0w' , 'Patti Black' ] ,
[ 'hmn3ZiTDep4' , 'Portuguese Gravity' ] ,
[ 'ZC3LibyQxZQ' , 'Narges Pms' ] ,
[ 'l-OYOwN2gpQ' , 'Pablo Guerrero' ] ,
[ 'E8LxrpUjW7Q' , 'Tamara Bellis' ] ,
[ 'xYVRzube0iM' , 'Ricardo Braham' ] ,
[ '7AzUTGOBeJI' , 'Adam Thomas' ] ,
[ '9Ha6VNNsKAA' , 'Thomas Evans' ] ,
[ 'GNvCMZzljr0' , 'Hari Nandakumar' ] ,
[ '51u3WqwzXnQ' , 'Grace Evans' ] ,
[ 'X8Sck0T0y8s' , 'Mélody P' ] ,
] ,
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' ] ,
] ,
dogs : [
[ 'f7-aL0xQd6A' , 'Mark Galer' ] ,
[ 'kOI1RlSGsfo' , 'Mark Zamora' ] ,
[ '7c8z4KEvgds' , 'William Daigneault' ] ,
[ 'oWrZoAVOBS0' , 'William Daigneault' ] ,
[ 'xwpF_Hts7jA' , 'Carolinie Cavalli' ] ,
[ '72mXoMwCoq4' , 'Yuki Dog' ] ,
[ '7EKROB9iGFc' , 'Yuki Dog' ] ,
[ 'cX-KEISwDIw' , 'Cole Keister' ] ,
[ '6v-lTFEoO6E' , 'Camilo Fierro' ] ,
[ '1-sM8xqPFTM' , 'Dimitri Bong' ] ,
[ 'uTRtIcwkbGM' , 'Lenin Estrada' ] ,
[ 'dpn6K9e1vzY' , 'Evan Clark' ] ,
[ 'M8AKGLnbi90' , 'Tatiana Rodriguez' ] ,
[ 'sxGJv1SUlew' , 'Jon Tyson' ] ,
[ 'pT9TTuuzivQ' , 'William Daigneault' ] ,
[ 'KKNxCHLesGc' , 'Julio Arcadio Santamaría Reyes' ] ,
[ 'e_Du6fAT5dI' , 'Thomas Fryatt' ] ,
[ '1IqHMmYaQJE' , 'Mitchell Orr' ] ,
[ 'BHh-jKrTIoU' , 'NICOLAS TESSARI' ] ,
[ 'l6GlfPH-8y4' , 'Tatiana Rodriguez' ] ,
[ 'd7TLLuiwm_c' , 'Brett Jordan' ] ,
[ 'I_PBuIa3Bm8' , 'Karl Bewick' ] ,
[ 'd2hWXEV8J-8' , 'Harrison Kugler' ] ,
[ 'AhKXmqa_7yU' , 'Yuki Dog' ] ,
[ 'aH79Nc7Npas' , 'Irene Garcia' ] ,
[ 'v3-zcCWMjgM' , 'James Barker' ] ,
] ,
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' ] ,
[ '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 : [
[ '1ZTccDpF71k' , 'Austin Paquette' ] ,
[ '4-rmvQRL2nY' , 'Annie Spratt' ] ,
[ '44eKcVXzFoc' , 'Alonso Romero' ] ,
[ '4E0dknSrQVU' , 'Matteo Maretto' ] ,
2020-05-23 02:32:50 +00:00
[ '4PtChDuxsDI' , 'Dronile Hiraldo' ] ,
[ '8JIIoSFtEbo' , 'Massimo Virgilio' ] ,
[ '8Yvwy4Kbd1g' , 'Alex Kondratiev' ] ,
2020-05-14 02:26:05 +00:00
[ '9TWavGempJc' , 'Ashleigh Robertson' ] ,
2020-05-23 02:32:50 +00:00
[ '9cfHdC2Asak' , 'cindy fernandez' ] ,
2020-05-14 02:26:05 +00:00
[ '9vHOhKoNlNw' , 'Edrece Stansberry' ] ,
[ 'Au-LzDMd_Cw' , 'Stephanie McCabe' ] ,
[ 'BKSntHf8oiU' , 'Melissa Walker Horn' ] ,
2020-05-23 02:32:50 +00:00
[ 'DPNrBT1WCMs' , 'Egor Lyfar' ] ,
[ 'Hvrm3efPYIA' , 'Delaney Van' ] ,
[ 'I2tgHl69Dco' , 'Louis Hansel @shotsoflouis' ] ,
[ 'JpbtAb-f3JA' , 'Dollar Gill' ] ,
[ 'Mi1SNlsyWAk' , 'Louis Hansel @shotsoflouis' ] ,
2020-05-14 02:26:05 +00:00
[ 'U3hCd1S7FQ4' , 'Louis Hansel @shotsoflouis' ] ,
[ 'VOpJTnP6S9g' , 'Liana Mikah' ] ,
2020-05-23 02:32:50 +00:00
[ 'VpxavZd4S-I' , 'Mr. Lemon' ] ,
[ 'XPSXhLx143g' , 'Wouter Meijering' ] ,
[ 'Yy-dHQP-Ax0' , 'Markus Spiske' ] ,
[ 'asaGSZEyltQ' , 'Noora AlHammadi' ] ,
[ 'fCE-pTmFrPI' , 'Valeriu Bondarenco' ] ,
2020-05-14 02:26:05 +00:00
[ 'fyQr1T3GE34' , 'Petr Sevcovic' ] ,
[ 'gZsgKrNc8es' , 'Dan Gold' ] ,
2020-05-23 02:32:50 +00:00
[ 'krNP2ESq-54' , 'Joshua Bedford' ] ,
[ 'nn0whk6nzv4' , 'Yulia Chinato' ] ,
[ 'pGe5mc4Eip8' , 'Daniel Park' ] ,
[ 'uScYRjZ2ol8' , 'Donald Modeste' ] ,
2020-05-14 02:26:05 +00:00
] ,
candy : [
[ '51AhxwkYyHo' , 'Viktor Forgacs' ] ,
[ 'rS1GogPLVHk' , 'Eaters Collective' ] ,
[ '9m6NQHyxk-s' , 'Brooke Lark' ] ,
[ 'DOmaKmeCp_8' , 'Sarah Takforyan' ] ,
[ 'aCPOKOb4qis' , 'Jamie Street' ] ,
[ 'On8Ov1TItnU' , 'QooQee' ] ,
[ 'KN7tpVQCmWA' , 'Nick Fewings' ] ,
[ '9lmFbtJ2QzM' , 'Tim Gouw' ] ,
[ '54hUU5pNSvo' , 'Erol Ahmed' ] ,
[ 'zYH4SubXCWY' , 'Наталья Горох' ] ,
[ 'wJHJY7PcDcg' , 'Andrew Itaga' ] ,
[ 'BnusUP5jydc' , 'Marc Markstein' ] ,
[ 'NI_fJ15rIfI' , 'Szabo Viktor' ] ,
[ 'LymVMRIUwPQ' , 'Happy Films' ] ,
[ 'mrNVnLEphdo' , 'Greg Nunes' ] ,
[ 'CKLF34baCTQ' , 'Willian Justen de Vasconcellos' ] ,
[ '7uGCN9qshsY' , 'Siora Photography' ] ,
[ 'xBTnaTgleQE' , 'Glen Carrie' ] ,
[ 'sC_HExGwbhI' , 'Erik Mclean' ] ,
[ '1gViVVlEaPc' , 'Sérgio André' ] ,
[ 'k9yY0XZTSnI' , 'Fernando Hernandez' ] ,
[ 'h1_R9-o9an0' , 'emrecan arı k' ] ,
[ 'XB0ha-DSGoU' , 'Laura Briedis' ] ,
[ 'ONn4OfAnxZY' , 'Monique Carrati' ] ,
[ '24p9dPeXdFA' , 'Frederic Köberl' ] ,
[ 'GL6J_sFYHLw' , 'Yuiizaa September' ] ,
[ 'LU_fCezP9-o' , 'Amit Lahav' ] ,
[ 'CSkAj_XqOVc' , 'Mockaroon' ] ,
[ 'xLvIcAYuuMQ' , 'Luis Aguila' ] ,
] ,
fruit : [
[ 'ZLc9yTIFzNk' , 'Kelly Sikkema' ] ,
[ 'DoxGtpAsdYY' , 'Sanni Sahil' ] ,
[ 'lyEkpuuIrg0' , 'kaouther djouada' ] ,
[ 'fDx4zHpnlOM' , 'Nanxi wei' ] ,
[ '0AXNt5SdeXU' , 'Sara Cervera' ] ,
[ 's05XKB6jK2c' , 'Markus Spiske' ] ,
[ 'bPMyJzKhCyA' , 'Louis Hansel @shotsoflouis' ] ,
[ '4jeWN4puDrw' , 'Carolyn Leber' ] ,
[ '8EScigZC6AU' , 'MF Evelyn' ] ,
[ '1QbosWMxOx0' , 'elCarito' ] ,
[ 'NWA3s8r-1bc' , 'Fli Hi' ] ,
[ 'TfNUmbaIjj8' , 'Sophie Dale' ] ,
[ 'duskNBVv420' , 'Louis Hansel @shotsoflouis' ] ,
[ 'QYupKZjYDbw' , 'Moritz Kindler' ] ,
[ 'ozcHSq3XfVs' , 'Callum Blacoe' ] ,
[ 'ucY_-U1dM8U' , 'Louis Hansel @shotsoflouis' ] ,
[ '4WLc_dWE-kc' , 'Dmitry Mishin' ] ,
[ 'BTqDasyX62E' , 'Priscilla Du Preez' ] ,
[ 'SD5dOSkhQdU' , 'Alexander Mils' ] ,
[ '4pJekgmSmPM' , 'Rinck Content Studio' ] ,
[ '0XGWys_GaFo' , 'Toa Heftiba' ] ,
[ 'uTZvsJsylYc' , 'Louis Hansel @shotsoflouis' ] ,
[ 'vAHaYh5s_Sc' , 'RAPHAEL MAKSIAN' ] ,
[ '0N4A1c5tJSs' , 'Miguel Vaz' ] ,
[ 'VAhUq30sW0c' , 'Cody Berg' ] ,
[ 'qbO7Mlhq8PQ' , 'JOSHUA COLEMAN' ] ,
[ 'dLB32q_bRs0' , 'Jason Leung' ] ,
[ '66itnKdGlC4' , 'Fateme Azimi' ] ,
[ '_DYRZHbCIq0' , 'Will Mcmahon' ] ,
] ,
landscapes : [
[ 'FuaNmJPLAHg' , 'MINSUN KIM' ] ,
[ '8flZ753v87Q' , 'Ken Schlabach' ] ,
[ '6qdO_nFhYoI' , 'Clay Banks' ] ,
[ 'VMmPxFmfwfQ' , 'Xiaopeng Ma' ] ,
[ 'DAufF3R8B5Q' , 'Sangga Rima Roman Selia' ] ,
[ '5U9n9gip7VY' , 'Annie Spratt' ] ,
[ 'Tot7FLHWotI' , 'elCarito' ] ,
[ 'vph4L_OjhuI' , 'Marek Piwnicki' ] ,
[ 'Nd8h38tRIlc' , 'Kevin Horvat' ] ,
[ 'nACRxCEAut8' , 'ALEKSEY KUPRIKOV' ] ,
[ 'PjyfZ-Ujut8' , 'Denys Nevozhai' ] ,
[ 'X6utHocVX8w' , 'Ian Williams' ] ,
[ 'cq6g1WssaJI' , 'Tyler Casey' ] ,
[ 'U1ad7OjdHx8' , 'Dave Herring' ] ,
[ 'si5673B4PIE' , 'Annie Spratt' ] ,
[ 'shv8H0Dv5iE' , 'Aditya Chinchure' ] ,
[ 'hjVrWFVyOqE' , 'chuttersnap' ] ,
[ '_skrrHIcsEk' , 'Edward Ma' ] ,
[ 'GMNtcgo-KdA' , 'Yoav Hornung' ] ,
[ '313dueuxHls' , 'Jamie Street' ] ,
[ 'SncOlKOY7NY' , 'Ward Mercer' ] ,
[ '7R11NCmOY6k' , 'Ivan Bandura' ] ,
[ 'YFwOiSisSLM' , 'Krzysztof Kotkowicz' ] ,
[ 'gbO7zCOUJIg' , 'Brian Kyed' ] ,
[ '5iwG4xlUgJ4' , 'Jason Leung' ] ,
[ 'G_PSim-dsvU' , 'Alexandra Jitariuc' ] ,
[ 'gVl6Hsi_pxo' , 'Jean-Philippe Delberghe' ] ,
[ 'p8h0_0pyW9k' , 'Bence Balla-Schottner' ] ,
] ,
waterfalls : [
[ 'Cwd0zYOIClY' , 'Thomas Ensley' ] ,
[ 'dGCHAo7mb2Q' , 'Jamie Melville' ] ,
[ 'bukitR21NO8' , 'Jen Theodore' ] ,
[ 'IKIY5bpd9eM' , 'Bruno Kelzer' ] ,
[ 'rrVm3b-uxkk' , 'Jamie Melville' ] ,
[ 'UegnUIW76gQ' , 'Jamie Melville' ] ,
[ 'd0cvao4fC6Q' , 'Forest Simon' ] ,
[ 'N8r2hH1siEY' , 'Lester Hine' ] ,
[ 'oRmeWoJx_nY' , 'Michael Olsen' ] ,
[ 'jVjwlfyJAkA' , 'Tom Wheatley' ] ,
[ 'ar6PYxBFgis' , 'Gerald Berliner' ] ,
[ '9fpK7fPw6Is' , 'Jamie Melville' ] ,
[ 'jeXkw2HR1SU' , 'Julia Caesar' ] ,
[ 'Evs5MnlmUXY' , 'Damian Kamp' ] ,
[ 'phstcH4QKJc' , 'Jakob Owens' ] ,
[ '7dmDlBfB9Vk' , 'Spencer Watson' ] ,
[ 'SHhaNnNR1xo' , 'SaiKrishna Saketh' ] ,
[ '_6ghImrDiVU' , 'Daniel H. Tong' ] ,
[ 'gfaXzDmMY7M' , 'RADIN AHMAD MUJAHID' ] ,
[ 'rFbK1PP9LEA' , 'Daniel Hernandez' ] ,
[ 's6Tv7b4SAoo' , 'Miltiadis Fragkidis' ] ,
[ 'ir9RUDjVpPo' , 'Clay Banks' ] ,
[ '7emiteIwfuk' , 'yunchuan luo' ] ,
[ '9tqrKo4B98I' , 'Austin Farrington' ] ,
[ 'dfazzUCjMro' , 'oakie' ] ,
[ '4HEuHmA7WfM' , 'Ketan Morris' ] ,
[ 'eG1_rPekhTk' , 'Jack B' ] ,
[ '_up7EDGdTqU' , 'Hari Nandakumar' ] ,
[ 'MhIPEJmVwaA' , 'Karthik Chandran' ] ,
] ,
travel : [
[ 'gC2Q_Tfub6c' , 'James Lee' ] ,
[ '1Tcu61Qz7c0' , 'Payas' ] ,
[ 'eLMJ2x7s9ak' , 'Alexandre Chambon' ] ,
[ 'aNrRsB2wLDk' , 'Ahmet Yalçı nkaya' ] ,
[ 'xu2WYJek5AI' , 'Anastasia Petrova' ] ,
[ 'xRoexKKv8fs' , 'Robson Hatsukami Morgan' ] ,
[ 'qdIer4A0afE' , 'Camille Brodard' ] ,
[ '0lPZBa6-1J8' , 'Torbjorn Sandbakk' ] ,
[ 'CLm3pWXrS9Q' , 'Tim Trad' ] ,
[ 'D1fs2x11_jk' , 'Raul Taciu' ] ,
[ 'BZ3aE3ouAfc' , 'Petr Sevcovic' ] ,
[ '_OUvt8kLf0s' , 'GAWN AUSTRALIA' ] ,
[ 'T_6yJJQ_-wA' , 'Square Lab' ] ,
[ '1Z_mX3zzEBc' , 'Andy Pearce' ] ,
[ 'lWHJwoSZf7M' , 'Joseph Costa' ] ,
[ 'O6Euhw7NMbQ' , 'Cosmic Timetraveler' ] ,
[ 'bs1eqd6zSiU' , 'Harley-Davidson' ] ,
[ '_qkuc1V9Gbg' , 'Ken Cheung' ] ,
] ,
cars : [
[ 'w5SZe8hoqlk' , 'Rachel Lynette French' ] ,
[ 'Nwk0ye_Y_As' , 'Lex Valishvili' ] ,
[ 'P9yqMy_9ZaY' , 'Anastasia Dulgier' ] ,
[ 'aGwBtbncMWo' , 'Sandra Kaas' ] ,
[ 'jV_QaRjbhWE' , 'Clem Onojeghuo' ] ,
[ 'SwmaJDvasuU' , 'Gunnar Ridderström' ] ,
[ 'BsJovWrQ7vE' , 'Caroline' ] ,
[ '3t0Q-GYXE0U' , 'Austin Park' ] ,
[ 'tlCzxI2RQAc' , 'Vinícius Henrique' ] ,
[ 'fecFQcxsUok' , 'Zachary Spears' ] ,
[ 'upttrzCo8-U' , 'takahiro taguchi' ] ,
[ 'zoHustBfNxA' , 'Lukas Werner' ] ,
[ 'UZH69YA50qY' , 'Austin Park' ] ,
[ 'tJwY80NMkhk' , 'Hanny Naibaho' ] ,
[ 'esfNTaHsR1c' , 'Willian Justen de Vasconcellos' ] ,
[ 'Tas1kF-6aNA' , 'Tyler Casey' ] ,
[ '7nrsVjvALnA' , 'Denys Nevozhai' ] ,
[ 'CRf3KYexpCA' , 'Will Truettner' ] ,
[ 'B8JpogxOnyw' , 'Mike Von' ] ,
[ 'mU5vnpJW_CQ' , 'Luke Tanis' ] ,
[ 'GaRPxo9Z86M' , 'Court Cook' ] ,
[ 'Orp-VAQ_gNA' , 'Angello Lopez' ] ,
[ 'q4UZ53rYYy0' , 'Ali Moharami' ] ,
[ 'XA2OEcvrrP8' , 'Alexander Pidgeon' ] ,
[ 'hXMv04v_py0' , 'Patrick Schöpflin' ] ,
[ 'G7sWGEF8pRc' , 'Julian Hochgesang' ] ,
[ 'PUnARRf-rE8' , 'jean wimmerlin' ] ,
[ 'UIk-rF4Df60' , 'Igor Bumba' ] ,
[ '0dW-eQVL0WQ' , 'Michael Heuser' ] ,
] ,
aviation : [
[ 'bw1hXT_okL4' , 'sayhitobel' ] ,
[ 'ecOXN5jGtaU' , 'Alexander Lobanov' ] ,
[ 'rFujmwrNv1w' , 'Abe Drzycimski' ] ,
[ 'EKYsla2fER8' , 'Paola Aguilar' ] ,
[ '1uiXp6fXd3w' , 'Kevin Hackert' ] ,
[ 'tVzGTraJ4T0' , 'Samantha Gades' ] ,
[ '5h1-cHxJz1I' , 'Nikli Nodin' ] ,
[ 'u-1cYIua_aI' , 'John Torcasio' ] ,
[ 'l2OusPPMLxs' , 'yvette Wynne' ] ,
[ 'SUIvWFHBZas' , 'Timothy Newman' ] ,
[ 'Tvrnezn1N6g' , 'Daniel Eledut' ] ,
[ 'ZN0469D3v98' , 'Jason Hafso' ] ,
[ 'LNmKCmZ2pcI' , 'Ricardo Resende' ] ,
[ 'P_ExwnnPGyM' , 'Tudose Alexandru' ] ,
[ '1vyWYdyUDGU' , 'Ian Cumming' ] ,
[ 'k102QVrpitQ' , 'Jake Blucker' ] ,
[ 'eB8-XtMtqZI' , 'Miguel Ángel Sanz' ] ,
[ '1XDZavWyows' , 'Samuel Sianipar' ] ,
[ '7WHD-pdECGU' , 'Miguel Ángel Sanz' ] ,
[ 'CN8HsCUCjUQ' , 'Cameron Kitson' ] ,
[ 'q_rNy9pRe78' , 'Walter Walraven' ] ,
[ 'a9SA6Zs1L9g' , 'Tim Dennert' ] ,
[ 'JW50PRr5UbI' , 'Roland O' ] ,
[ 'um_6nrOnPZ4' , 'Pascal Meier' ] ,
[ 'EpxT58kpBhc' , 'Terence Burke' ] ,
[ '3fbjHj2k0vE' , 'Dušan Smetana' ] ,
[ '9o4p3eCcRBE' , 'Jeremy Bishop' ] ,
[ 'sbfLwfoVX7E' , 'Nour Betar' ] ,
[ '4VCJBAtlnNI' , 'sippakorn yamkasikorn' ] ,
[ 'LcbsrFbqwGk' , 'Angel Barnes' ] ,
] ,
nature : [
[ 'io0umElGQwU' , 'Fabrizio Forte' ] ,
[ 'lh2sQ_L3GaA' , 'Daniel Lord' ] ,
[ 'Gyr7o3BMsSc' , 'Dave Francis' ] ,
[ 'lRipDukRpd4' , 'Kevin' ] ,
[ 'GxymWkdnl4Y' , 'Fernando Jorge' ] ,
[ 'rWnw7JL0LPE' , 'Rahul Gupta' ] ,
[ 'YKuYS3ChMyw' , 'Yuliya Kosolapova' ] ,
[ 'ZsUjLYqbNz8' , 'Pau Morfín' ] ,
[ 'x2o3HX6RKG8' , 'Dave' ] ,
[ 'Few073pm6aQ' , 'Dennis Bertuch' ] ,
[ 'jP-wvLA7uyg' , 'Gary Butterfield' ] ,
[ 'euhs3wanL-I' , 'Andrew Stapleton' ] ,
[ 'UHt2TG_CHO0' , 'Wolfgang Hasselmann' ] ,
[ 'SAIb5NkbAaE' , 'Alexis Gethin' ] ,
[ 'tdNjdIW-_OY' , 'Lachlan' ] ,
[ '0NtjFr0-DwM' , 'Jane Carmona' ] ,
[ 'fhg_nm1sufU' , 'Pascal Debrunner' ] ,
[ 'HJUDECvtxZE' , 'jose alfonso sierra' ] ,
[ '8vS1CwHIEH8' , 'Serge Sustavov' ] ,
[ 'oTTnZcwQ2t4' , 'Daniel Radford' ] ,
[ 'TNhs9udas8Q' , 'Migsar Navarro' ] ,
[ 'zT9g3crTPcE' , 'Devin L' ] ,
[ 'hYuNG1zptM4' , 'Roberto Gamito' ] ,
[ 'DfOQRep1LKU' , 'Wolfgang Rottmann' ] ,
[ '2sT_iJhIcEg' , 'Anamika Pokharel' ] ,
[ 'Zjcl2vaeGdo' , 'Lucas Mitchell' ] ,
[ 'b2T6zgFAW1E' , 'Theme Inn' ] ,
[ 'EnFQmcTtsjo' , 'Yang Jing' ] ,
[ 'PWI-CDVynhw' , 'Thomas Galler' ] ,
[ 'gTvLsDi-Uzo' , 'Arun Raj' ] ,
] ,
trees : [
[ 'aSCx7M1E4Vo' , 'Markos Mant' ] ,
[ '3B9MYDjQ-EQ' , 'Firasat Durrani' ] ,
[ '39oaRqfUacc' , 'Nick' ] ,
[ 'Y0NLa_KmEgU' , 'Michael Ankes' ] ,
[ 'i6nGVkbbUT4' , 'Henry McIntosh' ] ,
[ '_WITb4g1ImY' , 'Mark Basarab' ] ,
[ 'prd5CXMsD68' , 'JOHN TOWNER' ] ,
[ 'avxSevmCKfw' , 'Marta Pawlik' ] ,
[ 'LZf0HMPg-3I' , 'Max Brinton' ] ,
[ 'Ovjx9FsXX9c' , 'Andy Fitzsimon' ] ,
[ 'YPtfMXRMUe0' , 'Corey Agopian' ] ,
[ 'h3y3XPXKoeY' , 'Elke Karin Lugert' ] ,
[ 'qeGC1zrsG8U' , 'Tycho Atsma' ] ,
[ 'dAkd3xaSDTA' , 'Nick West' ] ,
[ 'Prd-KB7CKo4' , 'Austin Neill' ] ,
[ 'klNpWLkgezo' , 'Wil Stewart' ] ,
[ 'Pm4U5IqI4dM' , 'Lena Derevianko' ] ,
[ '5i664o1oY4c' , 'Yannick Pulver' ] ,
[ 'uoMFPm5_Xg8' , 'Yoni Kozminsi' ] ,
[ 'Qr2dZRNdf_M' , 'Afifi Zulkifle' ] ,
[ 'jxljuYqn8uU' , 'Sebastian Pichler' ] ,
[ 'H3mO3zNlvNU' , 'Jonathan Knepper' ] ,
[ 'pEb-Xf_qM0s' , 'Martin Reisch' ] ,
[ 'prSogOoFmkw' , 'Braden Jarvis' ] ,
[ 'y9csmronT3s' , 'Alberto Restifo' ] ,
[ 'R8R9H_xuvBY' , 'Andrew Pons' ] ,
[ 'fuT-m1yzUG4' , 'Ales Krivec' ] ,
] ,
wildlife : [
[ '-I0EgcZdV0E' , 'Maarten van den Heuvel' ] ,
[ 'F21zt7_icpo' , 'Tevin Trinh' ] ,
[ 'gMxgp-MwCyQ' , 'James Wainscoat' ] ,
[ 'FFlb5Uj3vhc' , 'Sigmund' ] ,
[ 'hglSMjdh83M' , 'Srinivasan Venkataraman' ] ,
[ 'UgWcvfl4q5I' , 'NOAA' ] ,
[ 'PZ1nEPFNBJQ' , 'Third Idea' ] ,
[ 'f4yYs5P5GbA' , 'rigel' ] ,
[ 'e94T5ag-9x0' , 'Jayden Brand' ] ,
[ '6Fcllk7ze_Q' , 'Vivian Arcidiacono' ] ,
[ 'O7G3II8E2Eo' , 'Erik-Jan Leusink' ] ,
[ '-6UNL6Ghn_c' , 'Silvio Kundt' ] ,
[ 'EyZMGYn1Uj4' , 'AGL Fotos' ] ,
[ 'nxR7gvSokH8' , 'Waldemar Brandt' ] ,
[ 'sAGXVK6bNFc' , 'Amar Yashlaha' ] ,
[ '8zLCXDWETEg' , 'Clément ROY' ] ,
[ '4nPFQ2sUhUE' , 'Justin Porter' ] ,
[ 'mUNDTQrfnSk' , 'Zahrin Lukman' ] ,
[ 'VXcX0Joa09k' , 'Max Rovensky' ] ,
[ 'F_HycxA2lwc' , 'Marthijn Brinks' ] ,
[ 'ss01halnU4I' , 'Dušan Smetana' ] ,
[ 'lktWv61WoNI' , 'Rory Lindholm' ] ,
[ 'myeQ2RH1PX0' , 'Alexander Ross' ] ,
[ 'dhIAyAmfjz8' , 'Third Idea' ] ,
[ 'AGprQpF4STo' , 'Jeff Lemond' ] ,
[ 'P8pBJQVt4UA' , 'Christer Gundersen' ] ,
[ 'nt8Ek7sRgdA' , 'Mikell Darling' ] ,
[ 'YHv0BDThVOw' , 'Nicholas Doherty' ] ,
] ,
interior : [
[ '9wGKENQ-qTI' , 'Kunj Parekh' ] ,
[ 'x3BCSWCAtrY' , 'yann maignan' ] ,
[ 'EF6z_6R94zQ' , 'Orlova Maria' ] ,
[ 'dC8NC2QBFyQ' , 'Kari Shea' ] ,
[ 'A_AuirVquQY' , 'Abbie Bernet' ] ,
[ 'IJf2v-StB4Y' , 'yann maignan' ] ,
[ 'frsN89Tf-1Q' , 'Joshua Eckstein' ] ,
[ 's95oB2n9jng' , 'Aaron Huber' ] ,
[ 'n_vdmdtNh6M' , 'Tiplada Mekvisan' ] ,
[ 'GbiVL6t4T-o' , 'gdtography' ] ,
[ 'xx0oSB1YxRE' , 'Joseph Albanese' ] ,
[ 'McaNtoPEEcg' , 'Brooke Cagle' ] ,
[ 's65VlkIYSDw' , 'Robert Bye' ] ,
[ 'pEaBEqXXk-M' , 'Aw Creative' ] ,
[ 'GaX7QTgs8pg' , 'Waldemar Brandt' ] ,
[ 'b75FBg97dU0' , 'Bao Menglong' ] ,
[ '5i0GnoTTjSE' , 'Philipp Berndt' ] ,
[ 'buhmhprfo3g' , 'Kara Eads' ] ,
[ 'L7EwHkq1B2s' , 'Kara Eads' ] ,
[ 'gBdirnalxcQ' , 'Nick Fewings' ] ,
[ 'ILgaxpiQu0' , 'Matteo Maretto' ] ,
[ 'ydcMwcfY5E0' , 'Clark Street Mercantile' ] ,
[ 'zLT3VqWEgOQ' , 'Sidekix Media' ] ,
[ 'Yg0Rds6_TsY' , 'Sergiu Cindea' ] ,
[ 'gbS_fhrFo10' , 'Bekah Russom' ] ,
[ 'o3c-euNd_ZM' , 'Alessandra Caretto' ] ,
[ 'IEkMMvdZFc0' , 'Nick Hillier' ] ,
[ 'hnhE83RhAWg' , 'Stefan Steinbauer' ] ,
] ,
statues : [
[ 'ig8E7Mlrl7Y' , 'Vidar Nordli-Mathisen' ] ,
[ '1ak3Z7ZmtQA' , 'Ryan Lum' ] ,
[ 'ntPF02wcTY' , 'Gigi' ] ,
[ '5_i4OPeOAZU' , 'Viktor Forgacs' ] ,
[ 'iRON0g6iO0k' , 'Alexandre Chambon' ] ,
[ 'PhQ4CpXLEX4' , 'Daniels Joffe' ] ,
[ 'EfHqouvZU2Y' , 'Bettina Otott Kovács' ] ,
[ 'kaEhf0eZme8' , 'Nils' ] ,
[ '4-4IDc21Gto' , 'K. Mitch Hodge' ] ,
[ 'Y8Xh7ZJFU5A' , 'Vidar Nordli-Mathisen' ] ,
[ 'fmawALmMLSA' , 'Gabriel TRESCH' ] ,
[ 'DUp4B6M0AMc' , 'Sebastien' ] ,
[ 'MFZUY4gqvA4' , 'James Yarema' ] ,
[ '50vvwcNFFzU' , 'Robert Anasch' ] ,
[ 'TMRi8cD2umM' , 'Frank Eiffert' ] ,
[ 'wLx_WCkWvHg' , 'Chris A. Tweten' ] ,
[ 'Twoj21Av-so' , 'Arthur Reeder' ] ,
[ 'EiGDn8cwU4Y' , 'Tessa Rampersad' ] ,
[ 'fVY6UxZuECA' , 'Christine Wehrmeier' ] ,
[ 'uJdTBTJ9rbo' , 'Christine Wehrmeier' ] ,
[ '4eEBFTBKx5E' , 'Ralph Spandl' ] ,
[ 'HtQRGemW_40' , 'Ivan Bertona' ] ,
[ 'uHBcinxOLhQ' , 'K. Mitch Hodge' ] ,
[ '2TmsyZXMNTE' , 'Emma Fabbri' ] ,
[ '9KkPloRgOUY' , 'Matteo Maretto' ] ,
[ 'KzPefInJW58' , 'JOSHUA COLEMAN' ] ,
[ 'szVTIkisN1M' , 'David Siglin' ] ,
[ 'iRzEPkYSETQ' , 'Francois Olwage' ] ,
] ,
technology : [
[ 'QpTCSHzhWuo' , 'Joshua Hoehne' ] ,
[ '0lMpQaXfOCg' , 'Barrett Ward' ] ,
[ 'w33-zg-dNL4' , 'Rami Al-zayat' ] ,
[ 'MC5WbGo_bZM' , 'Tom Pumford' ] ,
[ 'iHJ7xouUyXs' , 'Amith Nair' ] ,
[ 'E3I9thV98kQ' , 'Tatiana Lapina' ] ,
[ 'JuUK7Er9nR4' , 'Mohamed Boumaiza' ] ,
[ 'Dei5oAC_wJc' , 'Kenny Luo' ] ,
[ 'ltwEbf_G9bs' , 'Mario Caruso' ] ,
[ 'gWdlDR4WpV4' , 'Zarak Khan' ] ,
[ '0Um6Yr1cyx0' , 'Antoine Beauvillain' ] ,
[ '_8S9nEmCZK0' , 'Oliur' ] ,
[ 'etFrnBJS1qc' , 'NeONBRAND' ] ,
[ 'ZMVtx_KJtOk' , 'Thought Catalog' ] ,
[ 'JNuKyKXLh8U' , 'Noiseporn' ] ,
[ '5gzr-RM-rZM' , 'Kenny Luo' ] ,
[ 'eWaXmZsXKDs' , 'Zane Lee' ] ,
[ '4qGbMEZb56c' , 'Thomas William' ] ,
[ 'hwqWxHoH2wk' , 'Markus Spiske' ] ,
[ 'vZJdYl5JVXY' , 'Kaitlyn Baker' ] ,
[ 'Lg8xTZjs6Lg' , 'Marc Mueller' ] ,
[ 'M5HQPjXrjlQ' , 'Matt Hoffman' ] ,
[ 'A-b37b-CrYE' , 'Kenny Luo' ] ,
[ 'Kj2SaNHG-hg' , 'Christopher Burns' ] ,
[ 'A1v0-iH3T5A' , 'Patrick Hendry' ] ,
[ 'iFBIdX54BOk' , 'Keagan Henman' ] ,
] ,
2020-03-23 00:43:49 +00:00
} )
2020-07-15 01:24:47 +00:00
. map ( ( [ category , photos ] ) => photos . map ( ( [ photo , credit ] , index ) => ( {
2020-05-23 02:32:50 +00:00
id : photo ,
2020-05-14 02:26:05 +00:00
path : ` sfw/ ${ category } / ${ photo } .jpeg ` ,
thumbnail : ` sfw/ ${ category } /thumbs/ ${ photo } .jpeg ` ,
lazy : ` sfw/ ${ category } /lazy/ ${ photo } .jpeg ` ,
mime : 'image/jpeg' ,
2020-09-05 00:57:24 +00:00
is _sfw : true ,
2020-05-14 02:26:05 +00:00
sfw _media _id : null ,
group : category ,
index ,
2020-07-15 01:24:47 +00:00
credit ,
2020-05-14 02:26:05 +00:00
} ) ) )
. flat ( ) ;
2020-03-23 00:43:49 +00:00
2020-05-23 02:32:50 +00:00
const tagPosters = [
2020-09-21 03:11:24 +00:00
[ '69' , 0 , 'Abby Lee Brazil and Ramon Nomar for Wicked' ] ,
2020-10-07 01:40:19 +00:00
[ 'airtight' , 7 , 'Lana Rhoades in "Gangbang Me 3" for HardX' ] ,
2020-05-23 02:32:50 +00:00
[ 'anal' , 0 , 'Adriana Chechik in "Manuel Creampies Their Asses 3" for Jules Jordan' ] ,
2020-10-07 01:40:19 +00:00
[ 'anal-creampie' , 2 , 'Lana Rhoades in "Lana\'s Anal Workout" for HardX' ] ,
2020-10-19 00:02:21 +00:00
[ 'anal-fisting' , 1 , 'Jane Wilde fisting Alexis Tae in "Jane Wilde is AGAPE" for Evil Angel' ] ,
2020-09-21 03:11:24 +00:00
[ 'ass-eating' , 1 , 'Aidra Fox and Cassidy Klein in "Lesbian Anal Yoga" for LesbianX' ] ,
2020-09-17 02:01:40 +00:00
[ 'asian' , 0 , 'Vina Sky for Erotica X' ] ,
2020-06-27 22:15:13 +00:00
[ 'atm' , 2 , 'Jureka Del Mar in "Stretched Out" for Her Limit' ] ,
2020-05-24 03:13:50 +00:00
[ 'atogm' , 0 , 'Alysa Gap and Logan in "Anal Buffet 4" for Evil Angel' ] ,
2020-05-23 02:32:50 +00:00
[ 'bdsm' , 0 , 'Dani Daniels in "The Traning of Dani Daniels, Day 2" for The Training of O at Kink' ] ,
2020-10-07 01:40:19 +00:00
[ 'bts' , 2 , 'Christy Mack for Digital Playground' ] ,
2020-09-21 03:11:24 +00:00
[ 'blindfold' , 0 , 'Kylie Page in "Natural Blindfolded Beauties" for Hustler' ] ,
2020-07-18 03:12:32 +00:00
[ 'blonde' , 1 , 'Marsha May in "Once You Go Black 7" for Jules Jordan' ] ,
2020-06-15 01:58:35 +00:00
[ 'blowbang' , 0 , 'Lacy Lennon in "Lacy Lennon\'s First Blowbang" for HardX' ] ,
2020-05-23 02:32:50 +00:00
[ 'blowjob' , 0 , 'Adriana Chechik in "The Dinner Party" for Real Wife Stories (Brazzers)' ] ,
2020-07-19 01:52:36 +00:00
[ 'brunette' , 0 , 'Darcie Dolce for Playboy' ] ,
2020-07-22 02:12:20 +00:00
[ 'bondage' , 0 , 'Veronica Leal for Her Limit' ] ,
2020-05-23 02:32:50 +00:00
[ 'bukkake' , 0 , 'Jaye Summers in "Facialized 5" for HardX' ] ,
2020-09-17 00:30:58 +00:00
[ 'caucasian' , 2 , 'Kenzie Reeves for Bang' ] ,
2020-10-13 02:04:09 +00:00
[ 'creampie' , 1 , 'Eveline Dellai for Nubiles' ] ,
2020-05-23 02:32:50 +00:00
[ 'cum-in-mouth' , 1 , 'Sarah Vandella in "Blow Bang Vandella" for HardX' ] ,
2020-07-08 02:58:12 +00:00
[ 'cum-on-butt' , 0 , 'Jynx Maze in "Don\'t Make Me Beg 4" for Evil Angel' ] ,
2020-09-21 03:11:24 +00:00
[ 'cum-on-boobs' , 1 , 'Kylie Page in "Melt In Your Mouth" for Twistys Hard' ] ,
2020-10-07 01:40:19 +00:00
[ 'cum-on-pussy' , 0 , 'Talinka A for Sex Art' ] ,
2020-06-27 22:15:13 +00:00
[ 'da-tp' , 5 , 'Venera Maxima in LegalPorno GIO1287' ] ,
2020-07-19 01:52:36 +00:00
[ 'deepthroat' , 2 , 'Sarah Vandella for Throated' ] ,
2020-07-02 02:04:28 +00:00
[ 'dap' , 7 , 'Adriana Chechik in "DP Masters 6" for Jules Jordan' ] ,
2020-05-23 02:32:50 +00:00
[ 'double-blowjob' , 1 , 'Veronica Rodriguez and Penny Pax in "Fucking Older Guys 5" for Penthouse' ] ,
[ 'double-dildo' , 0 , 'Kali Roses in "Double Dildo Party" for KaliRoses.com' ] ,
2020-09-21 03:11:24 +00:00
[ 'double-dildo-anal' , 0 , 'Vina Sky and Kenzie Reeves in "Vina Sky\'s 1st Lesbian Anal" for HardX' ] ,
2020-05-23 02:32:50 +00:00
[ 'double-dildo-blowjob' , 0 , 'Adriana Chechik and Vicki Chase in "Anal Savages 1" for Jules Jordan' ] ,
2020-08-14 21:05:25 +00:00
[ 'dp' , 3 , 'Hime Marie in LegalPorno AA047' ] ,
2020-07-02 02:04:28 +00:00
[ 'dvp' , 'poster' , 'Riley Reid in "Pizza That Ass" for Reid My Lips' ] ,
2020-05-23 02:32:50 +00:00
[ 'dv-tp' , 'poster' , 'Juelz Ventura in "Gangbanged 5" for Elegant Angel' ] ,
2020-07-18 03:12:32 +00:00
[ 'ebony' , 2 , 'Nia Nacci for Sweetheart Video' ] ,
2020-09-15 23:42:15 +00:00
[ 'facefucking' , 5 , 'Mia Moore B for Throated' ] ,
2020-05-23 02:32:50 +00:00
[ 'facial' , 0 , 'Brooklyn Gray in "All About Ass 4" for Evil Angel' ] ,
2020-07-19 01:52:36 +00:00
[ 'fake-boobs' , 2 , 'Gia Milana in "Hot Anal Latina" for HardX' ] ,
2020-05-23 02:32:50 +00:00
[ 'family' , 0 , 'Teanna Trump in "A Family Appear: Part One" for Brazzers' ] ,
[ 'femdom' , 0 , 'Alina Li in "Asian Domination… She Holds Jules Jordan\'s Cock Hostage!" for Jules Jordan' ] ,
2020-10-07 01:40:19 +00:00
[ 'fingering' , 0 , 'Ashly Anderson in "Rough Love" for Hookup Hotshot' ] ,
2020-05-23 02:32:50 +00:00
[ 'gangbang' , 5 , 'Carter Cruise\'s first gangbang in "Slut Puppies 9" for Jules Jordan' ] ,
[ 'gaping' , 1 , 'Vina Sky in "Vina Sky Does Anal" for HardX' ] ,
2020-07-17 01:39:13 +00:00
[ 'indian' , 0 , 'Resha in "Casting Resha" for Watch 4 Beauty' ] ,
2020-05-23 02:32:50 +00:00
[ 'interracial' , 0 , 'Jaye Summers and Prince Yahshua in "Platinum Pussy 3" for Jules Jordan' ] ,
2020-09-21 03:11:24 +00:00
[ 'latina' , 3 , 'Gina Valentina and Veronica Rodriguez in "Squirting Latinas" for LesbianX' ] ,
2020-05-23 02:32:50 +00:00
[ 'lesbian' , 0 , 'Jenna Sativa and Alina Lopez in "Opposites Attract" for Girl Girl' ] ,
[ 'maid' , 0 , 'Whitney Wright in "Dredd Up Your Ass 2" for Jules Jordan' ] ,
2020-08-31 00:43:41 +00:00
[ 'milf' , 1 , 'Francesca Le for Evil Angel' ] ,
2020-07-13 02:32:13 +00:00
[ 'mff' , 1 , 'Anikka Albrite, Kelsi Monroe and Mick Blue for HardX' ] ,
2020-07-18 03:12:32 +00:00
[ 'mfm' , 0 , 'Vina Sky in "Jules Jordan\'s Three Ways" for Jules Jordan' ] ,
2020-09-21 03:11:24 +00:00
[ 'natural-boobs' , 3 , 'Violet Starr in "Violet Starr 1st Lesbian Anal" for LesbianX' ] ,
2020-05-23 02:32:50 +00:00
[ 'nurse' , 0 , 'Sarah Vandella in "Cum For Nurse Sarah" for Brazzers' ] ,
2020-07-18 03:12:32 +00:00
[ 'oil' , 2 , 'Jade Kush for Passion HD' ] ,
2020-07-22 02:12:20 +00:00
[ 'oral-creampie' , 1 , 'Valentina Nappi for Her Limit' ] ,
2020-05-23 02:32:50 +00:00
[ 'orgy' , 1 , 'Megan Rain (DP), Morgan Lee (anal), Jessa Rhodes, Melissa Moore and Kimmy Granger in "Orgy Masters 8" for Jules Jordan' ] ,
2020-07-18 03:12:32 +00:00
[ 'parody' , 0 , 'Capri Cavanni and Dani Daniels in "The Whore of Wall Street" for Brazzers' ] ,
2020-05-23 02:32:50 +00:00
[ 'piercings' , 0 , 'Kaegune in "When The Sun Goes Down" for Suicide Girls' ] ,
2020-07-02 23:28:22 +00:00
[ 'piss-drinking' , 0 , 'Scarlet Domingo in LegalPorno GL227' ] ,
2020-09-21 03:11:24 +00:00
[ 'pussy-eating' , 2 , 'Anikka Albrite and Mia Malkova in "Big Anal Bombshells" for LesbianX' ] ,
2020-09-17 02:01:40 +00:00
[ 'redhead' , 1 , 'Lacy Lennon for Wicked' ] ,
2020-06-25 00:26:25 +00:00
[ 'squirting' , 0 , 'Veronica Rodriguez in "Hot Latina Squirting" for Jules Jordan' ] ,
2020-05-23 02:32:50 +00:00
[ 'schoolgirl' , 1 , 'Eliza Ibarra for Brazzers' ] ,
[ 'swallowing' , 'poster' ] ,
2020-07-19 01:52:36 +00:00
[ 'tattoos' , 1 , 'Joanna Angel for Joanna Angel' ] ,
2020-09-21 03:11:24 +00:00
[ 'teen' , 0 , 'Alexa Flexy for Sensual Girl' ] ,
[ 'titty-fucking' , 0 , 'Kylie Page in "Stepsis Gives Soapy Handjob In Shower" for Spy Fam' ] ,
[ 'toy-anal' , 1 , 'Nina North and Cassidy Klein in "Nina\'s First Lesbian Anal" for LesbianX' ] ,
[ 'toy-dp' , 1 , 'Krissy Lynn and London River in "Lesbian DP Workout" for LesbianX' ] ,
2020-05-23 02:32:50 +00:00
[ 'trainbang' , 'poster' , 'Kali Roses in "Passing Me Around" for Blacked' ] ,
2020-10-13 02:04:09 +00:00
[ 'tap' , 3 , 'Julia Red in GIO1007 for LegalPorno' ] ,
2020-05-23 02:32:50 +00:00
]
2020-09-05 00:57:24 +00:00
. map ( ( [ slug , fileIndex , comment ] , index ) => ( {
id : ` ${ slug } - ${ fileIndex } ` ,
2020-05-23 02:32:50 +00:00
tagSlug : slug ,
2020-09-05 00:57:24 +00:00
path : ` tags/ ${ slug } / ${ fileIndex } .jpeg ` ,
thumbnail : ` tags/ ${ slug } /thumbs/ ${ fileIndex } .jpeg ` ,
lazy : ` tags/ ${ slug } /lazy/ ${ fileIndex } .jpeg ` ,
2020-05-23 02:32:50 +00:00
mime : 'image/jpeg' ,
index ,
comment ,
} ) ) ;
const tagPhotos = [
2020-09-21 03:11:24 +00:00
[ '69' , 3 , 'Anne Amari and Alina Lopez in "Hot Lesbian Seduction" for LesbianX' ] ,
[ '69' , 1 , 'Melody Petite for 21Sextury' ] ,
[ '69' , 2 , 'Abigail Mac and Kissa Sins in "Lesbian Anal Workout" for HardX' ] ,
2020-10-07 01:40:19 +00:00
[ 'airtight' , 6 , 'Remy Lacroix in "Ass Worship 14" for Jules Jordan' ] ,
[ 'airtight' , 2 , 'Dakota Skye in "Dakota Goes Nuts" for ArchAngel' ] ,
2020-10-27 01:09:52 +00:00
[ 'airtight' , 8 , 'Veronica Leal in LegalPorno SZ2520' ] ,
2020-05-23 02:32:50 +00:00
[ 'airtight' , 5 , 'Chloe Amour in "DP Masters 4" for Jules Jordan' ] ,
[ 'airtight' , 1 , 'Jynx Maze in "Pump My Ass Full of Cum 3" for Jules Jordan' ] ,
[ 'airtight' , 3 , 'Anita Bellini in "Triple Dick Gangbang" for Hands On Hardcore (DDF Network)' ] ,
2020-05-26 02:11:29 +00:00
[ 'atm' , 3 , 'Natasha Teen in "Work That Ass!" for Her Limit' ] ,
2020-06-27 22:15:13 +00:00
[ 'atm' , 0 , 'Roxy Lips in "Under Her Coat" for 21 Naturals' ] ,
[ 'atm' , 6 , 'Jane Wilde in "Teen Anal" for Evil Angel' ] ,
2020-05-23 02:32:50 +00:00
// ['asian', 1, 'Alina Li in "Oil Overload 11" for Jules Jordan'],
// ['anal', 'poster', 'Jynx Maze in "Anal Buffet 6" for Evil Angel'],
[ 'anal' , 4 , 'Lana Roy in "Anal In The Club" for 21Naturals' ] ,
[ 'anal' , 3 , 'Dakota Skye for Brazzers' ] ,
// ['anal', 1, 'Veronica Leal and Tina Kay in "Agents On Anal Mission" for Asshole Fever'],
// ['anal', 0, 'Veronica Leal'],
2020-10-07 01:40:19 +00:00
[ 'anal-creampie' , 0 , 'Gina Valentina and Jane Wilde in "A Very Special Anniversary" for Tushy' ] ,
[ 'anal-creampie' , 1 , 'Aleska Diamond in "Aleska Wants More" for Asshole Fever' ] ,
2020-09-21 03:11:24 +00:00
[ 'ass-eating' , 0 , 'Angelica Heart and Leanna Sweet in "ATM Bitches" for Asshole Fever' ] ,
2020-10-07 01:40:19 +00:00
[ 'bts' , 0 , 'Janice Griffith in "Day With A Pornstar: Janice" for Brazzers' ] ,
2020-09-03 20:22:12 +00:00
[ 'bts' , 1 , 'Madison Ivy in "Day With A Pornstar" for Brazzers' ] ,
2020-09-21 03:11:24 +00:00
[ 'blonde' , 3 , 'Kylie Page in "A Juicy Afternoon Delight" for New Sensations' ] ,
2020-07-22 02:12:20 +00:00
[ 'blonde' , 2 , 'Isabelle Deltore for Her Limit' ] ,
2020-06-15 01:58:35 +00:00
[ 'blowbang' , 'poster' , 'Marsha May in "Feeding Frenzy 12" for Jules Jordan' ] ,
2020-09-21 03:11:24 +00:00
[ 'blowjob' , 1 , 'Kylie Page in "Stepsis Gives Soapy Handjob In Shower" for Spy Fam' ] ,
2020-06-15 01:58:35 +00:00
// ['bukkake', 'poster', 'Mia Malkova in "Facialized 2" for HardX'],
2020-09-17 00:30:58 +00:00
[ 'caucasian' , 0 , 'Remy Lacroix for HardX' ] ,
2020-05-23 02:32:50 +00:00
[ 'caucasian' , 1 , 'Sheena Shaw for Brazzers' ] ,
2020-10-13 02:04:09 +00:00
[ 'creampie' , 'poster' , 'Alina Lopez in "Making Yourself Unforgettable" for Blacked' ] ,
2020-10-07 01:40:19 +00:00
[ 'cum-drunk' , 0 , 'Ashly Anderson in "Rough Love" for Hookup Hotshot' ] ,
2020-10-13 02:04:09 +00:00
[ 'cum-in-mouth' , 3 , 'Kira Noir for HardX' ] ,
2020-10-07 01:40:19 +00:00
[ 'cum-in-mouth' , 2 , 'Jaye Summers in "Double The Cum" for HardX' ] ,
2020-09-21 03:11:24 +00:00
[ 'cum-in-mouth' , 0 , 'Vina Sky and Avi Love for HardX' ] ,
[ 'cum-on-boobs' , 0 , 'Alessandra Jane for Private' ] ,
2020-07-19 17:40:21 +00:00
[ 'da-tp' , 6 , 'Adriana Chechik in "Gangbang Me" for HardX' ] ,
2020-06-27 22:15:13 +00:00
[ 'da-tp' , 0 , 'Natasha Teen in LegalPorno SZ2164' ] ,
2020-05-23 02:32:50 +00:00
[ 'da-tp' , 1 , 'Francys Belle in SZ1702 for LegalPorno' ] ,
2020-10-13 02:04:09 +00:00
[ 'dap' , 10 , 'Kira Noir for HardX' ] ,
2020-08-26 00:01:38 +00:00
[ 'dap' , 9 , 'Vicky Sol in GIO1547 for LegalPorno' ] ,
2020-10-13 02:04:09 +00:00
[ 'dap' , 6 , 'Sheena Shaw in "Ass Worship 14" for Jules Jordan' ] ,
2020-08-14 21:05:25 +00:00
[ 'dap' , 1 , 'Ria Sunn in SZ1801 for LegalPorno' ] ,
[ 'dap' , 2 , 'Lana Rhoades in "Lana Rhoades Unleashed" for HardX' ] ,
2020-07-02 02:04:28 +00:00
[ 'dap' , 5 , 'Riley Reid in "The Gangbang of Riley Reid" for Jules Jordan' ] ,
2020-08-14 21:05:25 +00:00
// ['dap', 8, 'Lady Gang in SZ2478 LegalPorno'],
2020-07-02 02:04:28 +00:00
[ 'dap' , 'poster' , 'Haley Reed in "Young Hot Ass" for Evil Angel' ] ,
[ 'dap' , 0 , 'Nicole Black doing double anal during a gangbang in GIO971 for LegalPorno' ] ,
2020-07-19 01:52:36 +00:00
[ 'deepthroat' , 1 , 'Jynx Maze in "Slutty and Sluttier 13" for Evil Angel' ] ,
2020-07-08 02:58:12 +00:00
[ 'deepthroat' , 0 , 'Chanel Grey in "Deepthroating Is Fun" for Throated' ] ,
2020-05-23 02:32:50 +00:00
[ 'double-blowjob' , 0 , 'Kira Noir and Kali Roses for Brazzers' ] ,
2020-09-21 03:11:24 +00:00
[ 'double-dildo-anal' , 2 , 'Adria Rae and Megan Rain in "Best Friends Anal" for Holed' ] ,
[ 'double-dildo-anal' , 1 , 'Sammie Rhodes and Ainsley Addision in "Tickle Me Pink" for We Live Together (Reality Kings)' ] ,
2020-05-23 02:32:50 +00:00
[ 'double-dildo-blowjob' , 1 , 'Aidra Fox and Reena Sky in "Reena\'s Got A Staring Problem" for Brazzers' ] ,
[ 'double-dildo-dp' , 0 , 'u/LacyCrow "Sometimes you have to do it yourself"' ] ,
2020-10-07 01:40:19 +00:00
[ 'dp' , 5 , 'Lana Rhoades in "Gangbang Me 3" for HardX' ] ,
2020-10-13 02:04:09 +00:00
[ 'dp' , 6 , 'Kira Noir for HardX' ] ,
2020-08-14 21:05:25 +00:00
[ 'dp' , 2 , 'Megan Rain in "DP Masters 4" for Jules Jordan' ] ,
[ 'dp' , 4 , 'Rebecca Volpetti for Hands On Hardcore' ] ,
2020-07-02 02:04:28 +00:00
[ 'dp' , 'poster' , 'Mia Malkova in "DP Me 8" for HardX' ] ,
[ 'dvp' , 0 , 'Aaliyah Hadid in "Squirting From Double Penetration With Anal" for Bang Bros' ] ,
2020-05-23 02:32:50 +00:00
[ 'dv-tp' , 1 , 'Adriana Chechik in "Adriana\'s Triple Anal Penetration!"' ] ,
[ 'dv-tp' , 0 , 'Luna Rival in LegalPorno SZ1490' ] ,
2020-07-18 03:12:32 +00:00
[ 'ebony' , 1 , 'Ana Foxxx in "DP Me 4" for HardX' ] ,
2020-07-20 02:20:33 +00:00
[ 'facial' , 2 , 'Ashly Anderson for Hookup Hotshot' ] ,
2020-05-23 02:32:50 +00:00
[ 'facial' , 'poster' , 'Jynx Maze' ] ,
2020-10-07 01:40:19 +00:00
[ 'facefucking' , 0 , 'Ashly Anderson in "Rough Love" for Hookup Hotshot' ] ,
2020-09-15 23:42:15 +00:00
[ 'facefucking' , 1 , 'Paige Owens in "Dark Meat 12" for Evil Angel' ] ,
2020-08-01 13:11:07 +00:00
[ 'facefucking' , 2 , 'Jynx Maze for Throated' ] ,
2020-09-09 19:36:52 +00:00
[ 'facefucking' , 4 , 'Brooklyn Gray in "Throats Fucks 6" for Evil Angel' ] ,
2020-05-23 02:32:50 +00:00
[ 'facefucking' , 3 , 'Adriana Chechik in "Performing Magic Butt Tricks With Jules Jordan. What Will Disappear In Her Ass?" for Jules Jordan' ] ,
2020-10-13 02:04:09 +00:00
[ 'fake-boobs' , 13 , 'Kitana Lure for Asshole Fever' ] ,
2020-09-21 03:11:24 +00:00
[ 'fake-boobs' , 11 , 'Jessa Rhodes and Cali Carter in "Busty Anal Workout" for LesbianX' ] ,
2020-10-13 02:04:09 +00:00
[ 'fake-boobs' , 10 , 'Tia Cyrus in "Titty-Fucked Yoga Goddess" for Latina Sex Tapes' ] ,
2020-09-03 20:22:12 +00:00
[ 'fake-boobs' , 9 , 'Putri Cinta for StasyQ' ] ,
2020-07-17 01:39:13 +00:00
[ 'fake-boobs' , 1 , 'Lela Star in "Thick" for Jules Jordan' ] ,
2020-10-07 01:40:19 +00:00
[ 'fake-boobs' , 3 , 'Ashly Anderson for Passion HD' ] ,
2020-09-21 03:11:24 +00:00
[ 'fake-boobs' , 8 , 'Amber Alena for Score' ] ,
2020-07-19 17:40:21 +00:00
[ 'fake-boobs' , 4 , 'Capri Cavanni for Big Tits in Sports' ] ,
2020-10-07 01:40:19 +00:00
// ['fake-boobs', 6, 'Cathy Heaven in "Heavenly Ass" for Big Wett Butts'],
[ 'fake-boobs' , 7 , 'Madison Ivy for Baby Got Boobs (Brazzers)' ] ,
[ 'fake-boobs' , 12 , 'Nikki Monroe and Kortney Kane for Big Tits In Uniform' ] ,
2020-05-23 02:32:50 +00:00
[ 'gangbang' , 'poster' , 'Kristen Scott in "Interracial Gangbang!" for Jules Jordan' ] ,
[ 'gangbang' , 0 , '"4 On 1 Gangbangs" for Doghouse Digital' ] ,
2020-09-21 03:11:24 +00:00
[ 'gangbang' , 6 , 'Silvia Soprano in GIO1580 for LegalPorno' ] ,
2020-05-23 02:32:50 +00:00
[ 'gangbang' , 4 , 'Marley Brinx in "The Gangbang of Marley Brinx" for Jules Jordan' ] ,
[ '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.' ] ,
[ 'gaping' , 'poster' , 'Zoey Monroe in "Manuel DPs Them All 5" for Jules Jordan' ] ,
2020-07-20 02:20:33 +00:00
[ 'gaping' , 3 , 'Jessyka Swan for 21Sextury' ] ,
2020-05-23 02:32:50 +00:00
[ 'gaping' , 2 , 'Alex Grey in "DP Masters 5" for Jules Jordan' ] ,
2020-09-21 03:11:24 +00:00
[ 'latina' , 2 , 'Veronica Leal for Her Limit' ] ,
2020-07-18 03:12:32 +00:00
[ 'latina' , 1 , 'Jynx Maze in "Big Anal Asses 2" for HardX' ] ,
2020-07-22 02:12:20 +00:00
[ 'latina' , 0 , 'Vienna Black for Spizoo' ] ,
2020-09-21 03:11:24 +00:00
[ 'lesbian' , 1 , 'Kylie Page and Hadley Viscara in "Busty Blonde Bombshells" for LesbianX' ] ,
[ 'maid' , 1 , 'Alessandra Jane for Brazzers' ] ,
2020-08-31 00:43:41 +00:00
// ['milf', 0, 'Olivia Austin in "Dredd 3" for Jules Jordan'],
2020-07-13 02:32:13 +00:00
[ 'mff' , 0 , 'Madison Ivy, Adriana Chechik and Keiran Lee in "Day With A Pornstar" for Brazzers' ] ,
2020-10-07 01:40:19 +00:00
[ 'mfm' , 1 , 'Lana Rhoades in "Gangbang Me 3" for HardX' ] ,
2020-07-18 03:12:32 +00:00
[ 'mfm' , 6 , 'Honey Gold in "Slut Puppies 12" for Jules Jordan' ] ,
2020-09-21 03:11:24 +00:00
[ 'natural-boobs' , 1 , 'Nia Nacci for First Class POV' ] ,
2020-07-20 23:16:26 +00:00
[ 'natural-boobs' , 0 , 'Valentina Nappi in "Hypnotic Curves" for LesbianX' ] ,
2020-09-21 03:11:24 +00:00
[ 'natural-boobs' , 2 , 'Kylie Page for All Girl Massage' ] ,
2020-07-18 03:12:32 +00:00
[ 'oil' , 1 , 'Kissa Sins in "Oil Overload 14" for JulesJordan' ] ,
2020-07-19 01:52:36 +00:00
[ 'oil' , 3 , 'Vina Sky for Lubed' ] ,
[ 'oil' , 0 , 'Jada Stevens in "Jada Stevens Anal Ass Oiled Up For James Deen\'s Cock" for Jules Jordan' ] ,
2020-07-22 02:12:20 +00:00
[ 'oral-creampie' , 0 , 'Henessy in "B(ass)t Friends" for Asshole Fever' ] ,
2020-09-09 19:36:52 +00:00
[ 'orgy' , 0 , 'Vicky Sol and Jolee Love in LegalPorno GIO1550' ] ,
2020-05-23 02:32:50 +00:00
[ 'orgy' , 'poster' , 'Zoey Mornoe (DP), Jillian Janson (sex), Frida Sante, Katerina Kay and Natasha Starr in "Orgy Masters 6" for Jules Jordan' ] ,
2020-09-21 03:11:24 +00:00
[ 'pussy-eating' , 3 , 'Kylie Page and Kalina Ryu in "Training My Masseuse" for All Girl Massage' ] ,
2020-07-13 02:32:13 +00:00
[ 'pussy-eating' , 0 , 'Kali Roses licking Emily Willis\' pussy in "Peeping On My Neighbor" for Girl Girl' ] ,
2020-09-21 03:11:24 +00:00
[ 'pussy-eating' , 1 , 'Anikka Albrite and Riley Reid for In The Crack' ] ,
2020-05-23 02:32:50 +00:00
[ 'redhead' , 0 , 'Penny Pax in "The Submission of Emma Marx: Boundaries" for New Sensations' ] ,
2020-07-19 01:52:36 +00:00
[ 'tattoos' , 0 , 'Tigerlilly in "Wrapped In Blue" for Suicide Girls' ] ,
2020-10-07 01:40:19 +00:00
[ 'teen' , 1 , 'Stalfra aka Precious for Nubiles' ] ,
2020-10-13 02:04:09 +00:00
[ 'trainbang' , 1 , 'Ria Sunn for Private' ] ,
2020-05-23 02:32:50 +00:00
[ 'trainbang' , 0 , 'Nicole Black in GIO971 for LegalPorno' ] ,
2020-07-02 02:04:28 +00:00
[ 'tap' , 1 , 'Natasha Teen in SZ2098 for LegalPorno' ] ,
[ 'tap' , 2 , 'Kira Thorn in GIO1018 for LegalPorno' ] ,
2020-10-07 01:40:19 +00:00
[ 'toy-anal' , 0 , 'Kira Noir in 1225 for InTheCrack' ] ,
2020-09-21 03:11:24 +00:00
[ 'toy-dp' , 0 , 'Marley Brinx, Ivy Lebelle and Lyra Law in "Marley Brinx First GGDP" for LesbianX' ] ,
2020-05-23 02:32:50 +00:00
]
. map ( ( [ slug , fileIndex , comment ] , index ) => ( {
2020-07-25 01:44:19 +00:00
id : ` ${ slug } - ${ fileIndex } ` ,
2020-05-23 02:32:50 +00:00
tagSlug : slug ,
path : ` tags/ ${ slug } / ${ fileIndex } .jpeg ` ,
thumbnail : ` tags/ ${ slug } /thumbs/ ${ fileIndex } .jpeg ` ,
lazy : ` tags/ ${ slug } /lazy/ ${ fileIndex } .jpeg ` ,
mime : 'image/jpeg' ,
index ,
comment ,
} ) ) ;
2019-12-04 20:58:08 +00:00
/* eslint-disable max-len */
exports . seed = knex => Promise . resolve ( )
2020-05-14 02:26:05 +00:00
. then ( async ( ) => {
2020-09-05 00:57:24 +00:00
await upsert ( 'media' , sfw , 'id' ) ;
2020-03-29 02:00:46 +00:00
2020-05-14 02:26:05 +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
2020-05-14 02:26:05 +00:00
const { inserted , updated } = await upsert ( 'media' , tagMedia . map ( ( {
id , path , thumbnail , lazy , mime , index , comment ,
} ) => ( {
id , path , thumbnail , lazy , mime , index , comment ,
} ) ) , 'path' , knex ) ;
2019-12-04 20:58:08 +00:00
2020-05-14 02:26:05 +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
2020-05-14 02:26:05 +00:00
const tagPosterEntries = tagPosters . map ( poster => ( {
tag _id : tagIdsBySlug [ poster . tagSlug ] ,
media _id : mediaIdsByPath [ poster . path ] ,
} ) ) ;
2019-12-19 01:35:07 +00:00
2020-05-14 02:26:05 +00:00
const tagPhotoEntries = tagPhotos . map ( photo => ( {
tag _id : tagIdsBySlug [ photo . tagSlug ] ,
media _id : mediaIdsByPath [ photo . path ] ,
} ) ) ;
2019-12-04 20:58:08 +00:00
2020-09-05 00:57:24 +00:00
await Promise . all ( [
2020-05-14 02:26:05 +00:00
upsert ( 'tags_posters' , tagPosterEntries , 'tag_id' , knex ) ,
upsert ( 'tags_photos' , tagPhotoEntries , [ 'tag_id' , 'media_id' ] , knex ) ,
] ) ;
2020-09-05 00:57:24 +00:00
// clean up (re)moved tag media
await Promise . all ( [
knex ( 'tags_posters' )
. whereNotIn ( 'media_id' , tagPosters . map ( photo => photo . id ) )
. delete ( ) ,
knex ( 'tags_photos' )
. whereNotIn ( 'media_id' , tagPhotos . map ( photo => photo . id ) )
. delete ( ) ,
] ) ;
2020-05-14 02:26:05 +00:00
} ) ;