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') || '') 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' }) 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 } })