UNPKG

@coursebuilder/core

Version:

Core package for Course Builder

75 lines (73 loc) 2.36 kB
import { addSrtTrackToMuxAsset, deleteSrtTrackFromMuxAsset, getMuxAsset } from "./chunk-S5X2SWL7.js"; import { VIDEO_SRT_READY_EVENT } from "./chunk-FEG4FJXK.js"; import { __name } from "./chunk-VLQXSCFN.js"; // src/inngest/video-processing/functions/add-srt-to-mux-asset.ts import { NonRetriableError } from "inngest"; var COOLDOWN = 2e4; var addSrtToMuxAssetConfig = { id: "add-srt-mux-asset", name: "Add SRT to Mux Asset" }; var addSrtToMuxAssetTrigger = { event: VIDEO_SRT_READY_EVENT }; var addSrtToMuxAssetHandler = /* @__PURE__ */ __name(async ({ event, step, db, siteRootUrl }) => { const muxAssetId = await step.run("get the video resource from Sanity", async () => { const videoResource = await db.getVideoResource(event.data.videoResourceId); return videoResource?.muxAssetId ?? null; }); if (muxAssetId) { let muxAsset = await step.run("get the mux asset", async () => { return getMuxAsset(muxAssetId); }); if (!muxAsset) { throw new NonRetriableError("Mux Asset not found"); } if (muxAsset.status === "ready") { await step.run("delete existing srt track from mux asset", async () => { return await deleteSrtTrackFromMuxAsset(muxAsset?.id); }); await step.run("add srt track to mux asset", async () => { return addSrtTrackToMuxAsset({ assetId: muxAsset?.id, srtUrl: `${siteRootUrl}/api/coursebuilder/srt/internal?videoResourceId=${event.data.videoResourceId}` }); }); muxAsset = await step.run("get the updated mux asset", async () => { return getMuxAsset(muxAssetId); }); return { muxAsset }; } else if (muxAsset.status !== "errored") { await step.sleep(`wait for ${COOLDOWN / 1e3} seconds`, COOLDOWN); await step.sendEvent("Re-run After Cool Down", { name: VIDEO_SRT_READY_EVENT, data: event.data }); return "asset not ready yet"; } else { throw new Error("Mux Asset is in errored state"); } } }, "addSrtToMuxAssetHandler"); var addSrtToMuxAsset = { config: addSrtToMuxAssetConfig, trigger: addSrtToMuxAssetTrigger, handler: addSrtToMuxAssetHandler }; export { addSrtToMuxAssetConfig, addSrtToMuxAssetTrigger, addSrtToMuxAssetHandler, addSrtToMuxAsset }; //# sourceMappingURL=chunk-QV7D3G6D.js.map