summaryrefslogtreecommitdiff
path: root/app/services/onboarding_progress_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/onboarding_progress_service.rb')
-rw-r--r--app/services/onboarding_progress_service.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/services/onboarding_progress_service.rb b/app/services/onboarding_progress_service.rb
index 241bd8a01ca..6d44c0a61ea 100644
--- a/app/services/onboarding_progress_service.rb
+++ b/app/services/onboarding_progress_service.rb
@@ -1,6 +1,24 @@
# frozen_string_literal: true
class OnboardingProgressService
+ class Async
+ attr_reader :namespace_id
+
+ def initialize(namespace_id)
+ @namespace_id = namespace_id
+ end
+
+ def execute(action:)
+ return unless OnboardingProgress.not_completed?(namespace_id, action)
+
+ Namespaces::OnboardingProgressWorker.perform_async(namespace_id, action)
+ end
+ end
+
+ def self.async(namespace_id)
+ Async.new(namespace_id)
+ end
+
def initialize(namespace)
@namespace = namespace&.root_ancestor
end