This commit adds the bucket delete and bucket policy functionalities
to the browser.
Part of rewriting the browser code to follow best practices and
guidelines of React (issues #5409 and #5410)
The backend code has been modified by @krishnasrinivas to prevent
issue #4498 from occuring. The relevant changes have been made to the
code according to the latest commit and the unit tests in the backend.
This commit also addresses issue #5449.
* conditionally render main action buttons
- Make bucket action will be available only for loggedIn users
- File upload button will be avaialble for loggedIn users
and non-loggedIn users if the prefix is writable
* select the bucket and prefix from the url
When the url contains bucket and prefix, it will be selected
by default instead of the first bucket from the list.
* show BucketSearch only for LoggedIn users
* allow non-LoggedIn users to access public bucket
* removed unused Router imports
* fix test case failures in BucketList.test.js
* remove dupicate minioBrowserPrefix from url
since history is already initialized with minioBrowserPrefix,
no need to use it in push or replace
* remove unused match from App component
* remove unused minioBrowserPrefix imports
* refactor browser links and about modal
Moved about modal to separate component and added unit tests.
* refactor change password modal component
* added unit tests for ChangePasswordModal
* fix logout function in browser dropdown
* remove older unused BrowserDropdown component
* remove unused variables from BrowserDropdown component
* show BrowserDropdown and StorageInfo only for LoggedIn users
Non-loggedIn users will see a 'Login' button
- upgraded react from v16.2.0
- upgraded react-router to v4.2.0 and re-writen the routes
- using prettier to format the code
- added jest to unit test components/reducers/selectors
This provides a skeleton to start of with. Only basic unit test
cases are added, remaining needs to be added.
In terms of functionality, it provides login, listing and searching
buckets. Remaining functionalities will be added in upcoming patches.
This commit fixes the order of the functions inside the selectPrefix
function due to the fact that, as multiple files were being uploaded,
the resetObjects function (that clears the object list) ran repeatedly
for each of these objects, right before the appendObjects function (that
appends the objects being uploaded to the current list of objects) also
ran for all of these objects. This caused all the objects in the bucket
to be repeated in the list for the number of objects that were dragged
into the dropzone.
This commit takes the existing remove bucket functionality written by
brendanashworth, integrates it to the current UI with a dropdown for
each bucket, and fixes small issues that were present, like the dropdown
not disappearing after the user clicks on 'Delete' for certain buckets.
This feature only deletes a bucket that is empty (that has no objects).
Fixes#4166
This commit fixes an issue where the last item's menu on a list of files
that scrolls gets blocked by the floating add button.
The fix is simply add the same padding that we use for the responsive
view, since it works just fine in responsive.
This commit fixes a potential security issue, whereby a full-access
token to the server would be available in the GET URL of a download
request. This fixes that issue by introducing short-expiry tokens, which
are only valid for one minute, and are regenerated for every download
request.
This commit specifically introduces the short-lived tokens, adds tests
for the tokens, adds an RPC call for generating a token given a
full-access token, updates the browser to use the new tokens for
requests where the token is passed as a GET parameter, and adds some
tests with the new temporary tokens.
Refs: https://github.com/minio/minio/pull/4673
Sending envVars along with access and secret
exposes the entire minio server's sensitive
information. This will be an unexpected
situation for all users.
If at all we need to look for things like if
credentials are set through env, we should
only have access to only this information
not the entire set of system envs.