@coursebuilder/core
Version:
Core package for Course Builder
51 lines (49 loc) • 1.54 kB
JavaScript
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