diff options
Diffstat (limited to 'app/finders/bulk_imports/imports_finder.rb')
-rw-r--r-- | app/finders/bulk_imports/imports_finder.rb | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/app/finders/bulk_imports/imports_finder.rb b/app/finders/bulk_imports/imports_finder.rb index b554bbfa5e7..d682080576f 100644 --- a/app/finders/bulk_imports/imports_finder.rb +++ b/app/finders/bulk_imports/imports_finder.rb @@ -2,13 +2,14 @@ module BulkImports class ImportsFinder - def initialize(user:, status: nil) + def initialize(user:, params: {}) @user = user - @status = status + @params = params end def execute - filter_by_status(user.bulk_imports) + imports = filter_by_status(user.bulk_imports) + sort(imports) end private @@ -16,9 +17,15 @@ module BulkImports attr_reader :user, :status def filter_by_status(imports) - return imports unless BulkImport.all_human_statuses.include?(status) + return imports unless BulkImport.all_human_statuses.include?(@params[:status]) - imports.with_status(status) + imports.with_status(@params[:status]) + end + + def sort(imports) + return imports unless @params[:sort] + + imports.order_by_created_at(@params[:sort]) end end end |