mongodbup
Version:
A nodejs application to run mongoDb update scripts
43 lines (31 loc) • 1.26 kB
text/coffeescript
_ = require 'lodash'
messages = require './messages.coffee'
fileUtils = require './file-utils.coffee'
validateScriptFiles = (args) ->
workingDirectory = fileUtils.getWorkingDirectory args
hasReadAccess = fileUtils.hasReadAccess workingDirectory
unless hasReadAccess
console.error messages.ErrorInvalidDirOrPermission
return
files = fileUtils.getFilesInDir workingDirectory
if files.length == 0
console.error messages.ErrorScriptDirectoryIsEmpty
return
scriptFiles = fileUtils.filterToFilesWithExtension files, [ '.coffee', '.js' ]
if scriptFiles.length is 0
console.error messages.ErrorScriptDirectoryHasNoScriptFiles
return
fileNameAndNumericPrefix = fileUtils.extractNumericPrefix scriptFiles, workingDirectory
if fileNameAndNumericPrefix.length is 0
console.error messages.ErrorMissingNumericalPrefix
return
uniquelyNumbered = fileUtils.getUniqueFilePrefixes fileNameAndNumericPrefix
if uniquelyNumbered.length isnt fileNameAndNumericPrefix.length
console.error messages.ErrorNumericalSequenceNotUnique
return
sortedList = fileUtils.sortByPrefix fileNameAndNumericPrefix
return sortedList
validator = {
validateScriptFiles : validateScriptFiles
}
module.exports = validator