16 lines
712 B
TypeScript
16 lines
712 B
TypeScript
import { records, saveRecord } from '../../utils/studio2/store';
|
|
import { listStudioJobs } from '../../utils/studioQueue';
|
|
export default defineEventHandler(event => {
|
|
const { owner } = assertLibraryOwner(event), queue=listStudioJobs(owner);
|
|
let cleared=0;
|
|
for (const r of records(owner)) {
|
|
try { assertFolderAccess(event,r.request.folderId); } catch { continue; }
|
|
const status=queue.find(q=>q.id===r.queueId)?.status;
|
|
if (['complete','failed','cancelled'].includes(r.state) || ['cancelled','error'].includes(status || '')) {
|
|
r.dismissed=true; saveRecord(r); cleared++;
|
|
}
|
|
}
|
|
// Retain internal manifests for cleanup retries; remove these records from the visible jobs list.
|
|
return {cleared};
|
|
});
|