summaryrefslogtreecommitdiff
path: root/app/models/merge_request/cleanup_schedule.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/merge_request/cleanup_schedule.rb')
-rw-r--r--app/models/merge_request/cleanup_schedule.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/app/models/merge_request/cleanup_schedule.rb b/app/models/merge_request/cleanup_schedule.rb
new file mode 100644
index 00000000000..79817269be2
--- /dev/null
+++ b/app/models/merge_request/cleanup_schedule.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+class MergeRequest::CleanupSchedule < ApplicationRecord
+ belongs_to :merge_request, inverse_of: :cleanup_schedule
+
+ validates :scheduled_at, presence: true
+
+ def self.scheduled_merge_request_ids(limit)
+ where('completed_at IS NULL AND scheduled_at <= NOW()')
+ .order('scheduled_at DESC')
+ .limit(limit)
+ .pluck(:merge_request_id)
+ end
+end