Skip to content

add multi-file uploads with auto-detection of the source tool#1570

Open
MattBudz wants to merge 3 commits into
developfrom
uploads/support-multi-file-bulk-upload
Open

add multi-file uploads with auto-detection of the source tool#1570
MattBudz wants to merge 3 commits into
developfrom
uploads/support-multi-file-bulk-upload

Conversation

@MattBudz

Copy link
Copy Markdown
Contributor

This is a proof of concept for the multi-file smart upload feature.

Summary

Replaces the single-file upload form with a multi-file staging UI that auto-detects the source tool for each file before uploading.

  • Drop zone accepts multiple files at once (or click to browse)
  • Each file gets its own row with a tool dropdown pre-populated via client-side detection
  • Files are uploaded in parallel with per-row progress bars
  • A "View console" button opens a live-polling modal per file showing background job output
  • Status updates to "Done!" when the background job finishes
  • The detector registry (upload_detector_registry) is a thin JS module that importer gems contribute to via importmap side-effects

Requires dradis/dradis-qualys#73 and dradis/dradis-nessus#79 for Qualys and Nessus auto-detection respectively. Any importer gem can add its own detector by implementing upload_detectors on the engine and contributing a JS detector module.

Check List

  • Added a CHANGELOG entry
  • Added specs

Replaces the single-file form with a drop zone that accepts N files at
once. Each file gets its own row; client-side detector modules identify
the tool automatically so users never have to pick it from a list.
Parallel POSTs fan out to N UploadJobs. Per-row progress bars and
console modals replace the old page-global console.

CE learns nothing about specific tool formats: all detection logic
travels through the engine .upload_detectors class method + importmap
contribution pattern introduced in the Qualys gem.
Rewrites the upload feature spec to use the new drop-zone UI and adds
scenarios for row management and the Upload button's ready state.
Adds a request spec verifying the JSON response shape for POST /upload.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant