module SidekiqUniqueJobs::Web
def self.registered(app) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
def self.registered(app) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize app.helpers do include Web::Helpers end app.get "/locks" do @filter = params[:filter] || "*" @filter = "*" if @filter == "" @count = (params[:count] || 100).to_i @current_cursor = params[:cursor] @prev_cursor = params[:prev_cursor] @pagination = { pattern: @filter, cursor: @current_cursor, page_size: @count } @total_size, @next_cursor, @locks = digests.page(**@pagination) erb(unique_template(:locks)) end app.get "/locks/delete_all" do digests.delete_by_pattern("*", count: digests.count) redirect_to :locks end app.get "/locks/:digest" do @digest = params[:digest] @lock = SidekiqUniqueJobs::Lock.new(@digest) erb(unique_template(:lock)) end app.get "/locks/:digest/delete" do digests.delete_by_digest(params[:digest]) redirect_to :locks end app.get "/locks/:digest/jobs/:job_id/delete" do @digest = params[:digest] @lock = SidekiqUniqueJobs::Lock.new(@digest) @lock.unlock(params[:job_id]) redirect_to "locks/#{@lock.key}" end end