Preventing actor entry ID from being inserted without entity ID.
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 325 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 280 KiB |
After Width: | Height: | Size: 22 KiB |
|
@ -9396,6 +9396,13 @@ const sites = [
|
|||
tags: ['fake-cum', 'creampie', '4k'],
|
||||
parent: 'whalemember',
|
||||
},
|
||||
{
|
||||
name: 'Anal 4K',
|
||||
slug: 'anal4k',
|
||||
url: 'https://anal4k.com',
|
||||
tags: ['anal', '4k'],
|
||||
parent: 'whalemember',
|
||||
},
|
||||
{
|
||||
name: 'Tiny 4K',
|
||||
slug: 'tiny4k',
|
||||
|
|
|
@ -611,7 +611,7 @@ const tagPosters = [
|
|||
['cum-on-butt', 0, 'Jynx Maze in "Don\'t Make Me Beg 4" for Evil Angel'],
|
||||
['cum-on-boobs', 1, 'Kylie Page in "Melt In Your Mouth" for Twistys Hard'],
|
||||
['cum-on-pussy', 0, 'Talinka A for Sex Art'],
|
||||
['da-tp', 5, 'Venera Maxima in LegalPorno GIO1287'],
|
||||
['da-tp', 7, 'Polly Petrova in LegalPorno YE069'],
|
||||
['deepthroat', 2, 'Sarah Vandella for Throated'],
|
||||
['dap', 7, 'Adriana Chechik in "DP Masters 6" for Jules Jordan'],
|
||||
['double-blowjob', 1, 'Veronica Rodriguez and Penny Pax in "Fucking Older Guys 5" for Penthouse'],
|
||||
|
@ -743,6 +743,7 @@ const tagPhotos = [
|
|||
['cum-in-mouth', 0, 'Vina Sky and Avi Love for HardX'],
|
||||
['cum-on-boobs', 0, 'Alessandra Jane for Private'],
|
||||
['cum-on-boobs', 2, 'Blake Blossom in "Naturally Stacked Cutie" for HardX'],
|
||||
['da-tp', 5, 'Venera Maxima in LegalPorno GIO1287'],
|
||||
['da-tp', 6, 'Adriana Chechik in "Gangbang Me" for HardX'],
|
||||
['da-tp', 0, 'Natasha Teen in LegalPorno SZ2164'],
|
||||
['da-tp', 1, 'Francys Belle in SZ1702 for LegalPorno'],
|
||||
|
|
|
@ -24,7 +24,7 @@ const logger = require('./logger')(__filename);
|
|||
|
||||
const { toBaseReleases } = require('./deep');
|
||||
const { associateAvatars, flushOrphanedMedia } = require('./media');
|
||||
const { fetchEntitiesBySlug } = require('./entities');
|
||||
const { fetchEntitiesBySlug, getRecursiveParent } = require('./entities');
|
||||
const { deleteScenes } = require('./releases');
|
||||
|
||||
const slugify = require('./utils/slugify');
|
||||
|
@ -159,11 +159,13 @@ function toBaseActors(actorsOrNames, release) {
|
|||
const name = capitalize(baseName);
|
||||
const slug = slugify(name);
|
||||
|
||||
const entity = getRecursiveParent(release?.entity);
|
||||
|
||||
const baseActor = {
|
||||
name,
|
||||
slug,
|
||||
entryId: entryId || actorOrName.entryId || null,
|
||||
entity: release?.entity?.parent || release?.entity || null,
|
||||
entryId: entity && (entryId || actorOrName.entryId || null),
|
||||
entity,
|
||||
hasProfile: !!actorOrName.name, // actor contains profile information
|
||||
};
|
||||
|
||||
|
|
|
@ -9,6 +9,18 @@ const knex = require('./knex');
|
|||
const { deleteScenes, deleteMovies } = require('./releases');
|
||||
const { flushOrphanedMedia } = require('./media');
|
||||
|
||||
function getRecursiveParent(entity) {
|
||||
if (!entity) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (entity.parent) {
|
||||
return getRecursiveParent(entity.parent);
|
||||
}
|
||||
|
||||
return entity;
|
||||
}
|
||||
|
||||
function curateEntity(entity, includeParameters = false) {
|
||||
if (!entity) {
|
||||
return null;
|
||||
|
@ -377,6 +389,7 @@ module.exports = {
|
|||
fetchEntitiesBySlug,
|
||||
fetchEntity,
|
||||
fetchEntities,
|
||||
getRecursiveParent,
|
||||
searchEntities,
|
||||
flushEntities,
|
||||
urlToSiteSlug,
|
||||
|
|