From 3d79924494844716d0f72d40aeb1f513081abf3e Mon Sep 17 00:00:00 2001 From: jawndiego Date: Wed, 3 Apr 2024 11:55:31 -0500 Subject: [PATCH] check asset status --- routes/mux/upload.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/routes/mux/upload.ts b/routes/mux/upload.ts index ff296a0..6222269 100644 --- a/routes/mux/upload.ts +++ b/routes/mux/upload.ts @@ -30,7 +30,22 @@ export default defineEventHandler(async (event) => { encoding_tier: 'baseline', }) - return { id: asset.id, playbackId: asset.playback_ids?.[0].id } + let processing = true + + const checkAssetStatus = async (assetId) => { + const assetDetails = await Video.Assets.get(assetId) + if (assetDetails.status === 'ready' || assetDetails.status === 'errored') { + processing = false + return assetDetails.status + } else { + await new Promise(resolve => setTimeout(resolve, 5000)) // 5 seconds delay + return checkAssetStatus(assetId) + } + } + + const finalStatus = await checkAssetStatus(asset.id) + + return { id: asset.id, playbackId: asset.playback_ids?.[0].id, processing, status: finalStatus } } catch (e) { console.error('Error creating Mux asset:', e.message, 'Details:', e.details || 'None') return createError({