Because:
* We want to unify on frameworks for our new backend apps.
This commit:
* Refactors/converts the app to use NestJS and splits up business logic
to avoid difficult to test large functions.
Closes#6261
auth server:
- created simplified endpoint to return only the data needed for the support panel
- included past plan information from subscription metadata
support panel:
- added past plan information to subscription data displayed
Because:
- when we introduce the ability to upgrade/downgrade subscriptions, we want to ensure that our support team is aware of plan changes to allow for a better customer experience
fixes#5242
Because
- with the introduction of longer duration subscriptions, the current plan_name string is no longer applicable. Instead of using this custom formatted name, we will use the product_name along with plan billing data (interval + interval_count)
fixes#4693
This patch URI encodes the email address of the FxA user for whom the
support panel is fetching a list of subscriptions from the auth server.
Previously the request fails when the email address contains a '+'.
This patch displays all the available geo info from a user's session
token meta data in Support Panel. A new route is added to auth server
to support this feature.
This patch removes the support panel's dependency on SubHub by fetching
a FxA user's subscriptions from the auth server instead. The requests
are authenticated by a shared secret between the support panel and the
auth server.
Because:
* My JS skills were a bit more newbie when I wrote some of this the
first time leading to some copypasta.
* Optional chaining in Typescript 3.7 is slick.
* esModuleInterop has cleaner imports and is recommended.
* We are removing the use of Bluebird everywhere.
This commit:
* Removes some copypasta for more standard JS idioms.
* Updates all the dependencies as well as TypeScript -> 3.7.
* Refactors imports to use esModuleInterop.
* Drops the Bluebird dependency.