Refactor business logic out of the welcome controller and into service layer

Currently the ee/app/controllers/registrations/welcome_controller.rb contains a lot of business logic still, which isn't ideal and makes it hard to reason about the controller layer.

Things like:

  • iterable initiation/execution
  • successful_update_hooks
  • parsed_opt_in
  • track_joining_a_project_event

etc - can all be things added into the service layer in ::Users::SignupService perhaps or in a renamed-under-onboarding version of that service.

There are a lot of things being moved around in &11768 (closed), so I've made it blocked by #453979 (closed) for now.

Implementation

Edited by Doug Stull