Syncing new actors to web.

This commit is contained in:
DebaucheryLibrarian
2026-06-09 01:06:45 +02:00
parent f7f149d091
commit 5ed7c611e9
2 changed files with 13 additions and 0 deletions

View File

@@ -30,6 +30,7 @@ const { toBaseReleases } = require('./deep');
const { associateAvatars, flushOrphanedMedia } = require('./media'); const { associateAvatars, flushOrphanedMedia } = require('./media');
const { fetchEntitiesBySlug } = require('./entities'); const { fetchEntitiesBySlug } = require('./entities');
const { deleteScenes } = require('./releases'); const { deleteScenes } = require('./releases');
const { updateActorSearch } = require('./update-search');
const actorsCommon = import('../common/actors.mjs'); // eslint-disable-line import/extensions, import/no-relative-packages const actorsCommon = import('../common/actors.mjs'); // eslint-disable-line import/extensions, import/no-relative-packages
const geoCommon = import('../common/geo.mjs'); // eslint-disable-line import/extensions, import/no-relative-packages const geoCommon = import('../common/geo.mjs'); // eslint-disable-line import/extensions, import/no-relative-packages
@@ -981,6 +982,7 @@ async function getOrCreateActors(baseActors, batchId) {
await storeProfiles(newActorProfiles); await storeProfiles(newActorProfiles);
if (Array.isArray(newActors)) { if (Array.isArray(newActors)) {
await updateActorSearch(newActors.map((actor) => actor.id));
return newActors.concat(existingActors); return newActors.concat(existingActors);
} }

View File

@@ -6,6 +6,10 @@ const unprint = require('unprint');
const knex = require('./knex'); const knex = require('./knex');
async function syncWeb(domain, ids) { async function syncWeb(domain, ids) {
if (!ids || ids.length === 0) {
return;
}
await knex('sync').insert({ domain, item_ids: ids }); await knex('sync').insert({ domain, item_ids: ids });
if (config.webApi.enabled) { if (config.webApi.enabled) {
@@ -31,7 +35,14 @@ async function updateMovieSearch(releaseIds) {
await syncWeb('movie', releaseIds); await syncWeb('movie', releaseIds);
} }
async function updateActorSearch(actorIds) {
await knex.raw('REFRESH MATERIALIZED VIEW actors_meta;');
await syncWeb('actor', actorIds);
}
module.exports = { module.exports = {
updateSceneSearch, updateSceneSearch,
updateMovieSearch, updateMovieSearch,
updateActorSearch,
}; };