fixes https://github.com/TryGhost/Team/issues/2607
When a free trial converts to a paid subscription, and increases the MRR, it just creates a 'updated' paid subscription event.
To fix this, we need to count updated events that didn't change plan but do have a positive MRR. As an extension we could also check if the MRR change matches the expected MRR for the corresponsing Stripe plan, but that requires a more complex condition check (because for yearly subscriptions we need to convert to monthly), I don't think that is required here.
fixes https://github.com/TryGhost/Team/issues/2644
A 3D secure payment first has a status of incomplete, then active.
With the current logic, this creates 2 MemberPaidSubscriptionEvents:
- `created` with mrr_delta of 0
- `active` with mrr_delta of 5
We need to also count 'active' events. And to complement that, also 'inactive' events to make sure we balance out in rare cases.
We're planning to change this from a warning to an error and need to
clean the codebase up before we do so.
In all of these cases the shadowing was known about and was not
causing unexpected behaviour, so the refactor consists entirely of
renaming, rather than refactoring/bug fixes.
refs https://github.com/TryGhost/Team/issues/1939
- changes empty referrer source to null instead of explicit `Unavailable` in API
- makes it easier for clients/frontend to ignore empty referrers
closes https://github.com/TryGhost/Team/issues/1942
- Added data fixtures for referrers
- Added new endpoint to fetch referrer stats for a given post: `/stats/referrers/posts/:id`
- Added new ReferrersStatsService, responsible for calculating referrer stats
- LICENSE is no longer needed as this is an unpublished package in the
monorepo
- the README has been cut down to reflect the fact that it's unpublished
- added `private: true` to package.json config
refs https://github.com/TryGhost/Team/issues/1673
- We don't want to show updated subscriptions in the dashboard
- We need to send add fields to accomplish this
- Includes updated tests
As these are dates we have no need for the timestamp at the end of them,
formatting as ISO8601 works with the rest of our system correctly, for
example in the client where we populate missing dates
refs https://github.com/TryGhost/Team/issues/1466
We need to include an exhaustive list of tiers and cadences in the
metadata so that clients knows which data to expect, as we have multiple
rows for a single date, broken down by tier/cadence.
We also include the totals broken down by tier/cadence for use with the
paid mix chart.