From 1bc7dd3a432dc81456f123bcf7d90b30a17f716e Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Mon, 8 Jun 2026 05:18:11 +0200 Subject: [PATCH] Integrated Manticore sync, assuming responsibility from traxxx core/legacy. --- components/actors/merge.vue | 32 +- pages/actors/edit/+Page.vue | 2 +- src/actors.js | 83 ++++ src/scenes.js | 5 + src/sync.js | 440 ++++++++++++++++++ src/web/actors.js | 10 + tools/manticore-actors.js | 43 ++ tools/manticore-movies.js | 45 ++ tools/manticore-scenes.js | 59 +++ tools/manticore-stashes.js | 42 ++ .../tools => tools}/scene_tag_revision_fix.js | 0 {src/tools => tools}/slugify-test.js | 0 {src/utils => utils}/chunk.js | 0 utils/filter-title.js | 7 + utils/verify-ability.js | 15 + 15 files changed, 776 insertions(+), 7 deletions(-) create mode 100644 src/sync.js create mode 100644 tools/manticore-actors.js create mode 100644 tools/manticore-movies.js create mode 100644 tools/manticore-scenes.js create mode 100644 tools/manticore-stashes.js rename {src/tools => tools}/scene_tag_revision_fix.js (100%) rename {src/tools => tools}/slugify-test.js (100%) rename {src/utils => utils}/chunk.js (100%) create mode 100644 utils/filter-title.js create mode 100644 utils/verify-ability.js diff --git a/components/actors/merge.vue b/components/actors/merge.vue index 28763d7..6a17ec7 100644 --- a/components/actors/merge.vue +++ b/components/actors/merge.vue @@ -4,14 +4,18 @@ @close="emit('close')" >
+ #{{ actor.id }} {{ actor.name }} ({{ actor.entity.name }}) + + merging into +
- + #{{ targetActor.id }} {{ targetActor.name }} - + @@ -89,13 +94,20 @@ async function searchActors() { const res = await get('/actors', { q: `${actorQuery.value}*`, // return partial matches limit: 10, + global: true, }); actorResults.value = res.actors; } async function merge() { - console.log('MERGE', props.actor.id, targetActor.value.id); + await post(`/actors/${targetActor.value.id}/merge/${props.actor.id}`, null, { + successFeedback: `Merged ${props.actor.entity ? `${props.actor.name} (${props.actor.entity.name})` : props.actor.name} into ${targetActor.value.name}`, + errorFeedback: `Failed to merge ${props.actor.entity ? `${props.actor.name} (${props.actor.entity.name})` : props.actor.name} into ${targetActor.value.name}`, + appendErrorMessage: true, + }); + + emit('close'); } function selectActor(actor) { @@ -111,19 +123,27 @@ onMounted(() => {