From 784542253b41bf820011d791fe57c9a61f89828a Mon Sep 17 00:00:00 2001 From: Niels Simenon Date: Thu, 4 Apr 2019 04:44:37 +0200 Subject: [PATCH] Expanded tag database. --- config/default.js | 14 ++- seeds/sites.js | 2 +- seeds/tags.js | 265 +++++++++++++++++++++++++++++++++++++++++++--- src/tags.js | 2 +- 4 files changed, 266 insertions(+), 17 deletions(-) diff --git a/config/default.js b/config/default.js index c2e6a4c7..049a3f41 100644 --- a/config/default.js +++ b/config/default.js @@ -18,7 +18,19 @@ module.exports = { ]], 'legalporno', 'pervcity', - 'private', + ['private', [ + 'analintroductions', + 'iconfessfiless', + 'missionasspossible', + 'russianfakeagent', + 'sexonthebeach', + 'tightandteen', + 'blacksonsluts', + 'privatefetish', + 'privatemils', + 'russianteenass', + 'privatestars', + ]], 'vixen', 'xempire', ], diff --git a/seeds/sites.js b/seeds/sites.js index 4299cf0f..0140b1c7 100644 --- a/seeds/sites.js +++ b/seeds/sites.js @@ -345,7 +345,7 @@ exports.seed = knex => Promise.resolve() network_id: 'private', }, { - id: 'iconfessfiless', + id: 'iconfessfiles', name: 'I Confess Files', label: 'confes', description: 'From the heart of the UK comes found footage exclusively provided to private.com which will shock and offend some viewers. Reality, perversion and unnatural lust come together perhaps as never before.', diff --git a/seeds/tags.js b/seeds/tags.js index 59454b9c..fb8618a8 100644 --- a/seeds/tags.js +++ b/seeds/tags.js @@ -9,7 +9,19 @@ exports.seed = knex => Promise.resolve() alias_for: null, }, { - tag: 'anal', + tag: 'anal sex', + alias_for: null, + }, + { + tag: 'anal fingering', + alias_for: null, + }, + { + tag: 'anal fisting', + alias_for: null, + }, + { + tag: 'anal toy', alias_for: null, }, { @@ -84,10 +96,6 @@ exports.seed = knex => Promise.resolve() tag: 'cowgirl', alias_for: null, }, - { - tag: 'reverse cowgirl', - alias_for: null, - }, { tag: 'creampie', alias_for: null, @@ -97,17 +105,25 @@ exports.seed = knex => Promise.resolve() alias_for: null, }, { - tag: 'deepthroat', + tag: 'curvy', alias_for: null, }, { tag: 'DAP', alias_for: null, }, + { + tag: 'deepthroat', + alias_for: null, + }, { tag: 'DP', alias_for: null, }, + { + tag: 'dungeon', + alias_for: null, + }, { tag: 'DVP', alias_for: null, @@ -124,6 +140,10 @@ exports.seed = knex => Promise.resolve() tag: 'ebony', alias_for: null, }, + { + tag: 'electric shock', + alias_for: null, + }, { tag: 'European', alias_for: null, @@ -132,18 +152,38 @@ exports.seed = knex => Promise.resolve() tag: 'facefucking', alias_for: null, }, + { + tag: 'facesitting', + alias_for: null, + }, { tag: 'facial', alias_for: null, }, { - tag: 'facials', - alias_for: 'facial', + tag: 'feet', + alias_for: null, + }, + { + tag: 'femdom', + alias_for: null, + }, + { + tag: 'fingering', + alias_for: null, + }, + { + tag: 'fisting', + alias_for: null, }, { tag: 'FMF', alias_for: null, }, + { + tag: 'gag', + alias_for: null, + }, { tag: 'gangbang', alias_for: null, @@ -168,20 +208,36 @@ exports.seed = knex => Promise.resolve() tag: 'high heels', alias_for: null, }, + { + tag: 'humiliation', + alias_for: null, + }, { tag: 'interracial', alias_for: null, }, + { + tag: 'latex', + alias_for: null, + }, { tag: 'latina', alias_for: null, }, { - tag: 'lingerie', + tag: 'leather', alias_for: null, }, { - tag: 'matag', + tag: 'lesbian', + alias_for: null, + }, + { + tag: 'machine dildo', + alias_for: null, + }, + { + tag: 'lingerie', alias_for: null, }, { @@ -200,18 +256,38 @@ exports.seed = knex => Promise.resolve() tag: 'natural', alias_for: null, }, + { + tag: 'nipple clamps', + alias_for: null, + }, + { + tag: 'pain', + alias_for: null, + }, + { + tag: 'pegging', + alias_for: null, + }, { tag: 'petite', alias_for: null, }, { - tag: 'pussy licking', + tag: 'pussy eating', + alias_for: null, + }, + { + tag: 'anal prolapse', alias_for: null, }, { tag: 'redhead', alias_for: null, }, + { + tag: 'reverse cowgirl', + alias_for: null, + }, { tag: 'roleplay', alias_for: null, @@ -224,6 +300,10 @@ exports.seed = knex => Promise.resolve() tag: 'Russian', alias_for: null, }, + { + tag: 'saliva', + alias_for: null, + }, { tag: 'schoolgirl', alias_for: null, @@ -236,10 +316,22 @@ exports.seed = knex => Promise.resolve() tag: 'slapping', alias_for: null, }, + { + tag: 'spanking', + alias_for: null, + }, + { + tag: 'strapon', + alias_for: 'strap-on dildo', + }, { tag: 'small boobs', alias_for: null, }, + { + tag: 'speculum', + alias_for: null, + }, { tag: 'squirting', alias_for: null, @@ -249,11 +341,19 @@ exports.seed = knex => Promise.resolve() alias_for: null, }, { - tag: 'swallowing', + tag: 'stockings', alias_for: null, }, { - tag: 'stockings', + tag: 'strap-on dildo', + alias_for: null, + }, + { + tag: 'suspension', + alias_for: null, + }, + { + tag: 'swallowing', alias_for: null, }, { @@ -280,6 +380,10 @@ exports.seed = knex => Promise.resolve() tag: 'uniform', alias_for: null, }, + { + tag: 'vibrator', + alias_for: null, + }, { tag: 'voyeur', alias_for: null, @@ -290,6 +394,7 @@ exports.seed = knex => Promise.resolve() }, ])) .then(() => knex('tags').insert([ + // ALIASES { tag: '2-on-1', alias_for: 'MFM', @@ -298,6 +403,10 @@ exports.seed = knex => Promise.resolve() tag: '3+ on 1', alias_for: 'gangbang', }, + { + tag: 'anal', + alias_for: 'anal sex', + }, { tag: 'anilingus', alias_for: 'ass licking', @@ -310,6 +419,10 @@ exports.seed = knex => Promise.resolve() tag: 'ass to mouth', alias_for: 'ATM', }, + { + tag: 'ball gag', + alias_for: 'gag', + }, { tag: 'BGB', alias_for: 'MFM', @@ -358,26 +471,54 @@ exports.seed = knex => Promise.resolve() tag: 'brunettes', alias_for: 'brunette', }, + { + tag: 'buttplug', + alias_for: 'anal toy', + }, + { + tag: 'caning', + alias_for: 'corporal punishment', + }, + { + tag: 'cattle prod', + alias_for: 'electric shock', + }, { tag: 'cheer leader', alias_for: 'cheerleader', }, + { + tag: 'clover clamps', + alias_for: 'nipple clamps', + }, { tag: 'creampies', alias_for: 'creampie', }, + { + tag: 'crop', // a type of whip, not short for corporal + alias_for: 'corporal punishment', + }, { tag: 'cum swallowing', alias_for: 'swallowing', }, { tag: 'cunnilingus', - alias_for: 'pussy licking', + alias_for: 'pussy eating', + }, + { + tag: 'pussy licking', + alias_for: 'pussy eating', }, { tag: 'deep throat', alias_for: 'deepthroat', }, + { + tag: 'dildo', + alias_for: 'toy', + }, { tag: 'doggystyle', alias_for: 'doggy style', @@ -386,6 +527,18 @@ exports.seed = knex => Promise.resolve() tag: 'doggie style', alias_for: 'doggy style', }, + { + tag: 'dom', + alias_for: 'BDSM', + }, + { + tag: 'domination', + alias_for: 'BDSM', + }, + { + tag: 'dominatrix', + alias_for: 'femdom', + }, { tag: 'double anal penetration', alias_for: 'DAP', @@ -434,6 +587,22 @@ exports.seed = knex => Promise.resolve() tag: 'double pussy penetration (dpp)', alias_for: 'DVP', }, + { + tag: 'drool', + alias_for: 'saliva', + }, + { + tag: 'facials', + alias_for: 'facial', + }, + { + tag: 'flogging', + alias_for: 'corporal punishment', + }, + { + tag: 'foot fetish', + alias_for: 'feet', + }, { tag: 'gape', alias_for: 'gaping', @@ -446,6 +615,10 @@ exports.seed = knex => Promise.resolve() tag: 'gapes (gaping asshole)', alias_for: 'gaping', }, + { + tag: 'flagellation', + alias_for: 'corporal punishment', + }, { tag: 'huge tits', alias_for: 'big boobs', @@ -454,6 +627,14 @@ exports.seed = knex => Promise.resolve() tag: 'huge toys', alias_for: 'toys', }, + { + tag: 'lashing', + alias_for: 'corporal punishment', + }, + { + tag: 'lezdom', + alias_for: 'lesbian', + }, { tag: 'MMF', alias_for: 'MFM', @@ -462,6 +643,14 @@ exports.seed = knex => Promise.resolve() tag: 'MFF', alias_for: 'FMF', }, + { + tag: 'prolapse', + alias_for: 'anal prolapse', + }, + { + tag: 'prolapsing', + alias_for: 'anal prolapse', + }, { tag: 'red head', alias_for: 'redhead', @@ -478,6 +667,10 @@ exports.seed = knex => Promise.resolve() tag: 'role play', alias_for: 'roleplay', }, + { + tag: 'rope bondage', + alias_for: 'bondage', + }, { tag: 'rough sex', alias_for: 'rough', @@ -486,14 +679,30 @@ exports.seed = knex => Promise.resolve() tag: 'school girl', alias_for: 'schoolgirl', }, + { + tag: 'sadomasochism', + alias_for: 'BDSM', + }, + { + tag: 'sadism', + alias_for: 'BDSM', + }, { tag: 'shaved pussy', alias_for: 'shaved', }, + { + tag: 'slave', + alias_for: 'BDSM', + }, { tag: 'small tits', alias_for: 'small boobs', }, + { + tag: 'spit', + alias_for: 'saliva', + }, { tag: 'spitroast', alias_for: 'MFM', @@ -506,6 +715,26 @@ exports.seed = knex => Promise.resolve() tag: 'swallow', alias_for: 'swallowing', }, + { + tag: 'strap-on', + alias_for: 'strap-on dildo', + }, + { + tag: 'strap on', + alias_for: 'strap-on dildo', + }, + { + tag: 'strap on dildo', + alias_for: 'strap-on dildo', + }, + { + tag: 'sub', + alias_for: 'BDSM', + }, + { + tag: 'submission', + alias_for: 'BDSM', + }, { tag: 'tattoos', alias_for: 'tattoo', @@ -530,4 +759,12 @@ exports.seed = knex => Promise.resolve() tag: 'triple penetration', alias_for: 'TP', }, + { + tag: 'whipping', + alias_for: 'corporal punishment', + }, + { + tag: 'zapper', + alias_for: 'electric shock', + }, ])); diff --git a/src/tags.js b/src/tags.js index 39c26492..6d4eba58 100644 --- a/src/tags.js +++ b/src/tags.js @@ -9,7 +9,7 @@ async function matchTags(rawTags) { .orWhereIn('tags.tag', rawTags.map(tag => tag.toLowerCase())) .leftJoin('tags as original', 'tags.alias_for', 'original.tag'); - return tagEntries.map(({ tag }) => tag); + return Array.from(new Set(tagEntries.map(({ tag }) => tag))).sort(); // reduce to tag name and filter duplicates } module.exports = { matchTags };