Skip to content

Commit a8346b1

Browse files
committed
modularize filename modification and handle filenames with no extension
1 parent cb46806 commit a8346b1

File tree

1 file changed

+27
-29
lines changed

1 file changed

+27
-29
lines changed

backend/routes/api/patients.js

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,26 @@ router.delete(
169169
}),
170170
);
171171

172+
const modifyFileName = async (filename, data) => {
173+
var updatedFileName = filename;
174+
var file = '';
175+
var suffix = '';
176+
if (filename.includes('.')) {
177+
file = filename.split('.')[0];
178+
suffix = '.' + filename.split('.')[1];
179+
} else file = filename;
180+
if (data.filter((e) => e.filename === filename).length > 0) {
181+
var numPrev = 1;
182+
while (
183+
data.filter((e) => e.filename === file + '_' + numPrev + suffix)
184+
.length > 0
185+
)
186+
numPrev += 1;
187+
updatedFileName = file + '_' + numPrev + suffix;
188+
}
189+
return updatedFileName;
190+
};
191+
172192
// POST: upload individual files
173193
router.post(
174194
'/:id/files/:stepKey/:fieldKey/:fileName',
@@ -211,35 +231,12 @@ router.post(
211231
if (err) {
212232
res.json(err);
213233
} else {
214-
var updatedFileName = fileName;
215-
if (
216-
stepData[fieldKey].filter(
217-
(e) => e.filename === fileName,
218-
).length > 0
219-
) {
220-
var numPrev = 1;
221-
while (
222-
stepData[fieldKey].filter(
223-
(e) =>
224-
e.filename ===
225-
fileName.split('.')[0] +
226-
'_' +
227-
numPrev +
228-
'.' +
229-
fileName.split('.')[1],
230-
).length > 0
231-
)
232-
numPrev += 1;
233-
updatedFileName =
234-
updatedFileName.split('.')[0] +
235-
'_' +
236-
numPrev +
237-
'.' +
238-
updatedFileName.split('.')[1];
239-
}
240-
234+
const modifiedFileName = await modifyFileName(
235+
fileName,
236+
stepData[fieldKey],
237+
);
241238
stepData[fieldKey].push({
242-
filename: updatedFileName,
239+
filename: modifiedFileName,
243240
uploadedBy: req.user.Username,
244241
uploadDate: Date.now(),
245242
});
@@ -259,13 +256,14 @@ router.post(
259256
success: true,
260257
message: 'File successfully uploaded',
261258
data: {
262-
name: updatedFileName,
259+
name: modifiedFileName,
263260
uploadedBy: req.user.Username,
264261
uploadDate: Date.now(),
265262
mimetype: file.mimetype,
266263
size: file.size,
267264
},
268265
});
266+
/*console.log(res.data)*/
269267
}
270268
},
271269
);

0 commit comments

Comments
 (0)