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:
@@ -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
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user