diff --git a/controller/websocket.js b/controller/websocket.js index 3142707..684f1f1 100644 --- a/controller/websocket.js +++ b/controller/websocket.js @@ -80,15 +80,22 @@ exports.save = async (ws, req) => { } else { const file = fs.readdirSync("videos").find(f => f.includes(id)) if (file) { - fs.renameSync(`./videos/${file}`, `./videos/${id}.webm`) - - ws.send('DATA - Uploading file...') - const videoUrl = await upload.uploadVideo(`./videos/${id}.webm`) - fs.unlinkSync(`./videos/${id}.webm`) + try { + fs.renameSync(`./videos/${file}`, `./videos/${id}.webm`) + + ws.send('DATA - Uploading file...') + const videoUrl = await upload.uploadVideo(`./videos/${id}.webm`) + fs.unlinkSync(`./videos/${id}.webm`) - await websocket.createDatabaseVideo(id, videoUrl) - - ws.send(`DONE - ${process.env.FRONTEND}/watch?v=${id}`) + await websocket.createDatabaseVideo(id, videoUrl) + ws.send(`DONE - ${process.env.FRONTEND}/watch?v=${id}`) + } catch (e) { + ws.send('DATA - Server side error while processing video. Please try again.') + fs.unlinkSync(`./videos/${id}.webm`) + logger.error(e) + } + } else { + ws.send('DATA - Failed to find file video.') } await redis.del(id) @@ -189,6 +196,7 @@ exports.playlist = async (ws, req) => { ws.send(`DATA - Created video page for ${video.title}`) } catch (e) { ws.send(`DATA - Failed downloading video ${video.title}. Going to next video`) + fs.unlinkSync(`./videos/${id}.webm`) logger.error(e) } } else { @@ -287,6 +295,7 @@ exports.channel = async (ws, req) => { ws.send(`DATA - Created video page for ${video.title}`) } catch (e) { ws.send(`DATA - Failed downloading video ${video.title}. Going to next video`) + fs.unlinkSync(`./videos/${id}.webm`) logger.error(e) } } else {