Remove Customer dependency from Subscription model
Problem
The Subscription
model is a wrapper model around a Zuora::Subscription
. A Customer
object is required when instantiating a Subscription
object (see definition). In most places as it relates the model, the Customer
object is used as a way to reference the zuora_account_id
. There are some exceptions to this rule though (example1, example2).
We've seen where dependence on Customer records can be problematic (https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/3837, #2880 (closed)). We should look into removing this dependency in Subscription which will help to simplify logic in this model, and also hopefully resolve some data inconsistency problems.
Proposal
Remove Customer
as a dependency when initializing a Subscription
object.