| 487 | 487 | }); |
| 488 | 488 | |
| 489 | 489 | router.post('/rename', validateAvatarUrlMiddleware, async function (request, response) { |
| 490 | | - if (!request.body || !request.body.original_file || !request.body.renamed_file) { |
| 490 | + try { |
| 491 | | - return response.sendStatus(400); |
| 491 | + if (!request.body || !request.body.original_file || !request.body.renamed_file) { |
| 492 | | - } |
| 492 | + return response.sendStatus(400); |
| 493 | + } |
| 493 | 494 | |
| 494 | 495 | const pathToFolder = request.body.is_group |
| 495 | 496 | ? request.user.directories.groupChats |
| 496 | 497 | : path.join(request.user.directories.chats, String(request.body.avatar_url).replace('.png', '')); |
| 497 | 498 | const pathToOriginalFile = path.join(pathToFolder, sanitize(request.body.original_file)); |
| 498 | 499 | const pathToRenamedFile = path.join(pathToFolder, sanitize(request.body.renamed_file)); |
| 499 | 500 | const sanitizedFileName = path.parse(pathToRenamedFile).name; |
| 500 | 501 | console.infodebug('Old chat name', pathToOriginalFile); |
| 501 | 502 | console.infodebug('New chat name', pathToRenamedFile); |
| 503 | + |
| 504 | + if (!fs.existsSync(pathToOriginalFile) || fs.existsSync(pathToRenamedFile)) { |
| 505 | + console.error('Either Source or Destination files are not available'); |
| 506 | + return response.status(400).send({ error: true }); |
| 507 | + } |
| 502 | 508 | |
| 503 | | - if (!fs.existsSync(pathToOriginalFile) || fs.existsSync(pathToRenamedFile)) { |
| 509 | + fs.copyFileSync(pathToOriginalFile, pathToRenamedFile); |
| 504 | | - console.error('Either Source or Destination files are not available'); |
| 510 | + fs.unlinkSync(pathToOriginalFile); |
| 505 | | - return response.status(400).send({ error: true }); |
| 511 | + console.info('Successfully renamed chat file.'); |
| 512 | + return response.send({ ok: true, sanitizedFileName }); |
| 513 | + } catch (error) { |
| 514 | + console.error('Error renaming chat file:', error); |
| 515 | + return response.status(500).send({ error: true }); |
| 506 | 516 | } |
| 507 | | - |
| 508 | | - fs.copyFileSync(pathToOriginalFile, pathToRenamedFile); |
| 509 | | - fs.unlinkSync(pathToOriginalFile); |
| 510 | | - console.info('Successfully renamed.'); |
| 511 | | - return response.send({ ok: true, sanitizedFileName }); |
| 512 | 517 | }); |
| 513 | 518 | |
| 514 | 519 | router.post('/delete', validateAvatarUrlMiddleware, function (request, response) { |