Skip to content

Completely refact the way subscriptions are managed #66

@Aerendir

Description

@Aerendir

Currently all the configured features are created in a subscription.

But this is not flexible as it doesn't permit to add or remove features and their prices.

Instead, we should save in the subscription a snapshot of the current configuration.

This way, when a new feature is added, if it is not present in the subscription, then it is not available to the user.

The problem is with the features that are in the subscription but are not in the configuration anymore: they are subscribed by the user, but in the code we cannot get them as they are not configured anymore (doing something like ->get('ads')->getInstantPrice('EUR', 'monthly') will not work if the feature ads is in the subscription but is not in the configuration).

So, we need to find a way to:

  1. Maintain features in the subscription also if they aren't in the configuration anymore;
  2. Deprecate old features (maybe to rename them)
  3. Create a command to update current subscriptions.

This is linked to:

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions