X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3f0ec839af28e56eb94bc9507ab59df1e670e59f..eead78e2eb11528af8cb862dcb6f9a41737a8a14:/services/api/app/controllers/arvados/v1/groups_controller.rb diff --git a/services/api/app/controllers/arvados/v1/groups_controller.rb b/services/api/app/controllers/arvados/v1/groups_controller.rb index fc80a652dc..ec3b69ab05 100644 --- a/services/api/app/controllers/arvados/v1/groups_controller.rb +++ b/services/api/app/controllers/arvados/v1/groups_controller.rb @@ -1,4 +1,20 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + +require "trashable" + class Arvados::V1::GroupsController < ApplicationController + include TrashableController + + def self._index_requires_parameters + (super rescue {}). + merge({ + include_trash: { + type: 'boolean', required: false, description: "Include items whose is_trashed attribute is true." + }, + }) + end def self._contents_requires_parameters params = _index_requires_parameters. @@ -147,13 +163,9 @@ class Arvados::V1::GroupsController < ApplicationController end end.compact - if klass == Collection and params[:include_trash] - @objects = klass.unscoped.readable_by(*@read_users). - order(request_order).where(where_conds) - else - @objects = klass.readable_by(*@read_users). - order(request_order).where(where_conds) - end + @objects = klass.readable_by(*@read_users, {:include_trash => params[:include_trash]}). + order(request_order).where(where_conds) + klass_limit = limit_all - all_objects.count @limit = klass_limit apply_where_limit_order_params klass