@@ -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
173193router . 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