expire at webhook

pull/493/head
Pete Matsyburka 6 months ago
parent 751be1dae5
commit 93ba17f42e

@ -43,9 +43,11 @@ class StartFormController < ApplicationController
if @submitter.save if @submitter.save
if is_new_record if is_new_record
WebhookUrls.for_account_id(@submitter.account_id, 'submission.created').each do |webhook_url| enqueue_submission_create_webhooks(@submitter)
SendSubmissionCreatedWebhookRequestJob.perform_async('submission_id' => @submitter.submission_id,
'webhook_url_id' => webhook_url.id) if @submitter.submission.expire_at?
ProcessSubmissionExpiredJob.perform_at(@submitter.submission.expire_at,
'submission_id' => @submitter.submission_id)
end end
end end
@ -64,6 +66,13 @@ class StartFormController < ApplicationController
private private
def enqueue_submission_create_webhooks(submitter)
WebhookUrls.for_account_id(submitter.account_id, 'submission.created').each do |webhook_url|
SendSubmissionCreatedWebhookRequestJob.perform_async('submission_id' => submitter.submission_id,
'webhook_url_id' => webhook_url.id)
end
end
def find_or_initialize_submitter(template, submitter_params) def find_or_initialize_submitter(template, submitter_params)
Submitter.where(submission: template.submissions.where(expire_at: Time.current..) Submitter.where(submission: template.submissions.where(expire_at: Time.current..)
.or(template.submissions.where(expire_at: nil)).where(archived_at: nil)) .or(template.submissions.where(expire_at: nil)).where(archived_at: nil))

@ -74,7 +74,13 @@ module Submissions
preferences:, preferences:,
sent_at: mark_as_sent ? Time.current : nil) sent_at: mark_as_sent ? Time.current : nil)
submission.tap(&:save!) submission.save!
if submission.expire_at?
ProcessSubmissionExpiredJob.perform_at(submission.expire_at, 'submission_id' => submission.id)
end
submission
end end
end end

Loading…
Cancel
Save