Preventing actor entry ID from being inserted without entity ID.
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user