@@ -523,38 +523,15 @@ class Files @Inject()(
523523 /**
524524 * Upload a file to a specific dataset
525525 */
526- def uploadToDataset (dataset_id : UUID , showPreviews : String = " DatasetLevel" , originalZipFile : String = " " , flagsFromPrevious : String = " " , extract : Boolean = true , folder_id : Option [UUID ]) = PermissionAction (Permission .AddResourceToDataset , Some (ResourceRef (ResourceRef .dataset, dataset_id)))(parse.multipartFormData) { implicit request =>
526+ def uploadToDataset (dataset_id : UUID , showPreviews : String = " DatasetLevel" , originalZipFile : String = " " , flagsFromPrevious : String = " " , extract : Boolean = true , folder_id : Option [UUID ]) = PermissionAction (Permission .AddResourceToDataset , Some (ResourceRef (ResourceRef .dataset, dataset_id)))(parse.multipartFormData) { implicit request =>
527527 datasets.get(dataset_id) match {
528528 case Some (dataset) => {
529- folder_id match {
530- case Some (id) => {
531- folders.get(id) match {
532- case Some (folder) => {
533- val uploadedFiles = FileUtils .uploadFilesMultipart(request, Some (dataset),Some (folder), showPreviews = showPreviews, originalZipFile = originalZipFile, flagsFromPrevious = flagsFromPrevious, runExtractors = extract, apiKey = request.apiKey)
534- uploadedFiles.length match {
535- case 0 => BadRequest (" No files uploaded" )
536- case 1 => Ok (Json .obj(" id" -> uploadedFiles.head.id))
537- case _ => Ok (Json .obj(" ids" -> uploadedFiles.toList))
538- }
539- }
540- case None => {
541- val uploadedFiles = FileUtils .uploadFilesMultipart(request, Some (dataset), showPreviews = showPreviews, originalZipFile = originalZipFile, flagsFromPrevious = flagsFromPrevious, runExtractors = extract, apiKey = request.apiKey)
542- uploadedFiles.length match {
543- case 0 => BadRequest (" No files uploaded" )
544- case 1 => Ok (Json .obj(" id" -> uploadedFiles.head.id))
545- case _ => Ok (Json .obj(" ids" -> uploadedFiles.toList))
546- }
547- }
548- }
549- }
550- case None => {
551- val uploadedFiles = FileUtils .uploadFilesMultipart(request, Some (dataset), showPreviews = showPreviews, originalZipFile = originalZipFile, flagsFromPrevious = flagsFromPrevious, runExtractors = extract, apiKey = request.apiKey)
552- uploadedFiles.length match {
553- case 0 => BadRequest (" No files uploaded" )
554- case 1 => Ok (Json .obj(" id" -> uploadedFiles.head.id))
555- case _ => Ok (Json .obj(" ids" -> uploadedFiles.toList))
556- }
557- }
529+ val folder = folder_id.flatMap(x => folders.get(x))
530+ val uploadedFiles = FileUtils .uploadFilesMultipart(request, Some (dataset), folder, showPreviews = showPreviews, originalZipFile = originalZipFile, flagsFromPrevious = flagsFromPrevious, runExtractors = extract, apiKey = request.apiKey)
531+ uploadedFiles.length match {
532+ case 0 => BadRequest (" No files uploaded" )
533+ case 1 => Ok (Json .obj(" id" -> uploadedFiles.head.id))
534+ case _ => Ok (Json .obj(" ids" -> uploadedFiles.toList))
558535 }
559536 }
560537 case None => {
0 commit comments