Add extension in /api/chats/delete if missing

e092088ad9055a6f25a873b6767f6c94616cd85e

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +20 -11Ignore whitespace
src/endpoints/chats.js+20 -11
@@ -529,19 +529,28 @@ router.post('/rename', validateAvatarUrlMiddleware, async function (request, res
529529});
530530
531531router.post('/delete', validateAvatarUrlMiddleware, function (request, response) {
532- const dirName = String(request.body.avatar_url).replace('.png', '');
532+ try {
533- const fileName = String(request.body.chatfile);
533+ if (!path.extname(request.body.chatfile)) {
534- const filePath = path.join(request.user.directories.chats, dirName, sanitize(fileName));
534+ request.body.chatfile += '.jsonl';
535- const chatFileExists = fs.existsSync(filePath);
535+ }
536536
537- if (!chatFileExists) {
537+ const dirName = String(request.body.avatar_url).replace('.png', '');
538- console.error(`Chat file not found '${filePath}'`);
538+ const fileName = String(request.body.chatfile);
539- return response.sendStatus(400);
539+ const filePath = path.join(request.user.directories.chats, dirName, sanitize(fileName));
540- }
540+ const chatFileExists = fs.existsSync(filePath);
541+
542+ if (!chatFileExists) {
543+ console.error(`Chat file not found '${filePath}'`);
544+ return response.sendStatus(400);
545+ }
541546
542547 fs.unlinkSync(filePath);
543548 console.info(`Deleted chat file: ${filePath}`);
544549 return response.send('ok');
550+ } catch (error) {
551+ console.error(error);
552+ return response.sendStatus(500);
553+ }
545554});
546555
547556router.post('/export', validateAvatarUrlMiddleware, async function (request, response) {