4464: API group contents no longer include manifests.
authorBrett Smith <brett@curoverse.com>
Thu, 5 Feb 2015 16:58:43 +0000 (11:58 -0500)
committerBrett Smith <brett@curoverse.com>
Mon, 9 Feb 2015 22:09:51 +0000 (17:09 -0500)
commit231242b6378abda494f2c684995519a259cfe174
tree5dcd0108fe0e868a9646908f736a5e68c88765fe
parent1963df31ffb7e95b72e53a0ec5c891f539b6dadb
4464: API group contents no longer include manifests.

This change achieves symmetry with the collections list method, which
doesn't return manifests unless you expressly request them.  We don't
have a good way to support the select parameter in group contents at
all right now, so this commit also makes that clear through the
discovery document, and documents the limitation.  This change should
help avoid performance problems like witnessed in #4464.

Some refactoring/clean-up to help support this change:

* Extract out a method that generates the full hash response to list
  @objects.  Reuse that code in the groups contents method.
* The collections controller had code to generate a list of a model's
  selectable attributes.  Move that to ArvadosModel and reuse it in
  the groups contents method.
* Make signatures consistent across all definitions of apply_filters
  and apply_where_limit_order_params.  The latter simply passes
  arguments to the former, so it can have the same signature, and it
  should respect the provided model_class argument the same way.  Same
  for the override in the users controller.
doc/api/methods/groups.html.textile.liquid
services/api/app/controllers/application_controller.rb
services/api/app/controllers/arvados/v1/collections_controller.rb
services/api/app/controllers/arvados/v1/groups_controller.rb
services/api/app/controllers/arvados/v1/users_controller.rb
services/api/app/models/arvados_model.rb
services/api/test/functional/arvados/v1/groups_controller_test.rb
services/api/test/unit/arvados_model_test.rb