diff options
author | Alessandro Desantis <desa.alessandro@gmail.com> | 2020-11-19 13:13:46 +0100 |
---|---|---|
committer | Alessandro Desantis <desa.alessandro@gmail.com> | 2021-01-20 10:46:01 +0100 |
commit | 5081ffc17562fa90edf0f2a8dfa0d03991480362 (patch) | |
tree | c0933ca52e80bf93b73e7387d5eee1b830a8099b /db/migrate | |
parent | 69f0ca038b66d0ca36971405e51c0d3aa916cf19 (diff) |
Streamline and simplify `SolidusSubscriptions::Processor`
The processor was way too complicated, taking on too many responsibilities.
As a result, it was complex to reason about and it was a very brittle part
of the extension.
The new processor simply does two things: it finds all actionable
subscriptions and ensures to take the appropriate action on them (e.g.,
cancel, deactivate), including creating the new installment for later.
Then, it finds all the actionable installments (including the ones that
were just created), and schedules them for asynchronous processing.
One side effect of this refactoring is that installments are not grouped
by address and payment method/source anymore: each installment will always
correspond to a new order. Any logistics-related optimizations should be
implemented by the individual store.
Diffstat (limited to 'db/migrate')
0 files changed, 0 insertions, 0 deletions