@@ -8,6 +8,7 @@ var MongoClient = require('mongodb').MongoClient;
88
99// regex that matches old legacy Parse hosted files
1010var 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}-" ) ;
11+ var migratedFilePrefix = 'mfp_' ;
1112
1213var db , config ;
1314
@@ -90,15 +91,23 @@ function _requestErrorHandler(error, response) {
9091 * @param {String } fileName
9192 * @return {String }
9293 */
93- function _nonParseFileName ( fileName ) {
94- if ( fileName . indexOf ( 'tfss-' ) === 0 ) {
95- return fileName . replace ( 'tfss-' , '' ) ;
96- } else if ( legacyFilesPrefixRegex . test ( fileName ) ) {
97- var newPrefix = crypto . randomBytes ( 32 / 2 ) . toString ( 'hex' ) ;
98- return newPrefix + fileName . replace ( legacyFilesPrefixRegex , '' ) ;
99- } else {
94+ function _createNewFileName ( fileName ) {
95+ if ( ! config . renameFiles ) {
10096 return fileName ;
10197 }
98+ if ( _isParseHostedFile ( fileName ) ) {
99+ fileName = fileName . replace ( 'tfss-' , '' ) ;
100+ var newPrefix = crypto . randomBytes ( 32 / 2 ) . toString ( 'hex' ) ;
101+ fileName = newPrefix + fileName . replace ( legacyFilesPrefixRegex , '' ) ;
102+ }
103+ return migratedFilePrefix + fileName ;
104+ }
105+
106+ function _isParseHostedFile ( fileName ) {
107+ if ( fileName . indexOf ( 'tfss-' ) === 0 || legacyFilesPrefixRegex . test ( fileName ) ) {
108+ return true ;
109+ }
110+ return false ;
102111}
103112
104113/**
@@ -112,7 +121,7 @@ function _processFiles(files, handler) {
112121 return new Promise ( function ( resolve , reject ) {
113122 async . eachOfLimit ( files , asyncLimit , function ( file , index , callback ) {
114123 process . stdout . write ( 'Processing ' + ( index + 1 ) + '/' + files . length + '\r' ) ;
115- file . newFileName = _nonParseFileName ( file . fileName ) ;
124+ file . newFileName = _createNewFileName ( file . fileName ) ;
116125 if ( _shouldTransferFile ( file ) ) {
117126 _transferFile ( file ) . then ( callback , callback ) ;
118127 } else {
@@ -160,12 +169,12 @@ function _shouldTransferFile(file) {
160169 return true ;
161170 } else if (
162171 config . filesToTransfer == 'parseOnly' &&
163- file . fileName != file . newFileName
172+ _isParseHostedFile ( file . fileName )
164173 ) {
165174 return true ;
166175 } else if (
167176 config . filesToTransfer == 'parseServerOnly' &&
168- file . fileName == file . newFileName
177+ ! _isParseHostedFile ( file . fileName )
169178 ) {
170179 return true ;
171180 }
0 commit comments