forked from Gitlink/forgeplus
33 lines
753 B
Ruby
33 lines
753 B
Ruby
class Ci::Builds::ListQuery < ApplicationQuery
|
|
include CustomSortable
|
|
|
|
attr_reader :params
|
|
|
|
sort_columns :build_created, default_by: :build_created, default_direction: :desc
|
|
|
|
def initialize(repo, params)
|
|
@repo = repo
|
|
@params = params
|
|
end
|
|
|
|
def call
|
|
scope = @repo.builds
|
|
|
|
builds =
|
|
case params[:search]
|
|
when 'success' then scope.successed
|
|
when 'pending' then scope.pending
|
|
when 'error' then scope.errored
|
|
when 'running' then scope.running
|
|
when 'failure' then scope.failed
|
|
when 'killed' then scope.killed
|
|
else
|
|
scope
|
|
end
|
|
|
|
builds = builds.by_branch(params[:branch]) if params[:branch]
|
|
|
|
custom_sort(builds, params[:sort_by], params[:sort_direction])
|
|
end
|
|
end
|