Pause the queue after the current clip for real, and carry global locks plus labeled permanence stills through generate and shot prompts.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Towsty
2026-08-28 07:48:09 -05:00
co-authored by Cursor
parent 010ef6add2
commit efef409537
21 changed files with 1196 additions and 115 deletions
+20 -3
View File
@@ -1,10 +1,27 @@
import { pauseShotQueue, summarizeQueue, getShotQueue } from '~/server/utils/shotQueue'
import { setShotQueuePause, summarizeQueue, getShotQueue } from '~/server/utils/shotQueue'
import { toggleStudioQueuePause } from '~/server/utils/studioQueue'
export default defineEventHandler(async (event) => {
const { owner } = assertLibraryOwner(event)
const id = String(getRouterParam(event, 'id') || '')
await pauseShotQueue(owner, id)
const body = await readBody<{ resume?: boolean }>().catch(() => ({} as { resume?: boolean }))
const queue = getShotQueue(owner, id)
if (!queue) throw createError({ statusCode: 404, statusMessage: 'Queue not found' })
return summarizeQueue(queue)
const result = await toggleStudioQueuePause(owner, {
resume: body?.resume,
queueId: id
})
const next = getShotQueue(owner, id)
if (!next) throw createError({ statusCode: 404, statusMessage: 'Queue not found' })
if (result.willPause && !next.stopAfterCurrent) {
await setShotQueuePause(owner, id, true)
}
if (!result.willPause && next.stopAfterCurrent) {
await setShotQueuePause(owner, id, false)
}
return {
...summarizeQueue(getShotQueue(owner, id) || next),
paused: result.paused,
willPause: result.willPause
}
})