Improve complexity of subscription eligibility checks
Problem
The Subscription
model contains methods which do checks if the subscription is eligible for a specific operation (like upgrade, renewal, cancellation, etc.). These method are growing with each new product and other additional restrictions. This increases the complexity of the methods.
Proposal
Evaluate if these methods' complexity can be improved. For example, maybe some conditions could be grouped together into a new method to make the methods easier readable.
Result
More readable code.