UNPKG

@coursebuilder/core

Version:

Core package for Course Builder

51 lines (49 loc) 1.54 kB
import { VIDEO_STATUS_CHECK_EVENT } from "./chunk-CWN5P746.js"; import { __name } from "./chunk-VLQXSCFN.js"; // src/inngest/video-processing/functions/remove-completed-video.ts import { NonRetriableError } from "inngest"; var removeCompletedVideoConfig = { id: `remove-video-after-completed`, name: "Remove Uploadthing Video" }; var removeCompletedVideoTrigger = { event: VIDEO_STATUS_CHECK_EVENT }; var removeCompletedVideoHandler = /* @__PURE__ */ __name(async ({ event, step, db, mediaUploadProvider }) => { const videoResource = await step.run("Load Video Resource", async () => { return db.getVideoResource(event.data.videoResourceId); }); if (!videoResource) { throw new NonRetriableError("Video Resource not found"); } const finishedStates = [ "ready", "errored" ]; if (finishedStates.includes(videoResource.state)) { await step.sleep("wait a few just to be sure", "30m"); await step.run("delete file from uploadthing", async () => { return mediaUploadProvider.deleteFiles(event.data.fileKey); }); } else { await step.sleep("wait for video to be ready", "5m"); await step.sendEvent("check video status", { name: VIDEO_STATUS_CHECK_EVENT, data: event.data }); } return videoResource; }, "removeCompletedVideoHandler"); var removeCompletedVideo = { config: removeCompletedVideoConfig, trigger: removeCompletedVideoTrigger, handler: removeCompletedVideoHandler }; export { removeCompletedVideo }; //# sourceMappingURL=chunk-NEUH22XQ.js.map