| 487 | }); | 487 | }); |
| 488 | | 488 | |
| 489 | router.post('/rename', validateAvatarUrlMiddleware, async function (request, response) { | 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 | const pathToFolder = request.body.is_group | 495 | const pathToFolder = request.body.is_group |
| 495 | ? request.user.directories.groupChats | 496 | ? request.user.directories.groupChats |
| 496 | : path.join(request.user.directories.chats, String(request.body.avatar_url).replace('.png', '')); | 497 | : path.join(request.user.directories.chats, String(request.body.avatar_url).replace('.png', '')); |
| 497 | const pathToOriginalFile = path.join(pathToFolder, sanitize(request.body.original_file)); | 498 | const pathToOriginalFile = path.join(pathToFolder, sanitize(request.body.original_file)); |
| 498 | const pathToRenamedFile = path.join(pathToFolder, sanitize(request.body.renamed_file)); | 499 | const pathToRenamedFile = path.join(pathToFolder, sanitize(request.body.renamed_file)); |
| 499 | const sanitizedFileName = path.parse(pathToRenamedFile).name; | 500 | const sanitizedFileName = path.parse(pathToRenamedFile).name; |
| 500 | console.info('Old chat name', pathToOriginalFile); | 501 | console.debug('Old chat name', pathToOriginalFile); |
| 501 | console.info('New chat name', pathToRenamedFile); | 502 | console.debug('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 | router.post('/delete', validateAvatarUrlMiddleware, function (request, response) { | 519 | router.post('/delete', validateAvatarUrlMiddleware, function (request, response) { |