Spaces:
Runtime error
Runtime error
| const builderService = require("../services/builderService"); | |
| const crypto = require("crypto"); | |
| const jobs = new Map(); | |
| const createJob = async (req, res) => { | |
| const { url, name, packageName, iconUrl } = req.body; | |
| if (!url || !name || !packageName) { | |
| return res.status(400).json({ | |
| status: false, | |
| message: "missing required parameters" | |
| }); | |
| } | |
| const jobId = crypto.randomBytes(8).toString("hex"); | |
| const jobData = { | |
| jobId, | |
| url, | |
| name, | |
| packageName, | |
| iconUrl, | |
| status: "queue", | |
| createdAt: new Date().toISOString() | |
| }; | |
| jobs.set(jobId, jobData); | |
| builderService.processApk(jobId, jobData, (result) => { | |
| jobs.set(jobId, { ...jobs.get(jobId), ...result }); | |
| }); | |
| res.json({ | |
| status: true, | |
| message: "job created successfully", | |
| data: { jobId } | |
| }); | |
| }; | |
| const checkJob = (req, res) => { | |
| const { jobId } = req.params; | |
| const job = jobs.get(jobId); | |
| if (!job) { | |
| return res.status(404).json({ status: false, message: "job id not found" }); | |
| } | |
| res.json({ | |
| status: true, | |
| data: { | |
| jobId: job.jobId, | |
| status: job.status, | |
| progress: job.progress || "0%" | |
| } | |
| }); | |
| }; | |
| const infoJob = (req, res) => { | |
| const { jobId } = req.params; | |
| const job = jobs.get(jobId); | |
| if (!job) { | |
| return res.status(404).json({ status: false, message: "job id not found" }); | |
| } | |
| res.json({ | |
| status: true, | |
| data: job | |
| }); | |
| }; | |
| module.exports = { | |
| createJob, | |
| checkJob, | |
| infoJob | |
| }; |