-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Download end point refactor #1547
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Just minor code improvements and a question.
Changes applied @korgan00 , thank you so much! Feel free to take a last view tomorrow morning and if you see everything fine feel free to merge it yourself 😄 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, two minor comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Co-authored-by: Goyo <[email protected]>
* Create services storage script * Files list end point refactor (#1529) * First refactorization for files * Completed use cases for list end-point * Renamed storage to file_storage * Migrated files to file_storage * Migrated get files to the new service * Check if function exists first * Separated end-points to the new provider * Improved tests * Restore original fixtures * Solved the problem with the external if * Added Literal type in the FileStorage service * functions methods refactorization * use self.username instead of the variable * run path sanitization only one time * function title is mandatory for file storage * fix black * Updated 403 by 404 * Updated swagger for list * Makes use of enum with integers * use is instead of equals * unify path build * get_function refactor * Add support new files (#1546) * new list files for the gateway refactor * unify files url * remove enum and linter * remove provider parameter * Check provider * Download end point refactor (#1547) * refactor of download end-points * additional test to check non existing file * renamed files test to v1_files * added additional checks for the query * included the checks in the list end-point * include swagger documentation updated * remove unneeded try except * make use of regex instead of a manual parsing * check not all instead of None * rename file_extension_is_valid * Update gateway/api/utils.py Co-authored-by: Goyo <[email protected]> --------- Co-authored-by: Goyo <[email protected]> * add support to new download files endpoints (#1550) * Gateway/delete end point (#1554) * add support to new delete files endpoints * fix get parameter * fix tests * delete programDelete fixture * update file_storage/remove_file description * Upload end point (#1555) * Update upload end-point * removed unused imports * updated comment in upload end-point * remove file extension limitation from files (#1559) * Client - files upload refactor (#1557) * add support to new upload file endpoints * replace data with params * Client - files delete refactor (#1556) * add support to new delete files endpoints * fix get parameter * fix tests * adapt files delete to the refactor * replace data with params * remove not used fixture * Integration tests fix (#1561) * add support to new delete files endpoints * fix get parameter * fix tests * adapt files delete to the refactor * replace data with params * remove not used fixture * tests fixed * fix client integration * fix context manager in files when download * added a new test for provider end-points * fix black * migrated old tests * Update gateway/api/services/file_storage.py Co-authored-by: Goyo <[email protected]> * remove additional line --------- Co-authored-by: David <[email protected]> * Trace decorator (#1553) * create a trace decorator * fix decorator * change documentation --------- Co-authored-by: David <[email protected]> * Files refactor to include repositories logic (#1560) * remove unneeded provider methods * create access policies file * refactor get_functions repository method * refactor groups and repositories * repository refactor from files * fix some linter problems * fixed a bug when the user retrieves a function * fix lint * refactor of get_function method * remove artifact test file * remove programs access policies * refactor programs references to functions * group repository refactor * rename groups repository into user repository * simplified get_function methods * fix query * adapt get_functions methods * updated comments * create path if doesn't exist * remove some unused code * fix files client * fix typos * fixed the creation of the directory * added a test for the provider end-points * fix some typos from the provider end-points * fix black on tests * files documentation updated (#1565) * Refactor storage in scheduler (#1563) * refactor storage in scheduler * fix typo in ray template * remove unused node_image * use sub-paths for the cluster template * storage absolute path refactor * docstrings updated in the client --------- Co-authored-by: Goyo <[email protected]>
Summary
Following the work done in #1529 this PR refactors the
download
end-point. The process followed was very similar:This PR enables
files/download
andfiles/provider/download
end-points to be able to download the files from the user and provider directory.Details and comments
files/download
end-point was separated in two:files/download
now contains the paths:username/
andusername/provider/function
. Following the previous development, with the purpose to separate files to be downloaded from functions from the user's root folder.files/provider/download
to manage the pathprovider/function
so now each function will have its own folder in the provider directory to download the files.