@@ -9,6 +9,7 @@ var MongoClient = require('mongodb').MongoClient;
99
1010// regex that matches old legacy Parse hosted files
1111var legacyFilesPrefixRegex = new RegExp ( "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}-" ) ;
12+ var migratedFilePrefix = 'mfp_' ;
1213
1314var db , config ;
1415
@@ -102,18 +103,28 @@ function _requestErrorHandler(error, response) {
102103 * @return {String }
103104 */
104105function _nonParseFileName ( fileName ) {
106+ function _createNewFileName ( fileName ) {
107+ if ( ! config . renameFiles ) {
108+ function _nonParseFileName ( fileName ) {
105109
106110 // Don't change name.
107111 return fileName ;
108112
109- if ( fileName . indexOf ( 'tfss-' ) === 0 ) {
110- return fileName . replace ( 'tfss-' , '' ) ;
111- } else if ( legacyFilesPrefixRegex . test ( fileName ) ) {
112- var newPrefix = crypto . randomBytes ( 32 / 2 ) . toString ( 'hex' ) ;
113- return newPrefix + fileName . replace ( legacyFilesPrefixRegex , '' ) ;
114- } else {
115113 return fileName ;
116114 }
115+ if ( _isParseHostedFile ( fileName ) ) {
116+ fileName = fileName . replace ( 'tfss-' , '' ) ;
117+ var newPrefix = crypto . randomBytes ( 32 / 2 ) . toString ( 'hex' ) ;
118+ fileName = newPrefix + fileName . replace ( legacyFilesPrefixRegex , '' ) ;
119+ }
120+ return migratedFilePrefix + fileName ;
121+ }
122+
123+ function _isParseHostedFile ( fileName ) {
124+ if ( fileName . indexOf ( 'tfss-' ) === 0 || legacyFilesPrefixRegex . test ( fileName ) ) {
125+ return true ;
126+ }
127+ return false ;
117128}
118129
119130/**
@@ -127,7 +138,7 @@ function _processFiles(files, handler) {
127138 return new Promise ( function ( resolve , reject ) {
128139 async . eachOfLimit ( files , asyncLimit , function ( file , index , callback ) {
129140 process . stdout . write ( 'Processing ' + ( index + 1 ) + '/' + files . length + '\r' ) ;
130- file . newFileName = _nonParseFileName ( file . fileName ) ;
141+ file . newFileName = _createNewFileName ( file . fileName ) ;
131142 if ( _shouldTransferFile ( file ) ) {
132143 _transferFile ( file ) . then ( callback , callback ) ;
133144 } else {
@@ -175,12 +186,12 @@ function _shouldTransferFile(file) {
175186 return true ;
176187 } else if (
177188 config . filesToTransfer == 'parseOnly' &&
178- file . fileName != file . newFileName
189+ _isParseHostedFile ( file . fileName )
179190 ) {
180191 return true ;
181192 } else if (
182193 config . filesToTransfer == 'parseServerOnly' &&
183- file . fileName == file . newFileName
194+ ! _isParseHostedFile ( file . fileName )
184195 ) {
185196 return true ;
186197 }
0 commit comments