The lab needs a file-transfer widget to support app development. It should have the ability to:
- Interface with Dropbox (i.e., transfer user-specified files to the server).
- Interface with Google drive.
- Interface with OneDrive.
- Interface with Box.
- Upload files directly from the hard drive, using this very nice bootstrap plugin.
Each of these systems should be accessible through the same functions. So, for example, to identify a file I would always call the same TypeScript function, which would accept as one of its parameters which external file system to use (e.g., fileSystem = “DROPBOX”).
Here are the functions needed:
- Authenticate the user.
- Allow the user to specify which external file to transfer.
- Transfer the file from the remote system.
- Upload a file to the remote system.
- List the files on a remote drive.
- Delete/move remote files.
There are published packages that can do this, but as best I can tell they have some limitations:
- Dependency on external servers via REST API (which may or may not be here 5 years from now).
- Require a subscription.
It would be good to investigate before starting to make sure there isn’t suitable code already published.
I imagine this project will be publicly available and open sourced.