2019-11-06 01:47:10 +00:00
const upsert = require ( '../src/utils/upsert' ) ;
const groups = [
{
slug : 'age' ,
2019-11-11 04:18:28 +00:00
name : 'Age' ,
2019-11-06 01:47:10 +00:00
} ,
{
slug : 'body' ,
2019-11-11 04:18:28 +00:00
name : 'Body' ,
2019-11-06 01:47:10 +00:00
} ,
{
slug : 'clothing' ,
2019-11-11 04:18:28 +00:00
name : 'Clothing' ,
2019-11-06 01:47:10 +00:00
} ,
{
slug : 'ethnicity' ,
2019-11-11 04:18:28 +00:00
name : 'Ethnicity' ,
2019-11-06 01:47:10 +00:00
} ,
2019-12-04 20:58:08 +00:00
{
slug : 'finish' ,
name : 'Finish' ,
} ,
2019-11-06 01:47:10 +00:00
{
slug : 'group' ,
2019-11-11 04:18:28 +00:00
name : 'Group sex' ,
2019-11-06 01:47:10 +00:00
} ,
{
slug : 'hair' ,
2019-11-11 04:18:28 +00:00
name : 'Hair' ,
2019-11-06 01:47:10 +00:00
} ,
{
slug : 'location' ,
2019-11-11 04:18:28 +00:00
name : 'Location' ,
2019-11-06 01:47:10 +00:00
} ,
2020-01-04 01:51:58 +00:00
{
slug : 'oral' ,
name : 'Oral' ,
} ,
2019-11-06 01:47:10 +00:00
{
slug : 'orientation' ,
2019-11-11 04:18:28 +00:00
name : 'Orientation' ,
2019-11-06 01:47:10 +00:00
} ,
{
slug : 'penetration' ,
2019-11-11 04:18:28 +00:00
name : 'Penetration' ,
2019-11-06 01:47:10 +00:00
} ,
{
slug : 'position' ,
2019-11-11 04:18:28 +00:00
name : 'Position' ,
2019-11-06 01:47:10 +00:00
} ,
{
slug : 'roleplay' ,
2019-11-11 04:18:28 +00:00
name : 'Roleplay' ,
2019-11-06 01:47:10 +00:00
} ,
] ;
function getTags ( groupsMap ) {
return [
{
name : '4K' ,
slug : '4k' ,
2019-11-11 04:18:28 +00:00
description : 'Available in high quality 4K resolution.' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
} ,
{
name : '69' ,
slug : '69' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . position ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'airtight' ,
slug : 'airtight' ,
alias _for : null ,
2019-12-19 01:35:07 +00:00
description : 'Stuffing one cock in her ass, one in her pussy, and one in her mouth, filling all of her penetrable holes and sealing her airtight like a figurative balloon. In other words, simultaneously getting [double penetrated](/tag/double-penetration), and giving a [blowjob](/tag/blowjob) or getting [facefucked](/tag/facefuck). Being airtight implies being [gangbanged](/tag/gangbang).' , /* eslint-disable-line max-len */
2019-11-12 00:22:20 +00:00
priority : 9 ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . penetration ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'amateur' ,
slug : 'amateur' ,
alias _for : null ,
} ,
{
name : 'anal creampie' ,
slug : 'anal-creampie' ,
2019-12-04 20:58:08 +00:00
priority : 7 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-11-27 03:58:38 +00:00
description : 'Ejaculating into the asshole.' ,
2019-12-04 20:58:08 +00:00
group _id : groupsMap . finish ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'anal' ,
slug : 'anal' ,
2019-12-04 20:58:08 +00:00
description : 'Taking a cock in the asshole.' ,
2019-11-12 00:22:20 +00:00
priority : 9 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-12-04 20:58:08 +00:00
group _id : groupsMap . penetration ,
2019-11-06 01:47:10 +00:00
} ,
{
2019-11-11 04:18:28 +00:00
name : 'ass fingering' ,
slug : 'ass-fingering' ,
description : 'Inserting one or multiple fingers into the asshole.' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
} ,
{
name : 'anal fisting' ,
slug : 'anal-fisting' ,
2019-12-04 20:58:08 +00:00
description : 'Shoving an entire hand into the asshole.' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
} ,
{
name : 'anal prolapse' ,
slug : 'anal-prolapse' ,
alias _for : null ,
} ,
{
name : 'anal toys' ,
slug : 'anal-toys' ,
2019-12-04 20:58:08 +00:00
description : 'Stuffing a toy, such as a dildo or buttplug, into the ass' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
} ,
{
name : 'asian' ,
slug : 'asian' ,
2019-12-04 20:58:08 +00:00
priority : 7 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . ethnicity ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'athletic' ,
slug : 'athletic' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . body ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'ass to mouth' ,
slug : 'ass-to-mouth' ,
2019-12-04 20:58:08 +00:00
priority : 6 ,
description : 'Sucking off a cock right after anal, giving your own or someone else`s asshole a second hand taste.' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2020-01-04 01:51:58 +00:00
group _id : groupsMap . oral ,
2019-11-06 01:47:10 +00:00
} ,
2019-11-09 00:22:50 +00:00
{
name : 'ass eating' ,
slug : 'ass-eating' ,
alias _for : null ,
2020-01-04 01:51:58 +00:00
group _id : groupsMap . oral ,
2019-11-09 00:22:50 +00:00
} ,
2019-11-06 01:47:10 +00:00
{
name : 'ball licking' ,
slug : 'ball-licking' ,
alias _for : null ,
2020-01-04 01:51:58 +00:00
group _id : groupsMap . oral ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'ballerina' ,
slug : 'ballerina' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . roleplay ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'bathroom' ,
slug : 'bathroom' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . location ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'BDSM' ,
slug : 'bdsm' ,
2019-12-04 20:58:08 +00:00
priority : 8 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
} ,
{
name : 'BBC' ,
slug : 'bbc' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . body ,
2019-11-06 01:47:10 +00:00
} ,
{
2020-01-14 03:50:42 +00:00
name : 'big dick' ,
slug : 'big-dick' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . body ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'big butt' ,
slug : 'big-butt' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . body ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'big boobs' ,
slug : 'big-boobs' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . body ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'bisexual' ,
slug : 'bisexual' ,
alias _for : null ,
} ,
{
name : 'black hair' ,
slug : 'black-hair' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . hair ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'blonde' ,
slug : 'blonde' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . hair ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'blowjob' ,
slug : 'blowjob' ,
2019-12-04 20:58:08 +00:00
priority : 7 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2020-01-04 01:51:58 +00:00
group _id : groupsMap . oral ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'blowbang' ,
slug : 'blowbang' ,
2019-12-04 20:58:08 +00:00
priority : 9 ,
description : 'Pleasuring a gang of three or more cocks by sucking and jerking off as many cocks as they can, often getting [facefucked](/tag/facefuck), groped and rubbed out, and followed by a [bukkake](/tag/bukkake). If they are getting fucked, it is a [gangbang](/tag/gangbang).' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . group ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'bondage' ,
slug : 'bondage' ,
alias _for : null ,
} ,
{
name : 'brunette' ,
slug : 'brunette' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . hair ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'bukkake' ,
slug : 'bukkake' ,
2019-12-04 20:58:08 +00:00
priority : 8 ,
description : 'Getting ejaculated on the face by a group of three or more men, often following a [blowbang](/tag/blowbang) or [gangbang](/tag/gangbang).' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-12-04 20:58:08 +00:00
group _id : groupsMap . finish ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'cheerleader' ,
slug : 'cheerleader' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . roleplay ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'choking' ,
slug : 'choking' ,
alias _for : null ,
} ,
{
name : 'corporal punishment' ,
slug : 'corporal-punishment' ,
alias _for : null ,
} ,
{
name : 'couples' ,
slug : 'couples' ,
alias _for : null ,
} ,
{
name : 'cowgirl' ,
slug : 'cowgirl' ,
alias _for : null ,
} ,
{
name : 'creampie' ,
slug : 'creampie' ,
2019-12-04 20:58:08 +00:00
priority : 8 ,
description : 'Ejaculalating into her pussy, often shown visibly dripping out afterwards.' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-12-04 20:58:08 +00:00
group _id : groupsMap . finish ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'cum licking' ,
slug : 'cum-licking' ,
alias _for : null ,
} ,
{
name : 'cum on butt' ,
slug : 'cum-on-butt' ,
alias _for : null ,
} ,
{
name : 'cum on boobs' ,
slug : 'cum-on-boobs' ,
alias _for : null ,
} ,
2020-01-16 20:04:44 +00:00
{
name : 'cum swapping' ,
slug : 'cum-swapping' ,
alias _for : null ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'cumshot' ,
slug : 'cumshot' ,
alias _for : null ,
} ,
{
name : 'curvy' ,
slug : 'curvy' ,
alias _for : null ,
} ,
{
2019-12-04 20:58:08 +00:00
name : 'double anal' ,
2019-11-06 01:47:10 +00:00
slug : 'double-anal' ,
2019-12-04 20:58:08 +00:00
description : 'Two cocks in the ass at the same time. If there\'s a third cock in her pussy, it is [double anal TP](/tag/da-tp).' ,
priority : 8 ,
alias _for : null ,
group _id : groupsMap . penetration ,
} ,
{
name : 'triple anal' ,
slug : 'triple-anal' ,
2019-12-05 00:26:22 +00:00
description : 'Getting fucked in the ass by not one, two, but *three* cocks at the same time.' ,
2019-12-04 20:58:08 +00:00
priority : 7 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-12-04 20:58:08 +00:00
group _id : groupsMap . penetration ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'deepthroat' ,
slug : 'deepthroat' ,
2019-12-04 20:58:08 +00:00
priority : 7 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2020-01-04 01:51:58 +00:00
group _id : groupsMap . oral ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'double penetration' ,
slug : 'double-penetration' ,
2019-11-12 00:22:20 +00:00
priority : 9 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-12-04 20:58:08 +00:00
description : 'Fucking two cocks at once, with one in her ass, and one in her pussy. If she has another cock in her mouth, she is [airtight](/tag/airtight).' ,
group _id : groupsMap . penetration ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'dungeon' ,
slug : 'dungeon' ,
alias _for : null ,
} ,
{
2019-12-04 20:58:08 +00:00
name : 'double vaginal' ,
2019-11-06 01:47:10 +00:00
slug : 'double-vaginal' ,
2019-12-04 20:58:08 +00:00
description : 'Fucking her pussy with two cocks at the same time. If there\'s a third cock in her asshole, it is [double vaginal TP](/tag/dv-tp).' ,
priority : 8 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-12-04 20:58:08 +00:00
group _id : groupsMap . penetration ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'double blowjob' ,
slug : 'double-blowjob' ,
alias _for : null ,
2020-01-04 01:51:58 +00:00
group _id : groupsMap . oral ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'doggy style' ,
slug : 'doggy-style' ,
alias _for : null ,
2020-01-04 01:51:58 +00:00
group _id : groupsMap . position ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'dress' ,
slug : 'dress' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . clothing ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'ebony' ,
slug : 'ebony' ,
2019-12-04 20:58:08 +00:00
priority : 7 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . ethnicity ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'electric shock' ,
slug : 'electric-shock' ,
alias _for : null ,
} ,
{
name : 'enhanced boobs' ,
slug : 'enhanced-boobs' ,
alias _for : null ,
} ,
{
2020-01-08 22:33:24 +00:00
name : 'facefucking' ,
slug : 'facefucking' ,
2019-12-04 20:58:08 +00:00
priority : 9 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2020-01-04 01:51:58 +00:00
group _id : groupsMap . oral ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'facesitting' ,
slug : 'facesitting' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . position ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'facial' ,
slug : 'facial' ,
alias _for : null ,
2019-12-04 20:58:08 +00:00
group _id : groupsMap . finish ,
2019-11-06 01:47:10 +00:00
} ,
2020-01-13 22:45:09 +00:00
{
name : 'family taboo' ,
slug : 'family' ,
alias _for : null ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'feet' ,
slug : 'feet' ,
alias _for : null ,
} ,
{
name : 'femdom' ,
slug : 'femdom' ,
alias _for : null ,
} ,
{
name : 'fingering' ,
slug : 'fingering' ,
alias _for : null ,
} ,
{
name : 'fisting' ,
slug : 'fisting' ,
alias _for : null ,
} ,
{
2019-12-04 20:58:08 +00:00
name : 'MFF threesome' ,
slug : 'mff' ,
priority : 9 ,
description : 'A threesome with two women and one guy, in which the women have sex with eachother.' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . group ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'gag' ,
slug : 'gag' ,
alias _for : null ,
} ,
{
name : 'gangbang' ,
slug : 'gangbang' ,
2019-12-19 01:35:07 +00:00
description : 'A group of three or more guys fucking a woman, at least two at the same time, often but not necessarily involving a [blowbang](/tag/blowbang), [double penetration](/tag/airtight) and [airtight](/tag/airtight). If she only gets fucked by one guy at a time, it might be considered a [trainbang](/tag/trainbang) instead. In a reverse gangbang, multiple women fuck one man.' , /* eslint-disable-line max-len */
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-11-12 00:22:20 +00:00
priority : 9 ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . group ,
2019-11-06 01:47:10 +00:00
} ,
2019-12-06 23:42:47 +00:00
{
name : 'glasses' ,
slug : 'glasses' ,
alias _for : null ,
group _id : groupsMap . clothing ,
} ,
2020-01-15 00:01:16 +00:00
{
name : 'fake cum' ,
slug : 'fake-cum' ,
alias _for : null ,
group _id : groupsMap . finish ,
} ,
2019-12-04 20:58:08 +00:00
{
name : 'trainbang' ,
slug : 'trainbang' ,
description : 'A group of three or more guys fucking a woman as in a [gangbang](/tag/gangbang), but one after the other, and never at the same time.' ,
priority : 7 ,
alias _for : null ,
group _id : groupsMap . group ,
} ,
2019-11-06 01:47:10 +00:00
{
2020-01-08 22:33:24 +00:00
name : 'gaping' ,
slug : 'gaping' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
} ,
{
name : 'gay' ,
slug : 'gay' ,
2019-11-14 04:13:38 +00:00
priority : 10 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
} ,
{
name : 'gonzo' ,
slug : 'gonzo' ,
alias _for : null ,
} ,
{
name : 'hairy' ,
slug : 'hairy' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . body ,
2019-11-06 01:47:10 +00:00
} ,
2019-12-06 23:42:47 +00:00
{
name : 'handjob' ,
slug : 'handjob' ,
alias _for : null ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'hardcore' ,
slug : 'hardcore' ,
alias _for : null ,
} ,
{
name : 'high heels' ,
slug : 'high-heels' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . clothing ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'humiliation' ,
slug : 'humiliation' ,
alias _for : null ,
} ,
{
name : 'innie pussy' ,
slug : 'innie-pussy' ,
alias _for : null ,
} ,
{
name : 'interracial' ,
slug : 'interracial' ,
2019-11-12 00:22:20 +00:00
priority : 9 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-12-04 20:58:08 +00:00
group _id : groupsMap . ethnicity ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'kissing' ,
slug : 'kissing' ,
alias _for : null ,
} ,
{
name : 'latex' ,
slug : 'latex' ,
alias _for : null ,
} ,
{
name : 'Latina' ,
slug : 'latina' ,
2019-12-04 20:58:08 +00:00
priority : 7 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-12-04 20:58:08 +00:00
group _id : groupsMap . ethnicity ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'leather' ,
slug : 'leather' ,
alias _for : null ,
} ,
{
name : 'lesbian' ,
slug : 'lesbian' ,
2019-12-04 20:58:08 +00:00
priority : 9 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
} ,
{
name : 'machine dildo' ,
slug : 'machine-dildo' ,
alias _for : null ,
} ,
{
name : 'lingerie' ,
slug : 'lingerie' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . clothing ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'maid' ,
slug : 'maid' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . roleplay ,
2019-11-06 01:47:10 +00:00
} ,
2020-01-14 20:45:30 +00:00
{
name : 'massage' ,
slug : 'massage' ,
alias _for : null ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'masturbation' ,
slug : 'masturbation' ,
alias _for : null ,
} ,
{
name : 'MILF' ,
slug : 'milf' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . age ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'MFM threesome' ,
slug : 'mfm' ,
2019-12-04 20:58:08 +00:00
priority : 9 ,
description : 'Two men fucking one woman, but not eachother. Typically involves a \'spitroast\', where one guy gets a blowjob and the other fucks her pussy.' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . group ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'miniskirt' ,
slug : 'miniskirt' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . clothing ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'missionary' ,
slug : 'missionary' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . position ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'natural boobs' ,
slug : 'natural-boobs' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . body ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'nipple clamps' ,
slug : 'nipple-clamps' ,
alias _for : null ,
} ,
2020-01-15 00:01:16 +00:00
{
name : 'oil' ,
slug : 'oil' ,
alias _for : null ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'oral creampie' ,
slug : 'oral-creampie' ,
2019-12-04 20:58:08 +00:00
priority : 7 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-12-04 20:58:08 +00:00
group _id : groupsMap . finish ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'orgy' ,
slug : 'orgy' ,
2019-12-04 20:58:08 +00:00
priority : 9 ,
description : 'A group of (at least four) people having sex with eachother. If only one person is getting fucked, it is probably a [gangbang](/tag/gangbang).' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . group ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'outdoors' ,
slug : 'outdoors' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . location ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'outie pussy' ,
slug : 'outie-pussy' ,
alias _for : null ,
} ,
{
name : 'pain' ,
slug : 'pain' ,
alias _for : null ,
} ,
2020-01-14 18:56:46 +00:00
{
name : 'parody' ,
slug : 'parody' ,
alias _for : null ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'pegging' ,
slug : 'pegging' ,
alias _for : null ,
} ,
{
name : 'petite' ,
slug : 'petite' ,
alias _for : null ,
} ,
{
name : 'piercings' ,
slug : 'piercings' ,
alias _for : null ,
} ,
{
name : 'POV' ,
slug : 'pov' ,
alias _for : null ,
} ,
{
name : 'pussy eating' ,
slug : 'pussy-eating' ,
alias _for : null ,
2020-01-04 01:51:58 +00:00
group _id : groupsMap . oral ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'redhead' ,
slug : 'redhead' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . hair ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'reverse cowgirl' ,
slug : 'reverse-cowgirl' ,
alias _for : null ,
} ,
{
name : 'roleplay' ,
slug : 'roleplay' ,
alias _for : null ,
} ,
{
name : 'rough' ,
slug : 'rough' ,
2019-12-04 20:58:08 +00:00
priority : 7 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
} ,
{
name : 'saliva' ,
slug : 'saliva' ,
alias _for : null ,
} ,
{
name : 'schoolgirl' ,
slug : 'schoolgirl' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . roleplay ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'shaved' ,
slug : 'shaved' ,
alias _for : null ,
} ,
{
name : 'shoes on' ,
slug : 'shoes-on' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . clothing ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'short hair' ,
slug : 'short-hair' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . hair ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'skirt' ,
slug : 'skirt' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . clothing ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'slapping' ,
slug : 'slapping' ,
alias _for : null ,
} ,
2019-11-09 00:22:50 +00:00
{
name : 'sloppy blowjob' ,
slug : 'sloppy-blowjob' ,
alias _for : null ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'socks' ,
slug : 'socks' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . clothing ,
2019-11-06 01:47:10 +00:00
} ,
2020-01-16 20:04:44 +00:00
{
name : 'solo' ,
slug : 'solo' ,
alias _for : null ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'spanking' ,
slug : 'spanking' ,
alias _for : null ,
} ,
2019-11-11 04:18:28 +00:00
{
name : 'spooning' ,
slug : 'spooning' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . position ,
2019-11-11 04:18:28 +00:00
} ,
2019-11-06 01:47:10 +00:00
{
name : 'strapon' ,
slug : 'strapon' ,
group _id : groupsMap [ 'strap-on-dildo' ] ,
} ,
{
name : 'small boobs' ,
slug : 'small-boobs' ,
alias _for : null ,
} ,
{
name : 'small butt' ,
slug : 'small-butt' ,
alias _for : null ,
} ,
{
name : 'speculum' ,
slug : 'speculum' ,
alias _for : null ,
} ,
{
name : 'squirting' ,
slug : 'squirting' ,
alias _for : null ,
} ,
{
name : 'standing doggy style' ,
slug : 'standing-doggy-style' ,
alias _for : null ,
} ,
{
name : 'stockings' ,
slug : 'stockings' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . clothing ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'strap-on dildo' ,
slug : 'strap-on-dildo' ,
alias _for : null ,
} ,
{
name : 'suspension' ,
slug : 'suspension' ,
alias _for : null ,
} ,
{
name : 'swallowing' ,
slug : 'swallowing' ,
alias _for : null ,
2019-12-04 20:58:08 +00:00
group _id : groupsMap . finish ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'tattoo' ,
slug : 'tattoo' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . body ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'threesome' ,
slug : 'threesome' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . group ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'teen' ,
slug : 'teen' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . age ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'titty fuck' ,
slug : 'titty-fuck' ,
alias _for : null ,
} ,
{
name : 'toys' ,
slug : 'toys' ,
alias _for : null ,
} ,
{
name : 'transsexual' ,
slug : 'transsexual' ,
2019-11-14 04:13:38 +00:00
priority : 10 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
} ,
2019-12-04 20:58:08 +00:00
{
name : 'double anal TP' ,
slug : 'da-tp' ,
priority : 7 ,
description : 'Triple penetration with two cocks in the ass, and one in the pussy. Also see [double vaginal TP](/tag/dv-tp).' ,
group _id : groupsMap . penetration ,
alias _for : null ,
} ,
{
name : 'double vaginal TP' ,
slug : 'dv-tp' ,
priority : 7 ,
description : 'Triple penetration with two cocks in the pussy, and one in the ass. Also see [double anal TP](/tag/da-tp).' ,
group _id : groupsMap . penetration ,
alias _for : null ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'triple penetration' ,
slug : 'triple-penetration' ,
2019-12-04 20:58:08 +00:00
priority : 7 ,
description : 'Three cocks fucking her from behind at the same time. This can be either [double anal TP](/tag/da-tp), or [double vaginal TP](/tag/dv-tp).' ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
} ,
{
name : 'trimmed' ,
slug : 'trimmed' ,
alias _for : null ,
} ,
{
name : 'uniform' ,
slug : 'uniform' ,
alias _for : null ,
} ,
{
name : 'vibrator' ,
slug : 'vibrator' ,
alias _for : null ,
} ,
{
name : 'voyeur' ,
slug : 'voyeur' ,
alias _for : null ,
} ,
{
name : 'wet' ,
slug : 'wet' ,
alias _for : null ,
} ,
{
2019-12-04 20:58:08 +00:00
name : 'caucasian' ,
slug : 'caucasian' ,
priority : 7 ,
2019-11-06 01:47:10 +00:00
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . ethnicity ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'wife' ,
slug : 'wife' ,
alias _for : null ,
} ,
{
name : 'office' ,
slug : 'office' ,
alias _for : null ,
2019-11-27 03:58:38 +00:00
group _id : groupsMap . location ,
2019-11-06 01:47:10 +00:00
} ,
] ;
}
function getTagAliases ( tagsMap ) {
return [
{
name : '2-on-1' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . threesome ,
2019-11-06 01:47:10 +00:00
} ,
{
name : '2 on 1' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . threesome ,
2019-11-06 01:47:10 +00:00
} ,
{
name : '3+ on 1' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . gangbang ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'anal sex' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . anal ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'anal gape' ,
2020-01-08 22:33:24 +00:00
alias _for : tagsMap . gaping ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'anilingus' ,
2019-11-09 00:22:50 +00:00
alias _for : tagsMap [ 'ass-eating' ] ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'asians' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . asian ,
2019-11-06 01:47:10 +00:00
} ,
2019-11-11 04:18:28 +00:00
{
name : 'anal fingering' ,
alias _for : tagsMap [ 'ass-fingering' ] ,
} ,
2019-11-09 00:22:50 +00:00
{
name : 'ass licking' ,
alias _for : tagsMap [ 'ass-eating' ] ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'ass fucking' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . anal ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'atm' ,
alias _for : tagsMap [ 'ass-to-mouth' ] ,
} ,
{
name : 'bald pussy' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . shaved ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'ball gag' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . gag ,
2019-11-06 01:47:10 +00:00
} ,
2019-11-13 23:00:29 +00:00
{
name : 'boob fucking' ,
alias _for : tagsMap [ 'titty-fuck' ] ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'mfm' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . mfm ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'fmf' ,
2019-12-04 20:58:08 +00:00
alias _for : tagsMap . mff ,
2019-11-06 01:47:10 +00:00
} ,
2019-11-11 04:18:28 +00:00
{
name : 'ffm' ,
2019-12-04 20:58:08 +00:00
alias _for : tagsMap . mff ,
2019-11-11 04:18:28 +00:00
} ,
2019-11-06 01:47:10 +00:00
{
name : 'bgb' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . mfm ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'big ass' ,
alias _for : tagsMap [ 'big-butt' ] ,
} ,
2019-04-07 00:15:57 +00:00
{
2019-11-06 01:47:10 +00:00
name : 'big black cock' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . bbc ,
2019-04-07 00:15:57 +00:00
} ,
{
2019-11-06 01:47:10 +00:00
name : 'big black cocks' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . bbc ,
2019-04-07 00:15:57 +00:00
} ,
{
2019-11-06 01:47:10 +00:00
name : 'big cocks' ,
2020-01-14 03:50:42 +00:00
alias _for : tagsMap [ 'big-dick' ] ,
2019-04-07 00:15:57 +00:00
} ,
{
2020-01-14 03:50:42 +00:00
name : 'big cock' ,
alias _for : tagsMap [ 'big-dick' ] ,
2019-04-07 00:15:57 +00:00
} ,
{
2019-11-06 01:47:10 +00:00
name : 'big booty' ,
alias _for : tagsMap [ 'big-butt' ] ,
2019-04-07 00:15:57 +00:00
} ,
{
2019-11-06 01:47:10 +00:00
name : 'big butts' ,
alias _for : tagsMap [ 'big-butt' ] ,
2019-04-07 00:15:57 +00:00
} ,
{
2019-11-06 01:47:10 +00:00
name : 'big tits' ,
alias _for : tagsMap [ 'big-boobs' ] ,
2019-04-07 00:15:57 +00:00
} ,
2019-10-28 01:12:11 +00:00
{
2019-11-06 01:47:10 +00:00
name : 'bi' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . bisexual ,
2019-10-28 01:12:11 +00:00
} ,
2019-04-07 00:15:57 +00:00
{
2019-11-06 01:47:10 +00:00
name : 'black' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . ebony ,
2019-04-07 23:49:45 +00:00
} ,
{
2019-11-06 01:47:10 +00:00
name : 'blonde hair' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . blonde ,
2019-04-07 23:49:45 +00:00
} ,
{
2019-11-06 01:47:10 +00:00
name : 'blondes' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . blonde ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'blow job' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . blowjob ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'blowjobs' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . blowjob ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'blowjob pov' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . blowjob ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'blowjob (double)' ,
alias _for : tagsMap [ 'double-blowjob' ] ,
} ,
2019-11-27 03:58:38 +00:00
{
name : 'blowjob - double' ,
alias _for : tagsMap [ 'double-blowjob' ] ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'blowjob (pov)' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . blowjob ,
} ,
{
name : 'blowjob - pov' ,
alias _for : tagsMap . blowjob ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'boob job' ,
alias _for : tagsMap [ 'enhanced-boobs' ] ,
} ,
{
name : 'boobjob' ,
alias _for : tagsMap [ 'enhanced-boobs' ] ,
} ,
{
name : 'brown hair' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . brunette ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'brunettes' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . brunette ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'buttplug' ,
alias _for : tagsMap [ 'anal-toys' ] ,
} ,
2019-11-11 04:18:28 +00:00
{
name : 'butt plug' ,
alias _for : tagsMap [ 'anal-toys' ] ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'caning' ,
alias _for : tagsMap [ 'corporal-punishment' ] ,
} ,
{
name : 'cattle prod' ,
alias _for : tagsMap [ 'electric-shock' ] ,
} ,
{
name : 'cheer leader' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . cheerleader ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'clover clamps' ,
alias _for : tagsMap [ 'nipple-clamps' ] ,
} ,
{
name : 'couples fantasies' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . couples ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'creampies' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . creampie ,
2019-11-06 01:47:10 +00:00
} ,
2020-01-16 20:04:44 +00:00
{
name : 'creampie - anal' ,
alias _for : tagsMap [ 'anal-creampie' ] ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'crop' , // a type of whip, not [sic] short for corporal
alias _for : tagsMap [ 'corporal-punishment' ] ,
} ,
{
name : 'cum cleaning' ,
alias _for : tagsMap [ 'cum-licking' ] ,
} ,
{
name : 'cum in mouth' ,
alias _for : tagsMap [ 'oral-creampie' ] ,
} ,
{
name : 'cum on ass' ,
alias _for : tagsMap [ 'cum-on-butt' ] ,
} ,
{
name : 'cum on tits' ,
alias _for : tagsMap [ 'cum-on-boobs' ] ,
} ,
{
name : 'cum swallowing' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . swallowing ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'cum shot' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . cumshot ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'cunnilingus' ,
alias _for : tagsMap [ 'pussy-eating' ] ,
} ,
{
name : 'pussy licking' ,
alias _for : tagsMap [ 'pussy-eating' ] ,
} ,
{
name : 'deep throat' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . deepthroat ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'deepthroating' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . deepthroat ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'dildo' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . toys ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'doggystyle' ,
alias _for : tagsMap [ 'doggy-style' ] ,
} ,
2019-12-06 23:42:47 +00:00
{
name : 'doggy style - pov' ,
alias _for : tagsMap [ 'doggy-style' ] ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'doggie style' ,
alias _for : tagsMap [ 'doggy-style' ] ,
} ,
{
name : 'doggystyle (standing)' ,
alias _for : tagsMap [ 'standing-doggy-style' ] ,
} ,
{
name : 'doggystyle - standing' ,
alias _for : tagsMap [ 'standing-doggy-style' ] ,
} ,
2020-01-16 20:04:44 +00:00
{
name : 'doggystyle regular' ,
alias _for : tagsMap [ 'doggy-style' ] ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'dom' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . bdsm ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'domination' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . bdsm ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'dominatrix' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . femdom ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'dp' ,
alias _for : tagsMap [ 'double-penetration' ] ,
} ,
2019-12-12 02:12:05 +00:00
{
name : 'first dp' ,
alias _for : tagsMap [ 'double-penetration' ] ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'double penetration (dp)' ,
alias _for : tagsMap [ 'double-penetration' ] ,
} ,
2019-11-27 03:58:38 +00:00
{
name : 'double penetration - dp' ,
alias _for : tagsMap [ 'double-penetration' ] ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'dap' ,
alias _for : tagsMap [ 'double-anal' ] ,
} ,
{
name : 'double anal (dap)' ,
alias _for : tagsMap [ 'double-anal' ] ,
} ,
{
name : 'double anal penetration (dap)' ,
alias _for : tagsMap [ 'double-anal' ] ,
} ,
2019-12-04 20:58:08 +00:00
{
name : 'tap' ,
alias _for : tagsMap [ 'triple-anal' ] ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'dpp' ,
alias _for : tagsMap [ 'double-vaginal' ] ,
} ,
{
name : 'dvp' ,
alias _for : tagsMap [ 'double-vaginal' ] ,
} ,
{
name : 'double vaginal (dvp)' ,
alias _for : tagsMap [ 'double-vaginal' ] ,
} ,
{
name : 'double vaginal penetration (dvp)' ,
alias _for : tagsMap [ 'double-vaginal' ] ,
} ,
{
name : 'double vaginal (dpp)' ,
alias _for : tagsMap [ 'double-vaginal' ] ,
} ,
{
name : 'double pussy penetration' ,
alias _for : tagsMap [ 'double-vaginal' ] ,
} ,
{
name : 'double pussy penetration (dpp)' ,
alias _for : tagsMap [ 'double-vaginal' ] ,
} ,
{
name : 'drool' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . saliva ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'enhanced' ,
alias _for : tagsMap [ 'enhanced-boobs' ] ,
} ,
{
name : 'enhanced tits' ,
alias _for : tagsMap [ 'enhanced-boobs' ] ,
} ,
{
2020-01-08 22:33:24 +00:00
name : 'facefuck' ,
alias _for : tagsMap . facefucking ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'face fuck' ,
2020-01-08 22:33:24 +00:00
alias _for : tagsMap . facefucking ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'face fucking' ,
2020-01-08 22:33:24 +00:00
alias _for : tagsMap . facefucking ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'face sitting' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . facesitting ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'facial cumshot' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . facial ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'facials' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . facial ,
2019-11-06 01:47:10 +00:00
} ,
2019-12-06 23:42:47 +00:00
{
name : 'facial - multiple' ,
alias _for : tagsMap . facial ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'fake boobs' ,
alias _for : tagsMap [ 'enhanced-boobs' ] ,
} ,
{
name : 'fake tits' ,
alias _for : tagsMap [ 'enhanced-boobs' ] ,
} ,
{
name : 'flogging' ,
alias _for : tagsMap [ 'corporal-punishment' ] ,
} ,
{
name : 'foot fetish' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . feet ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'french kissing' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . kissing ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'gape' ,
2020-01-08 22:33:24 +00:00
alias _for : tagsMap . gaping ,
2019-11-06 01:47:10 +00:00
} ,
{
2020-01-08 22:33:24 +00:00
name : 'gapes' ,
alias _for : tagsMap . gaping ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'gapes (gaping asshole)' ,
2020-01-08 22:33:24 +00:00
alias _for : tagsMap . gaping ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'group sex' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . orgy ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'flagellation' ,
alias _for : tagsMap [ 'corporal-punishment' ] ,
} ,
{
name : 'huge tits' ,
alias _for : tagsMap [ 'big-boobs' ] ,
} ,
{
name : 'huge toys' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . toys ,
2019-11-06 01:47:10 +00:00
} ,
2020-01-13 22:45:09 +00:00
{
name : 'incest' ,
alias _for : tagsMap . family ,
} ,
{
name : 'incest fantasy' ,
alias _for : tagsMap . family ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'innie' ,
alias _for : tagsMap [ 'innie-pussy' ] ,
} ,
{
name : 'lashing' ,
alias _for : tagsMap [ 'corporal-punishment' ] ,
} ,
{
name : 'lezdom' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . lesbian ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'mini-skirt' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . miniskirt ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'mmf' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . mfm ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'mff' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . fmf ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'mature & milf' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . milf ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'natural' ,
alias _for : tagsMap [ 'natural-boobs' ] ,
} ,
{
name : 'natural tits' ,
alias _for : tagsMap [ 'natural-boobs' ] ,
} ,
{
name : 'oral' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . blowjob ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'outie' ,
alias _for : tagsMap [ 'outie-pussy' ] ,
} ,
{
name : 'piercing' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . piercings ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'pierced' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . piercings ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'prolapse' ,
alias _for : tagsMap [ 'anal-prolapse' ] ,
} ,
{
name : 'prolapsing' ,
alias _for : tagsMap [ 'anal-prolapse' ] ,
} ,
{
name : 'raven' ,
alias _for : tagsMap [ 'black-hair' ] ,
} ,
{
name : 'raven hair' ,
alias _for : tagsMap [ 'black-hair' ] ,
} ,
{
name : 'red hair' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . redhead ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'red head' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . redhead ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'rimming' ,
2019-11-09 00:22:50 +00:00
alias _for : tagsMap [ 'ass-eating' ] ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'rimjob' ,
2019-11-09 00:22:50 +00:00
alias _for : tagsMap [ 'ass-eating' ] ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'role play' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . roleplay ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'rope bondage' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . bondage ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'rough sex' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . rough ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'school girl' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . schoolgirl ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'sadomasochism' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . bdsm ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'sadism' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . bdsm ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'scissoring' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . lesbian ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'sex toys' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . toys ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'shaved pussy' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . shaved ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'shoes' ,
alias _for : tagsMap [ 'shoes-on' ] ,
} ,
{
name : 'slave' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . bdsm ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'small ass' ,
alias _for : tagsMap [ 'small-butt' ] ,
} ,
{
name : 'small tits' ,
alias _for : tagsMap [ 'small-boobs' ] ,
} ,
{
name : 'spit' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . saliva ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'spitroast' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . mfm ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'standing doggystyle' ,
alias _for : tagsMap [ 'standing-doggy-style' ] ,
} ,
{
name : 'swallow' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . swallowing ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'strap-on' ,
alias _for : tagsMap [ 'strap-on-dildo' ] ,
} ,
{
name : 'strap on' ,
alias _for : tagsMap [ 'strap-on-dildo' ] ,
} ,
{
name : 'strap on dildo' ,
alias _for : tagsMap [ 'strap-on-dildo' ] ,
} ,
{
name : 'sub' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . bdsm ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'submission' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . bdsm ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'tattoos' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . tattoo ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'teens' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . teen ,
2019-11-06 01:47:10 +00:00
} ,
2020-01-16 20:04:44 +00:00
{
name : 'throat fucking' ,
alias _for : tagsMap . facefucking ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'tiny boobs' ,
alias _for : tagsMap [ 'small-boobs' ] ,
} ,
{
name : 'tiny tits' ,
alias _for : tagsMap [ 'small-boobs' ] ,
} ,
{
name : 'tittyfuck' ,
alias _for : tagsMap [ 'titty-fuck' ] ,
} ,
2019-11-13 02:14:24 +00:00
{
name : 'tp' ,
alias _for : tagsMap [ 'triple-penetration' ] ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'trans' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . transsexual ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'trimmed pussy' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . trimmed ,
2019-11-06 01:47:10 +00:00
} ,
{
2019-11-13 02:14:24 +00:00
name : 'ts' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . transsexual ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'whipping' ,
alias _for : tagsMap [ 'corporal-punishment' ] ,
} ,
2019-12-04 20:58:08 +00:00
{
name : 'white' ,
alias _for : tagsMap . caucasian ,
} ,
2019-11-06 01:47:10 +00:00
{
name : 'work' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . office ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'workplace' ,
2019-11-27 03:58:38 +00:00
alias _for : tagsMap . office ,
2019-11-06 01:47:10 +00:00
} ,
{
name : 'zapper' ,
alias _for : tagsMap [ 'electric-shock' ] ,
2019-04-07 00:15:57 +00:00
} ,
2019-11-06 01:47:10 +00:00
] ;
}
2020-01-13 22:45:09 +00:00
function getSiteTags ( ) {
return {
2020-01-22 21:25:58 +00:00
allblackx : [ 'ebony' , 'bbc' ] ,
2020-01-13 22:45:09 +00:00
boundgods : [ 'gay' ] ,
buttmachineboys : [ 'gay' ] ,
2020-01-15 00:01:16 +00:00
cum4k : [ 'fake-cum' , 'creampie' , '4k' ] ,
2020-01-22 21:25:58 +00:00
darkx : [ 'interracial' ] ,
2020-01-14 20:45:30 +00:00
deepthroatlove : [ 'blowjob' , 'deepthroat' ] ,
2020-01-13 22:45:09 +00:00
divinebitches : [ 'femdom' ] ,
2020-01-14 20:45:30 +00:00
dpparodies : [ 'parody' ] ,
eighteenyearsold : [ 'teen' ] ,
2020-01-15 00:01:16 +00:00
exotic4k : [ '4k' ] ,
2020-01-22 21:25:58 +00:00
familystrokes : [ 'family' ] ,
2020-01-16 20:04:44 +00:00
givemepink : [ 'solo' , 'masturbation' ] ,
2020-01-22 21:25:58 +00:00
lesbianx : [ 'lesbian' ] ,
2020-01-15 00:01:16 +00:00
lubed : [ 'oil' ] ,
2020-01-14 20:45:30 +00:00
massagecreep : [ 'massage' ] ,
2020-01-13 22:45:09 +00:00
menonedge : [ 'gay' ] ,
2020-01-15 00:01:16 +00:00
povd : [ 'pov' ] ,
puremature : [ 'milf' ] ,
2020-01-16 20:04:44 +00:00
spermswap : [ 'cum-swapping' ] ,
2020-01-15 00:01:16 +00:00
spyfam : [ 'family' ] ,
2020-01-13 22:45:09 +00:00
submissived : [ 'bdsm' ] ,
swallowed : [ 'blowjob' , 'deepthroat' , 'facefucking' ] ,
2020-01-22 21:25:58 +00:00
teenallanal : [ 'anal' , 'mff' ] ,
2020-01-14 20:45:30 +00:00
teenbff : [ 'mff' ] ,
2020-01-15 00:01:16 +00:00
tiny4k : [ '4k' ] ,
2020-01-13 22:45:09 +00:00
trueanal : [ 'anal' ] ,
tspussyhunters : [ 'transsexual' ] ,
} ;
}
2019-11-06 01:47:10 +00:00
exports . seed = knex => Promise . resolve ( )
2019-12-19 01:35:07 +00:00
. then ( async ( ) => upsert ( 'tags_groups' , groups , 'slug' , knex ) )
2019-11-06 01:47:10 +00:00
. then ( async ( ) => {
2019-12-19 03:42:50 +00:00
const groupEntries = await knex ( 'tags_groups' ) . select ( '*' ) ;
2019-12-07 03:41:16 +00:00
const groupsMap = groupEntries . reduce ( ( acc , { id , slug } ) => ( { ... acc , [ slug ] : id } ) , { } ) ;
2019-09-08 01:53:09 +00:00
2019-11-06 01:47:10 +00:00
const tags = getTags ( groupsMap ) ;
2020-01-13 22:45:09 +00:00
return upsert ( 'tags' , tags , 'slug' ) ;
2019-09-08 01:53:09 +00:00
} )
. then ( async ( ) => {
2019-12-19 01:35:07 +00:00
const tags = await knex ( 'tags' ) . select ( '*' ) . where ( { alias _for : null } ) ;
2019-09-08 01:53:09 +00:00
const tagsMap = tags . reduce ( ( acc , { id , slug } ) => ( { ... acc , [ slug ] : id } ) , { } ) ;
2019-11-06 01:47:10 +00:00
const tagAliases = getTagAliases ( tagsMap ) ;
2020-01-13 22:45:09 +00:00
return upsert ( 'tags' , tagAliases , 'name' ) ;
} )
. then ( async ( ) => {
const siteTags = getSiteTags ( ) ;
const sites = await knex ( 'sites' ) . whereIn ( 'slug' , Object . keys ( siteTags ) ) ;
const tags = await knex ( 'tags' ) . whereIn ( 'slug' , Object . values ( siteTags ) . flat ( ) ) ;
const tagsMap = tags . reduce ( ( acc , tag ) => ( { ... acc , [ tag . slug ] : tag . id } ) , { } ) ;
const tagAssociations = sites
. map ( site => siteTags [ site . slug ] . map ( tagSlug => ( {
tag _id : tagsMap [ tagSlug ] ,
site _id : site . id ,
inherit : true ,
} ) ) )
. flat ( ) ;
return upsert ( 'sites_tags' , tagAssociations , [ 'tag_id' , 'site_id' ] ) ;
2019-09-08 01:53:09 +00:00
} ) ;