Merge branch '11510-sdk-extend-files' refs #11510
[arvados.git] / apps / workbench / app / models / arvados_resource_list.rb
index d989715080fd1c244fecf557824a4a0dac883944..27069706fb36e1f5f56b2853ff0b93216e9637ae 100644 (file)
@@ -16,6 +16,11 @@ class ArvadosResourceList
     self
   end
 
+  def distinct(bool=true)
+    @distinct = bool
+    self
+  end
+
   def limit(max_results)
     if not max_results.nil? and not max_results.is_a? Integer
       raise ArgumentError("argument to limit() must be an Integer or nil")
@@ -178,7 +183,11 @@ class ArvadosResourceList
     api_params[:select] = @select if @select
     api_params[:order] = @orderby_spec if @orderby_spec
     api_params[:filters] = @filters if @filters
-
+    api_params[:distinct] = @distinct if @distinct
+    if @fetch_multiple_pages
+      # Default limit to (effectively) api server's MAX_LIMIT
+      api_params[:limit] = 2**(0.size*8 - 1) - 1
+    end
 
     item_count = 0
     offset = @offset || 0