From 1baadb52c16c2d173a08845004cc33278e041c15 Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Tue, 6 Oct 2020 13:04:09 -0300 Subject: [PATCH] 16718: Adds 'include_old_versions' param to groups#content. Also, adds missing documentation on 'include_trash' param. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- doc/api/methods/groups.html.textile.liquid | 2 ++ .../app/controllers/arvados/v1/groups_controller.rb | 11 ++++++++--- .../functional/arvados/v1/schema_controller_test.rb | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/doc/api/methods/groups.html.textile.liquid b/doc/api/methods/groups.html.textile.liquid index 2653cccd5d..f85e621db4 100644 --- a/doc/api/methods/groups.html.textile.liquid +++ b/doc/api/methods/groups.html.textile.liquid @@ -55,6 +55,8 @@ table(table table-bordered table-condensed). |recursive|boolean (default false)|Include items owned by subprojects.|query|@true@| |exclude_home_project|boolean (default false)|Only return items which are visible to the user but not accessible within the user's home project. Use this to get a list of items that are shared with the user. Uses the logic described under the "shared" endpoint.|query|@true@| |include|string|If provided with the value "owner_uuid", this will return owner objects in the "included" field of the response.|query|| +|include_trash|boolean (default false)|Include trashed objects.|query|@true@| +|include_old_versions|boolean (default false)|Include past versions of the collections being listed.|query|@true@| Notes: diff --git a/services/api/app/controllers/arvados/v1/groups_controller.rb b/services/api/app/controllers/arvados/v1/groups_controller.rb index 46d3a75a3a..56ad2026bf 100644 --- a/services/api/app/controllers/arvados/v1/groups_controller.rb +++ b/services/api/app/controllers/arvados/v1/groups_controller.rb @@ -38,7 +38,10 @@ class Arvados::V1::GroupsController < ApplicationController type: 'boolean', required: false, description: 'Include contents from child groups recursively.' }, include: { - type: 'string', required: false, description: 'Include objects referred to by listed field in "included" (only owner_uuid)' + type: 'string', required: false, description: 'Include objects referred to by listed field in "included" (only owner_uuid).' + }, + include_old_versions: { + type: 'boolean', required: false, description: 'Include past collection versions.' } }) params.delete(:select) @@ -283,8 +286,10 @@ class Arvados::V1::GroupsController < ApplicationController end end.compact - @objects = klass.readable_by(*@read_users, {:include_trash => params[:include_trash]}). - order(request_order).where(where_conds) + @objects = klass.readable_by(*@read_users, { + :include_trash => params[:include_trash], + :include_old_versions => params[:include_old_versions] + }).order(request_order).where(where_conds) if params['exclude_home_project'] @objects = exclude_home @objects, klass diff --git a/services/api/test/functional/arvados/v1/schema_controller_test.rb b/services/api/test/functional/arvados/v1/schema_controller_test.rb index 764f3a8d1d..89feecb454 100644 --- a/services/api/test/functional/arvados/v1/schema_controller_test.rb +++ b/services/api/test/functional/arvados/v1/schema_controller_test.rb @@ -84,7 +84,7 @@ class Arvados::V1::SchemaControllerTest < ActionController::TestCase group_index_params = discovery_doc['resources']['groups']['methods']['index']['parameters'] group_contents_params = discovery_doc['resources']['groups']['methods']['contents']['parameters'] - assert_equal group_contents_params.keys.sort, (group_index_params.keys - ['select'] + ['uuid', 'recursive', 'include']).sort + assert_equal group_contents_params.keys.sort, (group_index_params.keys - ['select'] + ['uuid', 'recursive', 'include', 'include_old_versions']).sort recursive_param = group_contents_params['recursive'] assert_equal 'boolean', recursive_param['type'] -- 2.30.2