2025-03-10 18:27:35 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
|
|
class ProcessSubmissionExpiredJob
|
|
|
|
|
include Sidekiq::Job
|
|
|
|
|
|
|
|
|
|
def perform(params = {})
|
2025-12-03 13:20:52 +02:00
|
|
|
submission = Submission.find_by(id: params['submission_id'])
|
|
|
|
|
|
|
|
|
|
return unless submission
|
2025-03-10 18:27:35 +02:00
|
|
|
|
|
|
|
|
return if submission.archived_at?
|
2025-05-31 15:15:25 +03:00
|
|
|
return if submission.template&.archived_at?
|
2025-03-10 18:27:35 +02:00
|
|
|
return if submission.submitters.where.not(declined_at: nil).exists?
|
2026-07-01 21:50:12 +03:00
|
|
|
return if submission.completed_at?
|
2026-07-08 10:20:42 +03:00
|
|
|
return if params['expire_at'] && submission.expire_at&.to_i != params['expire_at']
|
2025-03-10 18:27:35 +02:00
|
|
|
|
2025-07-04 21:11:08 +03:00
|
|
|
WebhookUrls.enqueue_events(submission, 'submission.expired')
|
2025-03-10 18:27:35 +02:00
|
|
|
end
|
|
|
|
|
end
|