Preventing actor entry ID from being inserted without entity ID.

This commit is contained in:
DebaucheryLibrarian
2021-02-24 02:43:34 +01:00
parent af131f903e
commit fb2217a733
54 changed files with 27 additions and 4 deletions

View File

@@ -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
};

View File

@@ -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,