import path from "node:path"
import fs from "node:fs"

import Upload from "@classes/Upload"

export default {
	id: "file-process",
	maxJobs: 2,
	process: async (job) => {
		console.log("[JOB][file-process] starting... >", job.data)

		try {
			const result = await Upload.fileHandle({
				...job.data,
				onProgress: (progress) => {
					job.updateProgress(progress)
				},
			})

			return result
		} catch (error) {
			await fs.promises
				.rm(tmpPath, { recursive: true, force: true })
				.catch(() => null)

			throw error
		}
	},
}