@coursebuilder/core
Version:
Core package for Course Builder
52 lines (50 loc) • 1.46 kB
JavaScript
import {
MUX_WEBHOOK_EVENT
} from "./chunk-VDY4BWB4.js";
import {
__name
} from "./chunk-VLQXSCFN.js";
// src/inngest/video-processing/functions/video-ready.ts
var videoReadyConfig = {
id: `mux-video-asset-ready`,
name: "Mux Video Asset Ready"
};
var videoReadyTrigger = {
event: MUX_WEBHOOK_EVENT,
if: 'event.data.muxWebhookEvent.type == "video.asset.ready"'
};
var videoReadyHandler = /* @__PURE__ */ __name(async ({ event, step, db, partyProvider }) => {
const videoResource = await step.run("Load Video Resource", async () => {
return db.getVideoResource(event.data.muxWebhookEvent.data.passthrough);
});
if (videoResource) {
await step.run("update the video resource in database", async () => {
return db.updateContentResourceFields({
id: videoResource.id,
fields: {
state: "ready"
}
});
});
}
await step.run("announce asset ready", async () => {
return await partyProvider.broadcastMessage({
body: {
body: videoResource?.muxPlaybackId,
requestId: event.data.muxWebhookEvent.data.passthrough,
name: "video.asset.ready"
},
roomId: event.data.muxWebhookEvent.data.passthrough
});
});
return event.data.muxWebhookEvent.data;
}, "videoReadyHandler");
var videoReady = {
config: videoReadyConfig,
trigger: videoReadyTrigger,
handler: videoReadyHandler
};
export {
videoReady
};
//# sourceMappingURL=chunk-VUAQPURH.js.map